diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1996-03-01 20:34:12 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1996-03-01 20:34:12 +0000 |
commit | fff4998bc9872fac229a83563e4759e811ab360a (patch) | |
tree | 0e52f51f5112e8609835ce5bac90b58d0ed52130 /gcc/config/rs6000/win-nt.h | |
parent | cac58785f71c9ba3fd3de7e1dd065b0cf539936a (diff) | |
download | gcc-fff4998bc9872fac229a83563e4759e811ab360a.tar.gz |
Define ASM_OUTPUT_ALIGNED_BSS
From-SVN: r11397
Diffstat (limited to 'gcc/config/rs6000/win-nt.h')
-rw-r--r-- | gcc/config/rs6000/win-nt.h | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/gcc/config/rs6000/win-nt.h b/gcc/config/rs6000/win-nt.h index de34f973b00..c8356343df5 100644 --- a/gcc/config/rs6000/win-nt.h +++ b/gcc/config/rs6000/win-nt.h @@ -138,7 +138,7 @@ Boston, MA 02111-1307, USA. */ #undef READONLY_DATA_SECTION #undef EXTRA_SECTIONS -#define EXTRA_SECTIONS toc, bss +#define EXTRA_SECTIONS toc /* Define the routines to implement these extra sections. */ @@ -180,14 +180,28 @@ toc_section () \ fprintf ((FILE), ",%d\n", (SIZE)); } while (0) /* This says how to output an assembler line - to define a local common symbol. */ - -#undef ASM_OUTPUT_LOCAL -#define ASM_OUTPUT_LOCAL(FILE, NAME, SIZE,ROUNDED) \ - do { fputs ("\t.lcomm \t", (FILE)); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), ",%d\n", (SIZE)); \ - } while (0) + to define an aligned local common symbol. */ + +#undef ASM_OUTPUT_ALIGNED_LOCAL +#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ +do { \ + bss_section (); \ + ASM_OUTPUT_ALIGN (FILE, exact_log2 (ALIGN / BITS_PER_UNIT)); \ + ASM_OUTPUT_LABEL (FILE, NAME); \ + ASM_OUTPUT_SKIP (FILE, SIZE); \ +} while (0) + +/* Describe how to emit unitialized external linkage items */ +#define ASM_OUTPUT_ALIGNED_BSS(FILE, NAME, SIZE, ALIGN) \ +do { \ + ASM_GLOBALIZE_LABEL (FILE, NAME); \ + ASM_OUTPUT_ALIGNED_LOCAL (FILE, NAME, SIZE, ALIGN); \ +} while (0) + +/* This says out to put a global symbol in the BSS section */ +#undef ASM_OUTPUT_ALIGNED_BSS +#define ASM_OUTPUT_ALIGNED_BSS(FILE, NAME, SIZE, ALIGN) \ + asm_output_aligned_bss ((FILE), (NAME), (SIZE), (ALIGN)) /* Stuff to force fit us into the Motorola PPC assembler */ @@ -321,6 +335,10 @@ toc_section () \ #undef DATA_SECTION_ASM_OP #define DATA_SECTION_ASM_OP "\t.data" +/* Output to the bss section. */ +#undef BSS_SECTION_ASM_OP +#define BSS_SECTION_ASM_OP "\t.section .bss" + /* Text to write out after a CALL that may be replaced by glue code by the loader. The motorola asm demands that, for dll support, a .znop be issued after a bl instruction, and the symbol on the .znop is the |