diff options
author | J.W. Jagersma <jwjagersma@gmail.com> | 2020-03-25 11:52:07 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2020-03-25 11:53:12 +0000 |
commit | b77809577782d8798bc86dde3a2a28c30d7805f0 (patch) | |
tree | 603ac5a5f7cc001fe756bb91a10c75816d58c5b5 /gas/config/obj-coff.c | |
parent | 7b1eff95bed765cb20dd3168cb99896a91fcdca7 (diff) | |
download | binutils-gdb-b77809577782d8798bc86dde3a2a28c30d7805f0.tar.gz |
The "b" flag for COFF sections only unsets the LOAD attribute. It should also clear the CONTENTS attribute so that named bss sections don't take up space in an object file. This can be achieved by setting the 'bss' flag in seg_info.
* config/obj-coff.c (obj_coff_section): Set the bss flag on
sections with the "b" attribute.
Diffstat (limited to 'gas/config/obj-coff.c')
-rw-r--r-- | gas/config/obj-coff.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 178ccaad6a6..70d9fb32d50 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -1532,6 +1532,7 @@ obj_coff_section (int ignore ATTRIBUTE_UNUSED) unsigned int exp; flagword flags, oldflags; asection *sec; + bfd_boolean is_bss = FALSE; if (flag_mri) { @@ -1581,6 +1582,7 @@ obj_coff_section (int ignore ATTRIBUTE_UNUSED) /* Uninitialised data section. */ flags |= SEC_ALLOC; flags &=~ SEC_LOAD; + is_bss = TRUE; break; case 'n': @@ -1652,6 +1654,9 @@ obj_coff_section (int ignore ATTRIBUTE_UNUSED) sec = subseg_new (name, (subsegT) exp); + if (is_bss) + seg_info (sec)->bss = 1; + if (alignment >= 0) sec->alignment_power = alignment; |