diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 9 | ||||
-rw-r--r-- | ld/testsuite/ld-msp430-elf/attr-gnu-main.s | 8 | ||||
-rw-r--r-- | ld/testsuite/ld-msp430-elf/attr-gnu-obj.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-msp430-elf/attr-gnu-region-lower-upper.d | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-msp430-elf/attr-gnu-region-lower.d | 12 | ||||
-rw-r--r-- | ld/testsuite/ld-msp430-elf/attr-gnu-region-upper.d | 13 | ||||
-rw-r--r-- | ld/testsuite/ld-msp430-elf/msp430-elf.exp | 12 |
7 files changed, 61 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index ddec8c79ce3..a5457654088 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +2019-10-07 Jozef Lawrynowicz <jozef.l@mittosystems.com> + + * testsuite/ld-msp430-elf/attr-gnu-main.s: New test. + * testsuite/ld-msp430-elf/attr-gnu-obj.s: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-lower-upper.d: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-lower.d: New test. + * testsuite/ld-msp430-elf/attr-gnu-region-upper.d: New test. + * testsuite/ld-msp430-elf/msp430-elf.exp: Run new tests. + 2019-10-07 Alan Modra <amodra@gmail.com> * ldmisc.c (vfinfo): Save and restore bfd_error around bfd diff --git a/ld/testsuite/ld-msp430-elf/attr-gnu-main.s b/ld/testsuite/ld-msp430-elf/attr-gnu-main.s new file mode 100644 index 00000000000..e07a58ca709 --- /dev/null +++ b/ld/testsuite/ld-msp430-elf/attr-gnu-main.s @@ -0,0 +1,8 @@ +.text + .balign 2 + .global main + .type main, @function +main: +.L2: + BRA #.L2 + .size main, .-main diff --git a/ld/testsuite/ld-msp430-elf/attr-gnu-obj.s b/ld/testsuite/ld-msp430-elf/attr-gnu-obj.s new file mode 100644 index 00000000000..d256e409c20 --- /dev/null +++ b/ld/testsuite/ld-msp430-elf/attr-gnu-obj.s @@ -0,0 +1,2 @@ +.text + .comm a,2,2 diff --git a/ld/testsuite/ld-msp430-elf/attr-gnu-region-lower-upper.d b/ld/testsuite/ld-msp430-elf/attr-gnu-region-lower-upper.d new file mode 100644 index 00000000000..70f8e350041 --- /dev/null +++ b/ld/testsuite/ld-msp430-elf/attr-gnu-region-lower-upper.d @@ -0,0 +1,6 @@ +#name: prevent merging of lower and upper attributes +#source: attr-gnu-main.s -ml -mdata-region=lower +#source: attr-gnu-obj.s -ml -mdata-region=upper +#ld: +#error: .*can use the upper region for data, but.*assumes data is exclusively in lower memory.* +#error: .*failed to merge target specific data of file.* diff --git a/ld/testsuite/ld-msp430-elf/attr-gnu-region-lower.d b/ld/testsuite/ld-msp430-elf/attr-gnu-region-lower.d new file mode 100644 index 00000000000..57345aadebd --- /dev/null +++ b/ld/testsuite/ld-msp430-elf/attr-gnu-region-lower.d @@ -0,0 +1,12 @@ +#source: attr-gnu-main.s -ml -mdata-region=lower +#source: attr-gnu-obj.s -ml +#readelf: -A + +Attribute Section: mspabi +File Attributes + Tag_ISA: MSP430X + Tag_Code_Model: Large + Tag_Data_Model: Large +Attribute Section: gnu +File Attributes + Tag_GNU_MSP430_Data_Region: Lower Region Only diff --git a/ld/testsuite/ld-msp430-elf/attr-gnu-region-upper.d b/ld/testsuite/ld-msp430-elf/attr-gnu-region-upper.d new file mode 100644 index 00000000000..225968dc445 --- /dev/null +++ b/ld/testsuite/ld-msp430-elf/attr-gnu-region-upper.d @@ -0,0 +1,13 @@ +#source: attr-gnu-main.s -ml -mdata-region=upper +#source: attr-gnu-obj.s -ml -mdata-region=none +#ld: --data-region=either +#readelf: -A + +Attribute Section: mspabi +File Attributes + Tag_ISA: MSP430X + Tag_Code_Model: Large + Tag_Data_Model: Large +Attribute Section: gnu +File Attributes + Tag_GNU_MSP430_Data_Region: Any Region diff --git a/ld/testsuite/ld-msp430-elf/msp430-elf.exp b/ld/testsuite/ld-msp430-elf/msp430-elf.exp index b6f3151c80d..08620b57ff5 100644 --- a/ld/testsuite/ld-msp430-elf/msp430-elf.exp +++ b/ld/testsuite/ld-msp430-elf/msp430-elf.exp @@ -46,6 +46,7 @@ if { ![istarget "msp430*elf*"] } { # treated as a sign of an error and FAILs the test. # # + set msp430regionprefixtests { {"Move main() to .upper.text" "-T msp430.ld --code-region=upper" "" "" {main-with-text-rodata.s} {{objdump -d main-text-upper.d}} "main-upper"} @@ -162,7 +163,7 @@ set msp430warntests { {{ld warn-no-lower-data.r}} "warn-no-lower-data"} } -# Don't run section shuffle tests when msp430 ISA is selected +# Don't run further tests when msp430 ISA is selected if {[string match "*-mcpu=msp430 *" [board_info [target_info name] multilib_flags]] || [string match "*-mcpu=msp430" [board_info [target_info name] multilib_flags]]} { return @@ -173,3 +174,12 @@ run_ld_link_tests $msp430eithershuffletests run_ld_link_tests $msp430warntests run_dump_test valid-map + +# Don't run data region tests if a data region is specified +if {[string match "*-mdata-region*" [board_info [target_info name] multilib_flags]]} { + return +} +# GNU object attribute dump tests +run_dump_test attr-gnu-region-lower +run_dump_test attr-gnu-region-upper +run_dump_test attr-gnu-region-lower-upper |