Fix type of .persistent.bss section
The change implementing the .persistent family of sections broke the
existing support for the .persistent.bss section in the compiler:
int a __attribute__ ((section (".persistent.bss")));
t.s: Assembler messages:
t.s:4: Warning: setting incorrect section type for .persistent.bss
The compiler encodes it as @nobits but the assembler expects @progbits.
The assembler is incorrect and should treat the section like the compiler.
bfd/
* elf.c (special_sections_p): Add .persistent.bss.
gas/
* testsuite/gas/elf/section25.d: Run it everywhere.
* testsuite/gas/elf/section26.d: Likewise.
* testsuite/gas/elf/section26.s: Add test for .persistent.bss.
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
2021-04-23 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* elf.c (special_sections_p): Add .persistent.bss.
|
||||
|
||||
2021-04-23 Jan Beulich <jbeulich@suse.com>
|
||||
|
||||
* elf32-i386.c (elf_howto_table): R_386_TLS_DESC_CALL has zero
|
||||
|
||||
@@ -2725,6 +2725,7 @@ static const struct bfd_elf_special_section special_sections_n[] =
|
||||
|
||||
static const struct bfd_elf_special_section special_sections_p[] =
|
||||
{
|
||||
{ STRING_COMMA_LEN (".persistent.bss"), 0, SHT_NOBITS, SHF_ALLOC + SHF_WRITE },
|
||||
{ STRING_COMMA_LEN (".persistent"), -2, SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
|
||||
{ STRING_COMMA_LEN (".preinit_array"), -2, SHT_PREINIT_ARRAY, SHF_ALLOC + SHF_WRITE },
|
||||
{ STRING_COMMA_LEN (".plt"), 0, SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
2021-04-23 Eric Botcazou<ebotcazou@adacore.com>
|
||||
|
||||
* testsuite/gas/elf/section25.d: Run it everywhere.
|
||||
* testsuite/gas/elf/section26.d: Likewise.
|
||||
* testsuite/gas/elf/section26.s: Add test for .persistent.bss.
|
||||
|
||||
2021-04-23 Jérôme Gardou <jerome.gardou@gmail.com>
|
||||
|
||||
* config/obj-coff-seh.c (obj_coff_seh_pushframe): Allow an
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
#name: sections 25 (.noinit)
|
||||
#target: [supports_noinit_section]
|
||||
#source: section25.s
|
||||
#readelf: -S --wide
|
||||
# The h8300 port issues a warning message for
|
||||
# new sections created without atrributes.
|
||||
#xfail: h8300-*
|
||||
|
||||
#...
|
||||
\[..\] .noinit[ ]+NOBITS[ ]+[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 WA .*
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
#name: sections 26 (.persistent)
|
||||
#target: [supports_persistent_section]
|
||||
#source: section26.s
|
||||
#readelf: -S --wide
|
||||
# The h8300 port issues a warning message for
|
||||
# new sections created without atrributes.
|
||||
#xfail: h8300-*
|
||||
|
||||
#...
|
||||
\[..\] .persistent[ ]+PROGBITS[ ]+[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 WA .*
|
||||
#...
|
||||
\[..\] .persistent.foo[ ]+PROGBITS[ ]+[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 WA .*
|
||||
#...
|
||||
\[..\] .persistent.bss[ ]+NOBITS[ ]+[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 WA .*
|
||||
#...
|
||||
\[..\] .gnu.linkonce.p.bar[ ]+PROGBITS[ ]+[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 WA .*
|
||||
#pass
|
||||
|
||||
@@ -4,5 +4,8 @@
|
||||
.section .persistent.foo
|
||||
.word 0
|
||||
|
||||
.section .persistent.bss
|
||||
.word 0
|
||||
|
||||
.section .gnu.linkonce.p.bar
|
||||
.word 0
|
||||
|
||||
Reference in New Issue
Block a user