diff options
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r-- | gcc/libgcc2.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index a59fd2f..53dfdbf4f 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -2903,21 +2903,17 @@ SYMBOL__MAIN () #include "gbl-ctors.h" /* Provide default definitions for the lists of constructors and - destructors, so that we don't get linker errors. These symbols are - intentionally bss symbols, so that gld and/or collect will provide - the right values. */ + destructors, so that we don't get linker errors. + + The old code sometimes put these into the data segment and sometimes + into the bss segment. Putting these into the data segment should always + work and avoids a little bit of complexity. */ /* We declare the lists here with two elements each, so that they are valid empty lists if no other definition is loaded. */ #if !defined(INIT_SECTION_ASM_OP) && !defined(CTOR_LISTS_DEFINED_EXTERNALLY) -#if defined(__NeXT__) || defined(_AIX) -/* After 2.3, try this definition on all systems. */ func_ptr __CTOR_LIST__[2] = {0, 0}; func_ptr __DTOR_LIST__[2] = {0, 0}; -#else -func_ptr __CTOR_LIST__[2]; -func_ptr __DTOR_LIST__[2]; -#endif #endif /* no INIT_SECTION_ASM_OP and not CTOR_LISTS_DEFINED_EXTERNALLY */ #endif /* L_ctors */ |