home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gcc-2.7.2.1-src.tgz / tar.out / fsf / gcc / config / m68k / dpx2g.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  72 lines

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