diff options
| author | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-08 16:19:00 +0000 |
|---|---|---|
| committer | nickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-08 16:19:00 +0000 |
| commit | 1ff0298eb3aa60684332d2ff58c0b4ac8fa1f050 (patch) | |
| tree | e3701b9094f0847b4053325939c9df128f47049f | |
| parent | a2d92abf65c8fc233e4d2486e3231f50ed16bb66 (diff) | |
| download | ppe42-gcc-1ff0298eb3aa60684332d2ff58c0b4ac8fa1f050.tar.gz ppe42-gcc-1ff0298eb3aa60684332d2ff58c0b4ac8fa1f050.zip | |
(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
| -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 026920a8040..a413b38149d 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 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. */ |

