diff options
author | Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> | 2004-01-08 16:19:00 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2004-01-08 16:19:00 +0000 |
commit | cb1f9d03d51c94ce12f6202a6809462b21ffb8b1 (patch) | |
tree | e3701b9094f0847b4053325939c9df128f47049f | |
parent | 53b8fe3ef6f8a38d2047a29031ad918908e8b702 (diff) | |
download | gcc-cb1f9d03d51c94ce12f6202a6809462b21ffb8b1.zip gcc-cb1f9d03d51c94ce12f6202a6809462b21ffb8b1.tar.gz gcc-cb1f9d03d51c94ce12f6202a6809462b21ffb8b1.tar.bz2 |
(ASM_OUTPUT_ALIGNED_BSS): Actually emit variables in the appropriate bss section.
From-SVN: r75552
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/m32r/m32r.h | 26 |
2 files changed, 18 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 026920a..a413b38 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> + + * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit + variables in the appropriate bss section. + 2004-01-09 Alan Modra <amodra@bigpond.net.au> * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure diff --git a/gcc/config/m32r/m32r.h b/gcc/config/m32r/m32r.h index bc7f0d4..d2483e2 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. */ |