From: Richard Kenner Date: Mon, 17 Aug 1992 11:32:34 +0000 (-0400) Subject: (LINK_SPEC): Add %s for default.ld. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2cebaa84bd0b4d3d379dafa5509c4fe8e60cb09b;p=gcc.git (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 --- diff --git a/gcc/config/a29k/unix.h b/gcc/config/a29k/unix.h index 02bd18c04a2..7fd911b363b 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. */