diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1992-08-17 07:32:34 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1992-08-17 07:32:34 -0400 |
commit | 2cebaa84bd0b4d3d379dafa5509c4fe8e60cb09b (patch) | |
tree | 2a83084704dd9bb2c4e6745a7457018d473236b3 | |
parent | b8c59d6fe42626980c5020f7bc26ae53d0f1fe15 (diff) | |
download | gcc-2cebaa84bd0b4d3d379dafa5509c4fe8e60cb09b.zip gcc-2cebaa84bd0b4d3d379dafa5509c4fe8e60cb09b.tar.gz gcc-2cebaa84bd0b4d3d379dafa5509c4fe8e60cb09b.tar.bz2 |
(LINK_SPEC): Add %s for default.ld.
(LINK_LIBGCC_SPECIAL): No longer needed.
(ASM_FILE_STARY): Add shared data section.
(SHARED_SECTION_ASM_OP): New macro.
(OVERRIDE_OPTIONS): If -fshared-data, add -fno-common.
From-SVN: r1867
-rw-r--r-- | gcc/config/a29k/unix.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/gcc/config/a29k/unix.h b/gcc/config/a29k/unix.h index 02bd18c..7fd911b 100644 --- a/gcc/config/a29k/unix.h +++ b/gcc/config/a29k/unix.h @@ -37,10 +37,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define CPP_SPEC "%{!m29000:-Dam29050 -D__am29050__}" #undef LINK_SPEC -#define LINK_SPEC "-c /usr/lib/default.ld" - -/* We can't say "-lgcc" due to a bug in gld for now. */ -#define LINK_LIBGCC_SPECIAL +#define LINK_SPEC "-c default.ld%s" /* For some systems, it is best if double-word objects are aligned on a doubleword boundary. We want to maintain compatibility with MetaWare in @@ -49,6 +46,29 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #undef BIGGEST_ALIGNMENT #define BIGGEST_ALIGNMENT 64 +/* Add shared data as a kludge for now. */ + +#undef ASM_FILE_START +#define ASM_FILE_START(FILE) \ +{ char *p, *after_dir = main_input_filename; \ + if (TARGET_29050) \ + fprintf (FILE, "\t.cputype 29050\n"); \ + for (p = main_input_filename; *p; p++) \ + if (*p == '/') \ + after_dir = p + 1; \ + fprintf (FILE, "\t.file \"%s\"\n", after_dir); \ + if (flag_shared_data) \ + fprintf (FILE, "\t.sect .shdata,data\n"); \ + fprintf (FILE, "\t.sect .lit,lit\n"); } + +/* Output before shared data. */ + +#define SHARED_SECTION_ASM_OP "\t.use .shdata" + +/* If we want shared data, we have to turn off commons. */ + +#define OVERRIDE_OPTIONS if (flag_shared_data) flag_no_common = 1; + #if 0 /* This would be needed except that the 29k doesn't have strict alignment requirements. */ |