freebsd-ports/lang/gcc/files/patch-ad
David E. O'Brien dcb89c7cec Sync with gcc28 port:
* Implement support for weak symbols.  This solves the "___error" undefined
  problem on 3.0-CURRENT systems.
* look for crt0.o in /usr/lib/aout on 3.0-CURRENT systems.
1998-07-19 22:03:43 +00:00

33 lines
1.1 KiB
Plaintext

--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
+++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
@@ -129,6 +129,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 +139,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 +246,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.