aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/sysv4.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2005-11-28 03:57:05 +0000
committerAlan Modra <amodra@gcc.gnu.org>2005-11-28 14:27:05 +1030
commitc1b7d95a28e677514ac76d5a06f565d5ce03d600 (patch)
tree3515decec7ad63fba6dd25e7d8ccc9614454cd01 /gcc/config/rs6000/sysv4.h
parentbf00cc0f1bcec18d171b241839ba13889c180e6f (diff)
downloadgcc-c1b7d95a28e677514ac76d5a06f565d5ce03d600.zip
gcc-c1b7d95a28e677514ac76d5a06f565d5ce03d600.tar.gz
gcc-c1b7d95a28e677514ac76d5a06f565d5ce03d600.tar.bz2
invoke.texi (powerpc msdata-data): Static data doesn't go in small data sections.
* doc/invoke.texi (powerpc msdata-data): Static data doesn't go in small data sections. * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Make global. * config/rs6000/rs6000-protos.h: (rs6000_elf_in_small_data_p): Declare. * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Rename to.. (ASM_OUTPUT_ALIGNED_DECL_LOCAL): ..this, adding extra parm. Don't output locals to sbss if !rs6000_elf_in_small_data_p. (ASM_OUTPUT_ALIGNED_BSS): Adjust for above. From-SVN: r107592
Diffstat (limited to 'gcc/config/rs6000/sysv4.h')
-rw-r--r--gcc/config/rs6000/sysv4.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
index 238b497..3077776 100644
--- a/gcc/config/rs6000/sysv4.h
+++ b/gcc/config/rs6000/sysv4.h
@@ -550,12 +550,10 @@ extern int rs6000_pic_labelno;
#define LCOMM_ASM_OP "\t.lcomm\t"
-/* Override elfos.h definition. */
-#undef ASM_OUTPUT_ALIGNED_LOCAL
-#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \
+/* Describe how to emit uninitialized local items. */
+#define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN) \
do { \
- if (rs6000_sdata != SDATA_NONE && (SIZE) > 0 \
- && (SIZE) <= g_switch_value) \
+ if ((DECL) && rs6000_elf_in_small_data_p (DECL)) \
{ \
sbss_section (); \
ASM_OUTPUT_ALIGN (FILE, exact_log2 (ALIGN / BITS_PER_UNIT)); \
@@ -577,7 +575,7 @@ do { \
/* Describe how to emit uninitialized external linkage items. */
#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \
do { \
- ASM_OUTPUT_ALIGNED_LOCAL (FILE, NAME, SIZE, ALIGN); \
+ ASM_OUTPUT_ALIGNED_DECL_LOCAL (FILE, DECL, NAME, SIZE, ALIGN); \
} while (0)
#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN