2011-09-01 Christophe Lyon <christophe.lyon@st.com>

bfd/
	* elf32-arm.c (elf32_arm_output_arch_local_syms): Skip excluded
	sections.

        ld/testsuite/
	* ld-arm/arm-elf.exp: Add new rodata-merge-map test.
	* ld-arm/rodata-merge-map.ld: New file.
	* ld-arm/rodata-merge-map.sym: Likewise.
	* ld-arm/rodata-merge-map1.s Likewise.
	* ld-arm/rodata-merge-map2.s: Likewise.
	* ld-arm/rodata-merge-map3.s: Likewise.
This commit is contained in:
Christophe Lyon 2011-09-01 14:10:40 +00:00
parent df6dc84da9
commit 7d500b8357
9 changed files with 62 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2011-09-01 Christophe Lyon <christophe.lyon@st.com>
* elf32-arm.c (elf32_arm_output_arch_local_syms): Skip excluded
sections.
2011-08-26 Nick Clifton <nickc@redhat.com>
* po/es.po: Updated Spanish translation.

View File

@ -14506,7 +14506,8 @@ elf32_arm_output_arch_local_syms (bfd *output_bfd,
== SEC_HAS_CONTENTS
&& get_arm_elf_section_data (osi.sec) != NULL
&& get_arm_elf_section_data (osi.sec)->mapcount == 0
&& osi.sec->size > 0)
&& osi.sec->size > 0
&& (osi.sec->flags & SEC_EXCLUDE) == 0)
{
osi.sec_shndx = _bfd_elf_section_from_bfd_section
(output_bfd, osi.sec->output_section);

View File

@ -1,3 +1,12 @@
2011-09-01 Christophe Lyon <christophe.lyon@st.com>
* ld-arm/arm-elf.exp: Add new rodata-merge-map test.
* ld-arm/rodata-merge-map.ld: New file.
* ld-arm/rodata-merge-map.sym: Likewise.
* ld-arm/rodata-merge-map1.s Likewise.
* ld-arm/rodata-merge-map2.s: Likewise.
* ld-arm/rodata-merge-map3.s: Likewise.
2011-08-22 Alan Modra <amodra@gmail.com>
* ld-powerpc/tocopt4a.s, * ld-powerpc/tocopt4b.s,

View File

@ -323,6 +323,9 @@ set armelftests {
{"Data only mapping symbols" "-T data-only-map.ld -Map map" "" {data-only-map.s}
{{objdump -dr data-only-map.d}}
"data-only-map"}
{"Data only mapping symbols for merged sections" "-T rodata-merge-map.ld" "" {rodata-merge-map1.s rodata-merge-map2.s rodata-merge-map3.s}
{{readelf -s rodata-merge-map.sym}}
"rodata-merge-map"}
{"GOT relocations in executables (setup)" "-shared"
"" {exec-got-1a.s}
{}

View File

@ -0,0 +1,9 @@
/* Script for ld testsuite */
OUTPUT_ARCH(arm)
SECTIONS
{
.rodata :
{
*(.rodata*)
}
}

View File

@ -0,0 +1,8 @@
Symbol table '.symtab' contains 5 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT 1
2: 00000000 0 SECTION LOCAL DEFAULT 2
3: 00000000 0 NOTYPE LOCAL DEFAULT 1 \$d
4: 0000000c 0 NOTYPE LOCAL DEFAULT 1 \$d

View File

@ -0,0 +1,8 @@
@ Test to ensure that no nameless mapping symbol is inserted
@ within a merged section.
@ This file contains the 1st contribution, which is expected to
@ generate a $d symbol at its beginning.
.section .rodata.str1.1,"aMS",%progbits,1
.LC0:
.string "Hello world"

View File

@ -0,0 +1,9 @@
@ This file contains the 2nd contribution, which is expected to
@ be fully merged into the 1st contribution (from
@ rodata-merge-map1.s), and generate no mapping symbol (which
@ would otherwise be converted in a symbol table entry with no
@ name).
.section .rodata.str1.1,"aMS",%progbits,1
.LC0:
.string "world"

View File

@ -0,0 +1,9 @@
@ This file contains the 3rd contribution, which is expected to
@ be partially merged into the 1st contribution (from
@ rodata-merge-map1.s), and generate a (redundant, but harmless)
@ $d mapping symbol.
.section .rodata.str1.1,"aMS",%progbits,1
.LC0:
.string "foo"
.string "world"