Make Darwin bootstrap again

Stan Shebs shebs@apple.com
Tue Aug 28 12:22:00 GMT 2001


The following small patch fixes two problems that were preventing
bootstrapping on Darwin (aka Mac OS X) systems.  Thanks to Andreas
Tobler for tracking these down!

Stan

2001-08-28  Stan Shebs  <shebs@apple.com>

        * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
        (UNALIGNED_SHORT_ASM_OP): Define.
        (UNALIGNED_INT_ASM_OP): Define.

Index: config/darwin.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/darwin.h,v
retrieving revision 1.10
diff -c -3 -p -r1.10 darwin.h
*** darwin.h    2001/08/09 22:33:20     1.10
--- darwin.h    2001/08/28 18:25:36
*************** do { text_section ();                                                   \
*** 222,228 ****
  #define ASM_OUTPUT_LABELREF(FILE,NAME)        \
    do {                                                                        \
         STRIP_NAME_ENCODING (NAME, NAME);  \
!        if (NAME[0] == '&')                                            \
           {                                                            \
             int len = strlen (NAME);                                   \
           if (len > 6 && !strcmp ("$stub", NAME + len - 5))            \
--- 222,228 ----
  #define ASM_OUTPUT_LABELREF(FILE,NAME)        \
    do {                                                                        \
         STRIP_NAME_ENCODING (NAME, NAME);  \
!        if (NAME[0] == '&' || NAME[0] == '*')                          \
           {                                                            \
             int len = strlen (NAME);                                   \
           if (len > 6 && !strcmp ("$stub", NAME + len - 5))            \
*************** do { text_section ();                                                   \
*** 242,247 ****
--- 242,254 ----
         else                                                           \
           fprintf (FILE, "_%s", NAME);                                 \
    } while (0)
+ 
+ /* The standard fillin directives are unaligned.  */
+ 
+ #define UNALIGNED_SHORT_ASM_OP          "\t.short\t"
+ #define UNALIGNED_INT_ASM_OP            "\t.long\t"
+ /* Don't try to use this before the assembler knows about it.  */
+ /* #define UNALIGNED_DOUBLE_INT_ASM_OP     "\t.quad\t"  */
  
  #undef        ALIGN_ASM_OP
  #define ALIGN_ASM_OP          ".align"



More information about the Gcc-patches mailing list