This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
PATCH: Update i386-*-freebsd-aout to match well-tested configuration
- From: Loren James Rittle <rittle at latour dot rsch dot comm dot mot dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: obrien at FreeBSD dot org
- Date: Tue, 29 Apr 2003 08:00:00 -0500 (CDT)
- Subject: PATCH: Update i386-*-freebsd-aout to match well-tested configuration
- Reply-to: rittle at labs dot mot dot com
Under private cover, David O'Brien sent me a patch required to
continue support for the archaic aout support of FreeBSD. Approved
and committed to mainline and 3.3. For the record, this patch has
been tested against the last snapshot of 3.3 pulled into FreeBSD. I
personally only eyed it since I don't even have the related aout tools
setup to make this work anymore. (ELF flag day was years ago on this
platform after all... ;-)
* config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
(SET_ASM_OP): New macro.
(HANDLE_SYSV_PRAGMA): New macro.
(ASM_WEAKEN_LABEL): New macro.
Index: gcc/config/i386/freebsd-aout.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/freebsd-aout.h,v
retrieving revision 1.16
diff -c -r1.16 freebsd-aout.h
*** gcc/config/i386/freebsd-aout.h 26 Jan 2003 14:40:22 -0000 1.16
--- gcc/config/i386/freebsd-aout.h 29 Apr 2003 12:41:19 -0000
***************
*** 94,99 ****
--- 94,102 ----
/* Profiling routines, partially copied from i386/osfrose.h. */
+ /* Tell final.c that we don't need a label passed to mcount. */
+ #define NO_PROFILE_COUNTERS 1
+
#undef MCOUNT_NAME
#define MCOUNT_NAME "mcount"
#undef PROFILE_COUNT_REGISTER
***************
*** 112,117 ****
--- 115,121 ----
#define TYPE_ASM_OP "\t.type\t"
#define SIZE_ASM_OP "\t.size\t"
+ #define SET_ASM_OP "\t.set\t"
/* The following macro defines the format used to output the second
operand of the .type assembler directive. Different svr4 assemblers
***************
*** 120,125 ****
--- 124,135 ----
specific tm.h file (depending upon the particulars of your assembler). */
#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