home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / bbs / gnu / gcc-2.3.3-src.lha / GNU / src / amiga / gcc-2.3.3 / config / dpx2g.h < prev    next >
C/C++ Source or Header  |  1994-02-06  |  2KB  |  83 lines

  1. /*
  2.  * dpx2g.h - Bull DPX/2 200 and 300 systems (m68k, SysVr3) with gas
  3.  */
  4.  
  5. #define USE_GAS
  6. #include "dpx2.h"
  7.  
  8. #ifndef USE_COLLECT2
  9. /* We use set vectors for the constructors/destructors. */ 
  10.  
  11. #undef ASM_OUTPUT_CONSTRUCTOR
  12. #undef ASM_OUTPUT_DESTRUCTOR
  13.  
  14. /* Although the gas we use can create .ctor and .dtor sections from N_SETT
  15.    stabs, it does not support section directives, so we need to have the loader
  16.    define the lists.
  17.  */
  18. #define CTOR_LISTS_DEFINED_EXTERNALLY
  19.  
  20. /* similar to default, but allows for the table defined by ld with gcc.ifile. 
  21.    nptrs is always 0.  So we need to instead check that __DTOR_LIST__[1] != 0.
  22.    The old check is left in so that the same macro can be used if and when  
  23.    a future version of gas does support section directives. */
  24.  
  25. #define DO_GLOBAL_DTORS_BODY {int nptrs = *(int *)__DTOR_LIST__; int i; \
  26.   if (nptrs == -1 || (__DTOR_LIST__[0] == 0 && __DTOR_LIST__[1] != 0))  \
  27.     for (nptrs = 0; __DTOR_LIST__[nptrs + 1] != 0; nptrs++);         \
  28.   for (i = nptrs; i >= 1; i--)                        \
  29.     __DTOR_LIST__[i] (); }
  30.  
  31. #undef STARTFILE_SPEC
  32. #define STARTFILE_SPEC \
  33.   "%{!r:gcc.ifile%s}\
  34.    %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}\
  35.   huge.o%s"
  36.  
  37. #else /* !USE_COLLECT2 */
  38.  
  39. #undef STARTFILE_SPEC
  40. #define STARTFILE_SPEC \
  41.   "%{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}\
  42.   huge.o%s"
  43.  
  44. #endif /* !USE_COLLECT2 */
  45.  
  46.  
  47. /* GAS want's DBX debugging information.  */
  48. #undef SDB_DEBUGGING_INFO
  49. #ifndef DBX_DEBUGGING_INFO
  50. #define DBX_DEBUGGING_INFO
  51. #endif
  52.  
  53. /*
  54.  * we are using GAS
  55.  */
  56. #undef EXTRA_SECTION_FUNCTIONS
  57. #undef EXTRA_SECTIONS
  58. /* Gas understands dollars in labels. */
  59. #undef NO_DOLLAR_IN_LABEL
  60. /* GAS does not understand .ident so don't output anything for #ident.  */
  61. #undef ASM_OUTPUT_IDENT
  62.  
  63. /*
  64.  * put const's in the text section
  65.  */
  66. #define const_section()  text_section()
  67. #define fini_section() while (0)
  68.                    
  69. #if 0                    /* this is fixed in 2.1 */
  70. #undef ASM_OUTPUT_ALIGN
  71. #define ASM_OUTPUT_ALIGN(FILE,LOG)    \
  72.   if ((LOG) >= 1)            \
  73.     fprintf (FILE, "\t.even\n");    
  74. #endif
  75.  
  76. #undef CTORS_SECTION_ASM_OP
  77. #define CTORS_SECTION_ASM_OP "\t.data"
  78. #undef DTORS_SECTION_ASM_OP
  79. #define DTORS_SECTION_ASM_OP "\t.data"
  80. #undef INIT_SECTION_ASM_OP
  81.  
  82. /* end of dpx2g.h */
  83.