diff options
author | Richard Stallman <rms@gnu.org> | 1993-06-17 20:26:23 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-06-17 20:26:23 +0000 |
commit | babbe1eb8c8f138055a2629eb6c2df5d5b77fbd2 (patch) | |
tree | c274ab4c8808782c004f934fc16be0504999af64 /gcc/config | |
parent | 5f6be9da2e8dbabf13acc031d0180d1ba12694ff (diff) | |
download | gcc-babbe1eb8c8f138055a2629eb6c2df5d5b77fbd2.zip gcc-babbe1eb8c8f138055a2629eb6c2df5d5b77fbd2.tar.gz gcc-babbe1eb8c8f138055a2629eb6c2df5d5b77fbd2.tar.bz2 |
Changes for non gas gcc.
(ASM_FILE_START_1): Always output .noopt because /bin/as is buggy.
Added #undef to {INIT,FINI,CTORS,DTORS}_SECTION_ASM_OP, ... when
not using GAS.
(CONST_SECTION_FUNCTION): Override svr3 default.
(EXTRA_SECTION_FUNCTIONS): Override svr3 default.
(OBJECT_FORMAT_COFF): Added define for collect2.
(MY_ISCOFF): For collect2 to handle aix and svr3 object file.
From-SVN: r4687
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/aix386ng.h | 48 |
1 files changed, 46 insertions, 2 deletions
diff --git a/gcc/config/i386/aix386ng.h b/gcc/config/i386/aix386ng.h index 07f6ac7..6eecde8 100644 --- a/gcc/config/i386/aix386ng.h +++ b/gcc/config/i386/aix386ng.h @@ -71,12 +71,12 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define PCC_BITFIELD_TYPE_MATTERS 1 -#if 0 +#ifndef USE_GAS /* Don't write a `.optim' pseudo; this assembler is said to have a bug when .optim is used. */ #undef ASM_FILE_START_1 -#define ASM_FILE_START_1(FILE) fprintf (FILE, "\t.noopt\n"); +#define ASM_FILE_START_1(FILE) fprintf (FILE, "\t.noopt\n") #endif /* Output assembler code to FILE to increment profiler label # LABELNO @@ -94,3 +94,47 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ (bss_section (), \ ASM_OUTPUT_LABEL ((FILE), (NAME)), \ fprintf ((FILE), "\t.set .,.+%u\n", (ROUNDED))) + + +/* Undef all the .init and .fini section stuff if we are not using gas and + * gnu ld so that we can use collect because the standard /bin/as and /bin/ld + * cannot handle those. + */ +#ifndef USE_GAS +# undef INIT_SECTION_ASM_OP +# undef FINI_SECTION_ASM_OP +# undef CTORS_SECTION_ASM_OP +# undef DTORS_SECTION_ASM_OP +# undef ASM_OUTPUT_CONSTRUCTOR +# undef ASM_OUTPUT_DESTRUCTOR +# undef DO_GLOBAL_CTORS_BODY + +# undef CTOR_LIST_BEGIN +# define CTOR_LIST_BEGIN +# undef CTOR_LIST_END +# define CTOR_LIST_END +# undef DTOR_LIST_BEGIN +# define DTOR_LIST_BEGIN +# undef DTOR_LIST_END +# define DTOR_LIST_END + +# undef CONST_SECTION_FUNCTION +# define CONST_SECTION_FUNCTION \ +void \ +const_section () \ +{ \ + extern void text_section(); \ + text_section(); \ +} + +# undef EXTRA_SECTION_FUNCTIONS +# define EXTRA_SECTION_FUNCTIONS \ + CONST_SECTION_FUNCTION \ + BSS_SECTION_FUNCTION + +/* for collect2 */ +# define OBJECT_FORMAT_COFF +# define MY_ISCOFF(magic) \ + ((magic) == I386MAGIC || (magic) == I386SVMAGIC) + +#endif /* !USE_GAS */ |