--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998 +++ gcc/config/i386/freebsd.h Wed Oct 7 17:06:41 1998 @@ -99,19 +99,18 @@ /* Profiling routines, partially copied from i386/osfrose.h. */ -/* Redefine this to use %eax instead of %edx. */ +/* Tell final.c that we don't need a label passed to mcount. */ +#define NO_PROFILE_DATA + #undef FUNCTION_PROFILER #define FUNCTION_PROFILER(FILE, LABELNO) \ { \ if (flag_pic) \ { \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%eax\n", \ - LPREFIX, (LABELNO)); \ fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ } \ else \ { \ - fprintf (FILE, "\tmovl $%sP%d,%%eax\n", LPREFIX, (LABELNO)); \ fprintf (FILE, "\tcall mcount\n"); \ } \ } @@ -129,6 +128,7 @@ #define TYPE_ASM_OP ".type" #define SIZE_ASM_OP ".size" +#define SET_ASM_OP ".set" /* The following macro defines the format used to output the second operand of the .type assembler directive. Different svr4 assemblers @@ -138,6 +138,12 @@ #define TYPE_OPERAND_FMT "@%s" +#define HANDLE_SYSV_PRAGMA 1 + +#define ASM_WEAKEN_LABEL(FILE,NAME) \ + do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ + fputc ('\n', FILE); } while (0) + /* Write the extra assembler code needed to declare a function's result. Most svr4 assemblers don't require any special declaration of the result value, but there are exceptions. */ @@ -239,6 +245,8 @@ #define STARTFILE_SPEC \ "%{shared:c++rt0.o%s} \ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}" + +#define MD_STARTFILE_PREFIX "/usr/lib/aout/" /* This is defined when gcc is compiled in the BSD-directory-tree, and must * make up for the gap to all the stuff done in the GNU-makefiles.