From 1ff0298eb3aa60684332d2ff58c0b4ac8fa1f050 Mon Sep 17 00:00:00 2001 From: nickc Date: Thu, 8 Jan 2004 16:19:00 +0000 Subject: [PATCH] (ASM_OUTPUT_ALIGNED_BSS): Actually emit variables in the appropriate bss section. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75552 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/m32r/m32r.h | 26 +++++++++++++------------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 026920a8040..a413b38149d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-01-08 Kazuhiro Inaoka + + * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit + variables in the appropriate bss section. + 2004-01-09 Alan Modra * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h index bc7f0d4a561..d2483e24d73 100644 --- a/gcc/config/m32r/m32r.h +++ b/gcc/config/m32r/m32r.h @@ -1748,19 +1748,19 @@ extern char m32r_punct_chars[256]; } \ while (0) -/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a - separate, explicit argument. If you define this macro, it is used in - place of `ASM_OUTPUT_BSS', and gives you more flexibility in - handling the required alignment of the variable. The alignment is - specified as the number of bits. - - For the M32R we need sbss support. */ - -#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ - do \ - { \ - ASM_OUTPUT_ALIGNED_COMMON (FILE, NAME, SIZE, ALIGN); \ - } \ +#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ + do \ + { \ + if (! TARGET_SDATA_NONE \ + && (SIZE) > 0 && (SIZE) <= g_switch_value) \ + named_section (0, ".sbss", 0); \ + else \ + bss_section (); \ + ASM_OUTPUT_ALIGN (FILE, floor_log2 (ALIGN / BITS_PER_UNIT)); \ + last_assemble_variable_decl = DECL; \ + ASM_DECLARE_OBJECT_NAME (FILE, NAME, DECL); \ + ASM_OUTPUT_SKIP (FILE, SIZE ? SIZE : 1); \ + } \ while (0) /* Debugging information. */ -- 2.11.4.GIT