diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2002-03-02 03:52:17 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2002-03-02 03:52:17 +0000 |
commit | 27b41650c178510367442f1a41b4c7a13915056d (patch) | |
tree | 75fe6685e297fa2a98efab337e910c5a2c995d5f /gcc/varasm.c | |
parent | ca734b39f3a1dff4206545b43068998b2bf7821b (diff) | |
download | gcc-27b41650c178510367442f1a41b4c7a13915056d.zip gcc-27b41650c178510367442f1a41b4c7a13915056d.tar.gz gcc-27b41650c178510367442f1a41b4c7a13915056d.tar.bz2 |
Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
* doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
* flags.h (flag_zero_initialized_in_bss): Declare.
* toplev.c (flag_zero_initialized_in_bss): New flag.
(lang_independent_options): Add flag_zero_initialized_in_bss.
* tree.c (initializer_zerop): New function.
* tree.h (initializer_zerop): Declare.
* varasm.c (assemble_variable): If we can emit bss, put zero
initializers in the bss section.
From-SVN: r50218
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index f8fb16c..e7505a8 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1608,7 +1608,12 @@ assemble_variable (decl, top_level, at_end, dont_output_data) /* Handle uninitialized definitions. */ - if ((DECL_INITIAL (decl) == 0 || DECL_INITIAL (decl) == error_mark_node) + if ((DECL_INITIAL (decl) == 0 || DECL_INITIAL (decl) == error_mark_node +#if defined ASM_EMIT_BSS + || (flag_zero_initialized_in_bss + && initializer_zerop (DECL_INITIAL (decl))) +#endif + ) /* If the target can't output uninitialized but not common global data in .bss, then we have to use .data. */ #if ! defined ASM_EMIT_BSS |