1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-15 23:50:44 +00:00
freebsd-ports/lang/gcc28/files/patch-02
John Polstra 2c8f4253cc Fix this port so that it can find crt0.o in /usr/lib/aout on recent
-current systems.

Fix the definition of the preprocessor symbol __FreeBSD__.  It had
been defined as "2=3".

Implement support for weak symbols.  This solves the "___error"
undefined problem on -current systems.

Default to -fsjlj-exceptions even for C programs.  This is needed
because a few modules in libgcc are built with -fexceptions turned
on, and the default style of exception support causes croakage.

I tried a make buildworld on a recent -current system by adding the
following to /etc/make.conf:

CC=/usr/local/bin/gcc28 -B/usr/local/lib/gcc-lib/i386-unknown-freebsd3.0/2.8.1/
CXX=/usr/local/bin/g++28 -B/usr/local/lib/gcc-lib/i386-unknown-freebsd3.0/2.8.1/

It got pretty far along before dying.  The death occurred when building
our old native libstdc++, almost certainly because of header file
incompatibilities.

Another obstacle for make world is that this port doesn't currently
build a PIC version of libgcc (libgcc_pic.a).
1998-06-30 21:10:27 +00:00

12 lines
552 B
Plaintext

--- config/i386/freebsd-elf.h.orig Fri Dec 5 04:15:34 1997
+++ config/i386/freebsd-elf.h Sun Apr 12 06:23:12 1998
@@ -140,7 +140,7 @@
#define WCHAR_TYPE_SIZE BITS_PER_WORD
#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-Dunix -D__ELF__ -D__FreeBSD__=2 -Asystem(FreeBSD)"
+#define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__=2 -Asystem(FreeBSD) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
#undef CPP_SPEC
#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"