[Bug middle-end/100357] noinit attribute does not work sometimes (small data)
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 22 07:22:54 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100357
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|noinit attribute does not |noinit attribute does not
|work sometimes (small data |work sometimes (small data)
|or with -fdata-sections) |
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2021-09-22
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The sbss issue can most likely be fixed by:
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 2d261b353bf..1216e76be53 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -7063,7 +7063,7 @@ categorize_decl_for_section (const_tree decl, int reloc)
}
/* If the target uses small data sections, select it. */
- else if (targetm.in_small_data_p (decl))
+ else if (!DECL_NOINIT_P (decl) && targetm.in_small_data_p (decl))
{
if (ret == SECCAT_BSS)
ret = SECCAT_SBSS;
But I have no way to test this patch.
Anyways confirmed for small data.
More information about the Gcc-bugs
mailing list