diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1996-06-10 19:04:21 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1996-06-10 19:04:21 +0000 |
commit | e47ae1c2d3c228f988571479613b1786fe6c9165 (patch) | |
tree | 63eee513d2a83dde786153608966cc1759d9ce73 /gcc | |
parent | fd5e7009f67a8fbbb80019d60f772124699b5205 (diff) | |
download | gcc-e47ae1c2d3c228f988571479613b1786fe6c9165.zip gcc-e47ae1c2d3c228f988571479613b1786fe6c9165.tar.gz gcc-e47ae1c2d3c228f988571479613b1786fe6c9165.tar.bz2 |
Use .lcomm where we can
From-SVN: r12265
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/sol2.h | 3 | ||||
-rw-r--r-- | gcc/config/rs6000/sysv4.h | 27 |
2 files changed, 21 insertions, 9 deletions
diff --git a/gcc/config/rs6000/sol2.h b/gcc/config/rs6000/sol2.h index ac64a7b..11eff6d 100644 --- a/gcc/config/rs6000/sol2.h +++ b/gcc/config/rs6000/sol2.h @@ -84,9 +84,6 @@ do { \ #define ASM_STABN_OP ".stabd" -#undef SKIP_ASM_OP -#define SKIP_ASM_OP ".skip" - #undef ASM_OUTPUT_SOURCE_LINE #define ASM_OUTPUT_SOURCE_LINE(file, line) \ do \ diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h index b2b4c23..3106785 100644 --- a/gcc/config/rs6000/sysv4.h +++ b/gcc/config/rs6000/sysv4.h @@ -658,17 +658,32 @@ extern int rs6000_pic_labelno; #define LOCAL_ASM_OP ".local" #endif +#ifndef LCOMM_ASM_OP +#define LCOMM_ASM_OP ".lcomm" +#endif + #undef ASM_OUTPUT_ALIGNED_LOCAL #define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ do { \ if (TARGET_SDATA && (SIZE) > 0 && (SIZE) <= g_switch_value) \ - sbss_section (); \ + { \ + sbss_section (); \ + ASM_OUTPUT_ALIGN (FILE, exact_log2 (ALIGN / BITS_PER_UNIT)); \ + ASM_OUTPUT_LABEL (FILE, NAME); \ + ASM_OUTPUT_SKIP (FILE, SIZE); \ + if (!flag_inhibit_size_directive && (SIZE) > 0) \ + { \ + fprintf (FILE, "\t%s\t ", SIZE_ASM_OP); \ + assemble_name (FILE, NAME); \ + fprintf (FILE, ",%d\n", SIZE); \ + } \ + } \ else \ - bss_section (); \ - \ - ASM_OUTPUT_ALIGN (FILE, exact_log2 (ALIGN / BITS_PER_UNIT)); \ - ASM_OUTPUT_LABEL (FILE, NAME); \ - ASM_OUTPUT_SKIP (FILE, SIZE); \ + { \ + fprintf (FILE, "\t%s\t", LCOMM_ASM_OP); \ + assemble_name ((FILE), (NAME)); \ + fprintf ((FILE), ",%u,%u\n", (SIZE), (ALIGN) / BITS_PER_UNIT); \ + } \ } while (0) /* Describe how to emit unitialized external linkage items */ |