PATCH: Update i386-*-freebsd-aout to match well-tested configuration

Loren James Rittle rittle@latour.rsch.comm.mot.com
Tue Apr 29 13:00:00 GMT 2003


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



More information about the Gcc-patches mailing list