mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 05:47:26 +08:00
MSP430: Add input section rules for .upper sections to default linker script
ld/ChangeLog: 2020-01-16 Jozef Lawrynowicz <jozef.l@mittosystems.com> * scripttempl/elf32msp430.sc: Add input section rules for .upper.{text,data,rodata,bss}. * testsuite/ld-msp430-elf/msp430-elf.exp: Run new test. * testsuite/ld-msp430-elf/upper-input-sections.s: New test.
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2020-01-16 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
||||||
|
|
||||||
|
* scripttempl/elf32msp430.sc: Add input section rules for
|
||||||
|
.upper.{text,data,rodata,bss}.
|
||||||
|
* testsuite/ld-msp430-elf/msp430-elf.exp: Run new test.
|
||||||
|
* testsuite/ld-msp430-elf/upper-input-sections.s: New test.
|
||||||
|
|
||||||
2020-01-15 Lars Brinkhoff <lars@nocrew.org>
|
2020-01-15 Lars Brinkhoff <lars@nocrew.org>
|
||||||
|
|
||||||
PR 20694
|
PR 20694
|
||||||
|
@ -171,6 +171,8 @@ SECTIONS
|
|||||||
|
|
||||||
*(.either.text.* .either.text)
|
*(.either.text.* .either.text)
|
||||||
|
|
||||||
|
*(.upper.text.* .upper.text)
|
||||||
|
|
||||||
. = ALIGN(2);
|
. = ALIGN(2);
|
||||||
*(SORT_NONE(.fini9))
|
*(SORT_NONE(.fini9))
|
||||||
*(SORT_NONE(.fini8))
|
*(SORT_NONE(.fini8))
|
||||||
@ -198,6 +200,9 @@ SECTIONS
|
|||||||
${RELOCATING+*(.rodata1)
|
${RELOCATING+*(.rodata1)
|
||||||
|
|
||||||
*(.either.rodata.*) *(.either.rodata)
|
*(.either.rodata.*) *(.either.rodata)
|
||||||
|
|
||||||
|
*(.upper.rodata.* .upper.rodata)
|
||||||
|
|
||||||
*(.eh_frame_hdr)
|
*(.eh_frame_hdr)
|
||||||
KEEP (*(.eh_frame))
|
KEEP (*(.eh_frame))
|
||||||
|
|
||||||
@ -267,6 +272,8 @@ SECTIONS
|
|||||||
|
|
||||||
*(.either.data.* .either.data)
|
*(.either.data.* .either.data)
|
||||||
|
|
||||||
|
*(.upper.data.* .upper.data)
|
||||||
|
|
||||||
*(.got.plt) *(.got)
|
*(.got.plt) *(.got)
|
||||||
. = ALIGN(2);
|
. = ALIGN(2);
|
||||||
*(.sdata .sdata.* .gnu.linkonce.s.*)
|
*(.sdata .sdata.* .gnu.linkonce.s.*)
|
||||||
@ -286,6 +293,7 @@ SECTIONS
|
|||||||
. = ALIGN(2);}
|
. = ALIGN(2);}
|
||||||
*(.bss)
|
*(.bss)
|
||||||
${RELOCATING+*(.either.bss.* .either.bss)
|
${RELOCATING+*(.either.bss.* .either.bss)
|
||||||
|
*(.upper.bss.* .upper.bss)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
PROVIDE (__bss_end = .);}
|
PROVIDE (__bss_end = .);}
|
||||||
} ${RELOCATING+ > data}
|
} ${RELOCATING+ > data}
|
||||||
|
@ -176,6 +176,8 @@ run_ld_link_tests $msp430warntests
|
|||||||
run_dump_test valid-map
|
run_dump_test valid-map
|
||||||
run_ld_link_tests {{ "Check no reloc overflow with #lo and data in the upper region"
|
run_ld_link_tests {{ "Check no reloc overflow with #lo and data in the upper region"
|
||||||
"-m msp430X" "" "" {reloc-lo-430x.s} {} "reloc-lo-430x"}}
|
"-m msp430X" "" "" {reloc-lo-430x.s} {} "reloc-lo-430x"}}
|
||||||
|
run_ld_link_tests {{ "Check .upper prefixed input sections can be placed"
|
||||||
|
"-m msp430X" "" "" {upper-input-sections.s} {} "upper-input-sections"}}
|
||||||
|
|
||||||
# Don't run data region tests if a data region is specified
|
# Don't run data region tests if a data region is specified
|
||||||
if {[string match "*-mdata-region*" [board_info [target_info name] multilib_flags]]} {
|
if {[string match "*-mdata-region*" [board_info [target_info name] multilib_flags]]} {
|
||||||
|
33
ld/testsuite/ld-msp430-elf/upper-input-sections.s
Normal file
33
ld/testsuite/ld-msp430-elf/upper-input-sections.s
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
.text
|
||||||
|
.balign 2
|
||||||
|
.section .upper.text,"ax",@progbits
|
||||||
|
.global foo
|
||||||
|
.type foo, @function
|
||||||
|
foo:
|
||||||
|
MOV.W #42, R8
|
||||||
|
RETA
|
||||||
|
.size foo, .-foo
|
||||||
|
|
||||||
|
.balign 2
|
||||||
|
.global main
|
||||||
|
.type main, @function
|
||||||
|
main:
|
||||||
|
CALLA #foo
|
||||||
|
.L4:
|
||||||
|
BRA #.L4
|
||||||
|
.size main, .-main
|
||||||
|
.section .upper.bss,"aw",@nobits
|
||||||
|
.balign 2
|
||||||
|
.global P
|
||||||
|
P:
|
||||||
|
.zero 4
|
||||||
|
.section .upper.data,"aw",@progbits
|
||||||
|
.balign 2
|
||||||
|
.global Q
|
||||||
|
Q:
|
||||||
|
.long 4
|
||||||
|
.section .upper.rodata,"aw",@progbits
|
||||||
|
.balign 2
|
||||||
|
.global R
|
||||||
|
R:
|
||||||
|
.word 8
|
Reference in New Issue
Block a user