This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Make Darwin bootstrap again


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"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]