diff options
Diffstat (limited to 'lang/gcc41/files/patch-af')
-rw-r--r-- | lang/gcc41/files/patch-af | 109 |
1 files changed, 38 insertions, 71 deletions
diff --git a/lang/gcc41/files/patch-af b/lang/gcc41/files/patch-af index 2e918ac92f9a..ea62731fd980 100644 --- a/lang/gcc41/files/patch-af +++ b/lang/gcc41/files/patch-af @@ -1,6 +1,6 @@ ---- gcc/config/i386/freebsd.h.orig Thu Jun 3 16:18:41 1999 -+++ gcc/config/i386/freebsd.h Mon Jun 14 19:19:42 1999 -@@ -135,22 +135,19 @@ +--- gcc/config/i386/freebsd.h.orig Mon Jun 14 17:58:11 1999 ++++ gcc/config/i386/freebsd.h Mon Jun 21 05:18:57 1999 +@@ -135,23 +135,16 @@ : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \ : (-1)) @@ -13,21 +13,22 @@ #define FUNCTION_PROFILER(FILE, LABELNO) \ { \ if (flag_pic) \ - { \ +- { \ - fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%edx\n", \ - LPREFIX, (LABELNO)); \ - fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ +- } \ + fprintf (FILE, "\tcall *.mcount@GOT(%%ebx)\n"); \ - } \ else \ - { \ +- { \ - fprintf (FILE, "\tmovl $%sP%d,%%edx\n", LPREFIX, (LABELNO)); \ - fprintf (FILE, "\tcall mcount\n"); \ +- } \ + fprintf (FILE, "\tcall .mcount\n"); \ - } \ } -@@ -170,10 +167,30 @@ + #undef SIZE_TYPE +@@ -170,10 +163,30 @@ #define WCHAR_TYPE_SIZE BITS_PER_WORD #undef CPP_PREDEFINES @@ -60,72 +61,38 @@ /* This defines which switch letters take arguments. On FreeBSD, most of the normal cases (defined in gcc.c) apply, and we also have -h* and -@@ -210,23 +227,6 @@ - #define ENDFILE_SPEC \ - "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" - -- --#undef LIB_SPEC --#if 1 --/* We no longer link with libc_p.a or libg.a by default. If you -- * want to profile or debug the C library, please add -- * -lc_p or -ggdb to LDFLAGS at the link time, respectively. -- */ --#define LIB_SPEC \ -- "%{!shared: %{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} \ -- %{!ggdb:-lc} %{ggdb:-lg}}" --#else --#define LIB_SPEC \ +@@ -194,11 +207,11 @@ + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ - "%{!shared: \ -- %{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \ -- %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}}" --#endif -- - /* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support - for the special GCC options -static and -shared, which allow us to - link things in one of these three modes by applying the appropriate -@@ -242,13 +242,24 @@ - done. */ - - #undef LINK_SPEC --#define LINK_SPEC "-m elf_i386 %{shared:-shared} \ -- %{!shared: \ -- %{!ibcs: \ -+#define LINK_SPEC "\ -+ %{p:%e`-p' not supported; use `-pg' and gprof(1)} \ -+ %{v:-V} \ -+ %{maout: %{shared:-Bshareable} \ -+ %{!shared:%{!nostdlib:%{!r:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} \ -+ %{pg:-Bstatic} %{Z}} \ -+ %{assert*} %{R*}} \ -+ %{!maout: \ -+ -m elf_i386 \ -+ %{Wl,*:%*} \ -+ %{assert*} %{R*} %{rpath*} %{defsym*} \ -+ %{shared:-Bshareable %{h*} %{soname*}} \ -+ %{symbolic:-Bsymbolic} \ -+ %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ -- %{static:-Bstatic}}}" -+ %{static:-Bstatic}}}" - - /* A C statement to output to the stdio stream FILE an assembler - command to advance the location counter to a multiple of 1<<LOG -@@ -263,3 +274,15 @@ - else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \ - } - #endif -+ -+#undef STARTFILE_SPEC -+#define STARTFILE_SPEC "\ -+ %{maout: %{shared:c++rt0.o%s} \ +- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \ +- %{!p:%{profile:gcrt1.o%s} \ +- %{!profile:crt1.o%s}}}} \ +- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" ++ "%{maout: %{shared:c++rt0.o%s} \ + %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}} \ + %{!maout: %{!shared: \ + %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} \ + crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}" -+ -+#undef ENDFILE_SPEC -+#define ENDFILE_SPEC \ + + /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on + the magical crtend.o file (see crtstuff.c) which provides part of +@@ -208,7 +221,7 @@ + + #undef ENDFILE_SPEC + #define ENDFILE_SPEC \ +- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s" + "%{!maout: %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s}" + + /* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate + libc, depending on whether we're doing profiling or need threads support. +@@ -247,7 +260,7 @@ + %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ +- %{static:-Bstatic}}} \ ++ %{static:-Bstatic}} \ + %{symbolic:-Bsymbolic}" + + /* A C statement to output to the stdio stream FILE an assembler |