(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
This commit is contained in:
Richard Kenner 1992-08-17 07:32:34 -04:00
parent b8c59d6fe4
commit 2cebaa84bd
1 changed files with 24 additions and 4 deletions

View File

@ -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. */