diff options
Diffstat (limited to 'lang/gcc/files/patch-af')
-rw-r--r-- | lang/gcc/files/patch-af | 110 |
1 files changed, 82 insertions, 28 deletions
diff --git a/lang/gcc/files/patch-af b/lang/gcc/files/patch-af index c1f1ba0e855..88bf144d3da 100644 --- a/lang/gcc/files/patch-af +++ b/lang/gcc/files/patch-af @@ -1,30 +1,22 @@ ---- gcc/config/i386/freebsd.h.orig Mon Mar 1 14:47:32 1999 -+++ gcc/config/i386/freebsd.h Sun Mar 21 16:58:39 1999 -@@ -21,19 +21,13 @@ +--- gcc/config/i386/freebsd.h.orig Tue Feb 16 15:51:31 1999 ++++ gcc/config/i386/freebsd.h Mon Apr 19 09:22:46 1999 +@@ -21,6 +21,15 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + ++/* Use stabs instead of DWARF debug format. */ ++#undef PREFERRED_DEBUGGING_TYPE ++#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG ++#include "svr4.h" ++ +/* Get generic FreeBSD definitions. */ +#include <freebsd.h> + #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)"); --/* The svr4 ABI for the i386 says that records and unions are returned -- in memory. */ --/* On FreeBSD, we do not. */ --#undef DEFAULT_PCC_STRUCT_RETURN --#define DEFAULT_PCC_STRUCT_RETURN 0 -- --/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using -- libraries compiled with the native cc, so undef it. */ --#undef NO_DOLLAR_IN_LABEL -- - /* This is how to output an element of a case-vector that is relative. - This is only used for PIC code. See comments by the `casesi' insn in - i386.md for an explanation of the expression this outputs. */ -@@ -113,22 +107,19 @@ +@@ -113,22 +122,19 @@ : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \ : (-1)) @@ -51,20 +43,17 @@ } \ } -@@ -145,26 +136,16 @@ +@@ -145,27 +151,31 @@ #define WCHAR_TYPE_SIZE BITS_PER_WORD #undef CPP_PREDEFINES -#define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" -+#define CPP_PREDEFINES "-Di386 -D__ELF__ -Acpu(i386) -Amachine(i386)" CPP_FBSD_PREDEFINES ++#define CPP_PREDEFINES "-Di386 -Acpu(i386) -Amachine(i386)" CPP_FBSD_PREDEFINES #undef CPP_SPEC -#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}" -+#define CPP_SPEC \ -+ "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{m486:-D__i486__}" -+ /* %{pthread:-D_REENTRANT} */ - - #undef LIB_SPEC +- +-#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 @@ -73,13 +62,78 @@ -#define LIB_SPEC \ - "%{!shared: %{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} \ - %{!ggdb:-lc} %{ggdb:-lg}}" --#else - #define LIB_SPEC \ ++#if TARGET_CPU_DEFAULT == 2 ++#define CPP_SPEC "\ ++%{!maout: -D__ELF__} \ ++%{munderscores: -D__UNDERSCORES__} \ ++%{maout: %{!mno-underscores: -D__UNDERSCORES__}} \ ++%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__}" + #else +-#define LIB_SPEC \ - "%{!shared: \ - %{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \ - %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}}" --#endif -+ "%{!shared:%{!pg:%{!pthread:%{!kthread:-lc}%{kthread:-lpthread -lc}}%{pthread:-lc_r}}%{pg:%{!pthread:%{!kthread:-lc_p}%{kthread:-lpthread_p -lc_p}}%{pthread:-lc_r_p}}}" ++#define CPP_SPEC "\ ++%{!maout: -D__ELF__} \ ++%{munderscores: -D__UNDERSCORES__} \ ++%{maout: %{!mno-underscores: -D__UNDERSCORES__}} \ ++%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{m486:-D__i486__}" + #endif ++#undef CC1_SPEC ++#define CC1_SPEC "\ ++%{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \ ++%{maout: %{!mno-underscores: %{!munderscores: -munderscores }}}" ++ ++#undef ASM_SPEC ++#define ASM_SPEC "%{v*: -v} %{maout: %{fpic:-k} %{fPIC:-k}}" ++ /* 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 +@@ -181,13 +191,23 @@ + 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)} \ ++ %{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:-static}}}" ++ %{rdynamic: -export-dynamic} \ ++ %{!dynamic-linker: -dynamic-linker /usr/libexec/ld-elf.so.1}} \ ++ %{static:-Bstatic}}}" + + /* Get perform_* macros to build libgcc.a. */ + +@@ -204,3 +224,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} \ ++ %{!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 \ ++ "%{!maout: %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s}" |