diff options
author | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-05-29 21:20:36 +0000 |
---|---|---|
committer | meissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-05-29 21:20:36 +0000 |
commit | 8fa3bb0ae276bcc633eabff55d405fe6ee9d0379 (patch) | |
tree | a3a35de70fcab886e64afcc0eba46ea5af79e14f /gcc/config/rs6000/rs6000.c | |
parent | 359e408d73f1088b80709eebf420fa854449b7c8 (diff) |
Add code to print rs6000 specific info in .s file; make eabi.asm assemble on Solaris
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12123 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/rs6000.c')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 276008b4b51..7cb1e80123e 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -296,6 +296,55 @@ rs6000_override_options (default_cpu) #endif } +/* Do anything needed at the start of the asm file. */ + +void +rs6000_file_start (file, default_cpu) + FILE *file; + char *default_cpu; +{ + int i; + char buffer[80]; + char *start = buffer; + struct rs6000_cpu_select *ptr; + + if (flag_verbose_asm) + { + sprintf (buffer, "\n%s rs6000/powerpc options:", ASM_COMMENT_START); + rs6000_select[0].string = default_cpu; + + for (i = 0; i < sizeof (rs6000_select) / sizeof (rs6000_select[0]); i++) + { + ptr = &rs6000_select[i]; + if (ptr->string != (char *)0 && ptr->string[0] != '\0') + { + fprintf (file, "%s %s%s", start, ptr->name, ptr->string); + start = ""; + } + } + +#ifdef USING_SVR4_H + switch (rs6000_sdata) + { + case SDATA_NONE: fprintf (file, "%s -msdata=none", start); start = ""; break; + case SDATA_DATA: fprintf (file, "%s -msdata=data", start); start = ""; break; + case SDATA_SYSV: fprintf (file, "%s -msdata=sysv", start); start = ""; break; + case SDATA_EABI: fprintf (file, "%s -msdata=eabi", start); start = ""; break; + } + + if (rs6000_sdata && g_switch_value) + { + fprintf (file, "%s -G %d", start, g_switch_value); + start = ""; + } +#endif + + if (*start == '\0') + fputs ("\n", file); + } +} + + /* Create a CONST_DOUBLE from a string. */ struct rtx_def * |