| Line 135... |
Line 135... |
{{objdump -s arm-rel31.d}}
|
{{objdump -s arm-rel31.d}}
|
"arm-rel31"}
|
"arm-rel31"}
|
{"arm-rel32" "-shared -T arm-dyn.ld" "" {arm-rel32.s}
|
{"arm-rel32" "-shared -T arm-dyn.ld" "" {arm-rel32.s}
|
{{objdump -Rsj.data arm-rel32.d}}
|
{{objdump -Rsj.data arm-rel32.d}}
|
"arm-rel32"}
|
"arm-rel32"}
|
{"arm-call" "-static -T arm.ld" "-meabi=4" {arm-call1.s arm-call2.s}
|
{"arm-call" "--no-fix-arm1176 -static -T arm.ld" "-meabi=4" {arm-call1.s arm-call2.s}
|
{{objdump -d arm-call.d}}
|
{{objdump -d arm-call.d}}
|
"arm-call"}
|
"arm-call"}
|
{"TLS shared library" "-shared -T arm-lib.ld" "" {tls-lib.s}
|
{"TLS shared library" "-shared -T arm-lib.ld" "" {tls-lib.s}
|
{{objdump -fdw tls-lib.d} {objdump -Rw tls-lib.r}}
|
{{objdump -fdw tls-lib.d} {objdump -Rw tls-lib.r}}
|
"tls-lib.so"}
|
"tls-lib.so"}
|
| Line 147... |
Line 147... |
{{objdump -fdw tls-app.d} {objdump -Rw tls-app.r}}
|
{{objdump -fdw tls-app.d} {objdump -Rw tls-app.r}}
|
"tls-app"}
|
"tls-app"}
|
{"TLS gnu shared library got" "-shared -T arm-dyn.ld" "" {tls-gdesc-got.s}
|
{"TLS gnu shared library got" "-shared -T arm-dyn.ld" "" {tls-gdesc-got.s}
|
{{objdump "-fDR -j .got" tls-gdesc-got.d}}
|
{{objdump "-fDR -j .got" tls-gdesc-got.d}}
|
"tls-lib2-got.so"}
|
"tls-lib2-got.so"}
|
{"TLS gnu shared library inlined trampoline" "-shared -T arm-dyn.ld" "" {tls-descseq.s}
|
{"TLS gnu shared library inlined trampoline" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-descseq.s}
|
{{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}}
|
{{objdump -fdw tls-descseq.d} {objdump -Rw tls-descseq.r}}
|
"tls-lib2inline.so"}
|
"tls-lib2inline.so"}
|
{"TLS shared library gdesc local" "-shared -T arm-dyn.ld" "" {tls-lib-loc.s}
|
{"TLS shared library gdesc local" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-lib-loc.s}
|
{{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}}
|
{{objdump -fdw tls-lib-loc.d} {objdump -Rw tls-lib-loc.r}}
|
"tls-lib-loc.so"}
|
"tls-lib-loc.so"}
|
{"TLS gnu GD to IE relaxation" "-static -T arm-dyn.ld" "" {tls-gdierelax.s}
|
{"TLS gnu GD to IE relaxation" "-static -T arm-dyn.ld" "" {tls-gdierelax.s}
|
{{objdump -fdw tls-gdierelax.d}}
|
{{objdump -fdw tls-gdierelax.d}}
|
"tls-app-rel-ie"}
|
"tls-app-rel-ie"}
|
{"TLS gnu GD to IE shared relaxation" "-shared -T arm-dyn.ld" "" {tls-gdierelax2.s}
|
{"TLS gnu GD to IE shared relaxation" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-gdierelax2.s}
|
{{objdump -fdw tls-gdierelax2.d}}
|
{{objdump -fdw tls-gdierelax2.d}}
|
"tls-app-rel-ie2"}
|
"tls-app-rel-ie2"}
|
{"TLS gnu GD to LE relaxation" "-T arm-dyn.ld" "" {tls-gdlerelax.s}
|
{"TLS gnu GD to LE relaxation" "-T arm-dyn.ld" "" {tls-gdlerelax.s}
|
{{objdump -fdw tls-gdlerelax.d}}
|
{{objdump -fdw tls-gdlerelax.d}}
|
"tls-app-rel-le"}
|
"tls-app-rel-le"}
|
| Line 505... |
Line 505... |
{{objdump -dw movw-merge.d}}
|
{{objdump -dw movw-merge.d}}
|
"movw-merge"}
|
"movw-merge"}
|
{"MOVW/MOVT against shared libraries" "tmpdir/arm-lib.so" "" {arm-app-movw.s}
|
{"MOVW/MOVT against shared libraries" "tmpdir/arm-lib.so" "" {arm-app-movw.s}
|
{{objdump -Rw arm-app.r}}
|
{{objdump -Rw arm-app.r}}
|
"arm-app-movw"}
|
"arm-app-movw"}
|
{"Thumb-2-as-Thumb-1 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-as-thumb1-bad.s}
|
{"Thumb-2-as-Thumb-1 BL" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-as-thumb1-bad.s}
|
{{objdump -d thumb2-bl-as-thumb1-bad.d}}
|
{{objdump -d thumb2-bl-as-thumb1-bad.d}}
|
"thumb2-bl-as-thumb1-bad"}
|
"thumb2-bl-as-thumb1-bad"}
|
{"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-bad.s}
|
{"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x100100c" "" {thumb2-bl-bad.s}
|
{{objdump -d thumb2-bl-bad.d}}
|
{{objdump -d thumb2-bl-bad.d}}
|
"thumb2-bl-bad"}
|
"thumb2-bl-bad"}
|
| Line 528... |
Line 528... |
"farcall-arm-arm-be"}
|
"farcall-arm-arm-be"}
|
|
|
{"ARM-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "" {farcall-arm-thumb.s}
|
{"ARM-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "" {farcall-arm-thumb.s}
|
{{objdump -d farcall-arm-thumb.d}}
|
{{objdump -d farcall-arm-thumb.d}}
|
"farcall-arm-thumb"}
|
"farcall-arm-thumb"}
|
{"ARM-Thumb farcall with BLX" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-arm-thumb.s}
|
{"ARM-Thumb farcall with BLX" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-arm-thumb.s}
|
{{objdump -d farcall-arm-thumb-blx.d}}
|
{{objdump -d farcall-arm-thumb-blx.d}}
|
"farcall-arm-thumb-blx"}
|
"farcall-arm-thumb-blx"}
|
{"ARM-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" {farcall-arm-thumb.s}
|
{"ARM-Thumb farcall (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "" {farcall-arm-thumb.s}
|
{{objdump -d farcall-arm-thumb-pic-veneer.d}}
|
{{objdump -d farcall-arm-thumb-pic-veneer.d}}
|
"farcall-arm-thumb-pic-veneer"}
|
"farcall-arm-thumb-pic-veneer"}
|
{"ARM-Thumb farcall with BLX (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-arm-thumb.s}
|
{"ARM-Thumb farcall with BLX (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-arm-thumb.s}
|
{{objdump -d farcall-arm-thumb-blx-pic-veneer.d}}
|
{{objdump -d farcall-arm-thumb-blx-pic-veneer.d}}
|
"farcall-arm-thumb-blx-pic-veneer"}
|
"farcall-arm-thumb-blx-pic-veneer"}
|
|
|
{"Thumb-Thumb farcall with BLX" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-thumb-thumb.s}
|
{"Thumb-Thumb farcall with BLX" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv5t" {farcall-thumb-thumb.s}
|
{{objdump -d farcall-thumb-thumb-blx.d}}
|
{{objdump -d farcall-thumb-thumb-blx.d}}
|
"farcall-thumb-thumb-blx"}
|
"farcall-thumb-thumb-blx"}
|
{"Thumb-Thumb farcall M profile" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv7-m" {farcall-thumb-thumb.s}
|
{"Thumb-Thumb farcall M profile" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv7-m" {farcall-thumb-thumb.s}
|
{{objdump -d farcall-thumb-thumb-m.d}}
|
{{objdump -d farcall-thumb-thumb-m.d}}
|
"farcall-thumb-thumb-m"}
|
"farcall-thumb-thumb-m"}
|
| Line 550... |
Line 550... |
{{objdump -d farcall-thumb-thumb-m.d}}
|
{{objdump -d farcall-thumb-thumb-m.d}}
|
"farcall-thumb-thumb-v6-m"}
|
"farcall-thumb-thumb-v6-m"}
|
{"Thumb-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv4t" {farcall-thumb-thumb.s}
|
{"Thumb-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "-march=armv4t" {farcall-thumb-thumb.s}
|
{{objdump -d farcall-thumb-thumb.d}}
|
{{objdump -d farcall-thumb-thumb.d}}
|
"farcall-thumb-thumb"}
|
"farcall-thumb-thumb"}
|
{"Thumb-Thumb farcall with BLX (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-thumb-thumb.s}
|
{"Thumb-Thumb farcall with BLX (PIC veneer)" "--no-fix-arm1176 -Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv5t" {farcall-thumb-thumb.s}
|
{{objdump -d farcall-thumb-thumb-blx-pic-veneer.d}}
|
{{objdump -d farcall-thumb-thumb-blx-pic-veneer.d}}
|
"farcall-thumb-thumb-blx-pic-veneer"}
|
"farcall-thumb-thumb-blx-pic-veneer"}
|
{"Thumb-Thumb farcall M profile (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv7-m" {farcall-thumb-thumb.s}
|
{"Thumb-Thumb farcall M profile (PIC veneer)" "-Ttext 0x1000 --section-start .foo=0x2001014 --pic-veneer" "-march=armv7-m" {farcall-thumb-thumb.s}
|
{{objdump -d farcall-thumb-thumb-m-pic-veneer.d}}
|
{{objdump -d farcall-thumb-thumb-m-pic-veneer.d}}
|
"farcall-thumb-thumb-m-pic-veneer"}
|
"farcall-thumb-thumb-m-pic-veneer"}
|
| Line 572... |
Line 572... |
{{objdump -d farcall-thumb-arm.d}}
|
{{objdump -d farcall-thumb-arm.d}}
|
"farcall-thumb-arm-be"}
|
"farcall-thumb-arm-be"}
|
{"Thumb-ARM (short) call" "-Ttext 0x1000 --section-start .foo=0x0002014" "-W" {farcall-thumb-arm-short.s}
|
{"Thumb-ARM (short) call" "-Ttext 0x1000 --section-start .foo=0x0002014" "-W" {farcall-thumb-arm-short.s}
|
{{objdump -d farcall-thumb-arm-short.d}}
|
{{objdump -d farcall-thumb-arm-short.d}}
|
"farcall-thumb-arm-short"}
|
"farcall-thumb-arm-short"}
|
{"Thumb-ARM farcall with BLX" "-Ttext 0x1c01010 --section-start .foo=0x2001014" "-W -march=armv5t" {farcall-thumb-arm.s}
|
{"Thumb-ARM farcall with BLX" "--no-fix-arm1176 -Ttext 0x1c01010 --section-start .foo=0x2001014" "-W -march=armv5t" {farcall-thumb-arm.s}
|
{{objdump -d farcall-thumb-arm-blx.d}}
|
{{objdump -d farcall-thumb-arm-blx.d}}
|
"farcall-thumb-arm-blx"}
|
"farcall-thumb-arm-blx"}
|
{"Thumb-ARM farcall with BLX (PIC veneer)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W -march=armv5t" {farcall-thumb-arm.s}
|
{"Thumb-ARM farcall with BLX (PIC veneer)" "--no-fix-arm1176 -Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W -march=armv5t" {farcall-thumb-arm.s}
|
{{objdump -d farcall-thumb-arm-blx-pic-veneer.d}}
|
{{objdump -d farcall-thumb-arm-blx-pic-veneer.d}}
|
"farcall-thumb-arm-blx-pic-veneer"}
|
"farcall-thumb-arm-blx-pic-veneer"}
|
{"Thumb-ARM farcall (PIC veneer)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W" {farcall-thumb-arm.s}
|
{"Thumb-ARM farcall (PIC veneer)" "-Ttext 0x1c01010 --section-start .foo=0x2001014 --pic-veneer" "-W" {farcall-thumb-arm.s}
|
{{objdump -d farcall-thumb-arm-pic-veneer.d}}
|
{{objdump -d farcall-thumb-arm-pic-veneer.d}}
|
"farcall-thumb-arm-pic-veneer"}
|
"farcall-thumb-arm-pic-veneer"}
|
| Line 615... |
Line 615... |
{"Mixed ARM/Thumb shared library with long branches (v4t)" "-shared -T arm-lib.ld" "-march=armv4t"
|
{"Mixed ARM/Thumb shared library with long branches (v4t)" "-shared -T arm-lib.ld" "-march=armv4t"
|
{farcall-mixed-lib1.s farcall-mixed-lib2.s}
|
{farcall-mixed-lib1.s farcall-mixed-lib2.s}
|
{{objdump -fdw farcall-mixed-lib-v4t.d}}
|
{{objdump -fdw farcall-mixed-lib-v4t.d}}
|
"farcall-mixed-lib.so"}
|
"farcall-mixed-lib.so"}
|
|
|
{"Mixed ARM/Thumb shared library with long branches (v5t)" "-shared -T arm-lib.ld" "-march=armv5t"
|
{"Mixed ARM/Thumb shared library with long branches (v5t)" "--no-fix-arm1176 -shared -T arm-lib.ld" "-march=armv5t"
|
{farcall-mixed-lib1.s farcall-mixed-lib2.s}
|
{farcall-mixed-lib1.s farcall-mixed-lib2.s}
|
{{objdump -fdw farcall-mixed-lib.d}}
|
{{objdump -fdw farcall-mixed-lib.d}}
|
"farcall-mixed-lib.so"}
|
"farcall-mixed-lib.so"}
|
|
|
{"Long branch with mixed text and data" "-T arm.ld" "" {farcall-data.s}
|
{"Long branch with mixed text and data" "-T arm.ld" "" {farcall-data.s}
|
{{objdump -dr farcall-data.d}}
|
{{objdump -dr farcall-data.d}}
|
"farcall-data"}
|
"farcall-data"}
|
|
|
{"R_ARM_THM_JUMP24 Relocation veneers: Short 1"
|
{"R_ARM_THM_JUMP24 Relocation veneers: Short 1"
|
"--section-start destsect=0x00009000 --section-start .text=0x8000"
|
"--no-fix-arm1176 --section-start destsect=0x00009000 --section-start .text=0x8000"
|
"-march=armv7-a -mthumb"
|
"-march=armv7-a -mthumb"
|
{jump-reloc-veneers.s}
|
{jump-reloc-veneers.s}
|
{{objdump -d jump-reloc-veneers-short1.d}}
|
{{objdump -d jump-reloc-veneers-short1.d}}
|
"jump-reloc-veneers-short1"}
|
"jump-reloc-veneers-short1"}
|
{"R_ARM_THM_JUMP24 Relocation veneers: Short 2"
|
{"R_ARM_THM_JUMP24 Relocation veneers: Short 2"
|
"--section-start destsect=0x00900000 --section-start .text=0x8000"
|
"--no-fix-arm1176 --section-start destsect=0x00900000 --section-start .text=0x8000"
|
"-march=armv7-a -mthumb"
|
"-march=armv7-a -mthumb"
|
{jump-reloc-veneers.s}
|
{jump-reloc-veneers.s}
|
{{objdump -d jump-reloc-veneers-short2.d}}
|
{{objdump -d jump-reloc-veneers-short2.d}}
|
"jump-reloc-veneers-short2"}
|
"jump-reloc-veneers-short2"}
|
{"R_ARM_THM_JUMP24 Relocation veneers: Long"
|
{"R_ARM_THM_JUMP24 Relocation veneers: Long"
|
"--section-start destsect=0x09000000 --section-start .text=0x8000"
|
"--no-fix-arm1176 --section-start destsect=0x09000000 --section-start .text=0x8000"
|
"-march=armv7-a -mthumb"
|
"-march=armv7-a -mthumb"
|
{jump-reloc-veneers.s}
|
{jump-reloc-veneers.s}
|
{{objdump -d jump-reloc-veneers-long.d}}
|
{{objdump -d jump-reloc-veneers-long.d}}
|
"jump-reloc-veneers-long"}
|
"jump-reloc-veneers-long"}
|
{"TLS gnu shared library" "-shared -T arm-dyn.ld" "" {tls-gdesc.s}
|
{"TLS gnu shared library" "--no-fix-arm1176 -shared -T arm-dyn.ld" "" {tls-gdesc.s}
|
{{objdump -fdw tls-gdesc.d} {objdump -Rw tls-gdesc.r}}
|
{{objdump -fdw tls-gdesc.d} {objdump -Rw tls-gdesc.r}}
|
"tls-lib2.so"}
|
"tls-lib2.so"}
|
{"TLS gnu shared library non-lazy" "-z now -shared -T arm-dyn.ld" "" {tls-gdesc.s}
|
{"TLS gnu shared library non-lazy" "-z now -shared -T arm-dyn.ld" "" {tls-gdesc.s}
|
{{readelf "-x .got" tls-gdesc-nlazy.g}}
|
{{readelf "-x .got" tls-gdesc-nlazy.g}}
|
"tls-lib2-nlazy.so"}
|
"tls-lib2-nlazy.so"}
|
| Line 657... |
Line 657... |
{{objdump -fdw tls-longplt.d}}
|
{{objdump -fdw tls-longplt.d}}
|
"tls-longplt"}
|
"tls-longplt"}
|
{"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" {tls-thumb1.s}
|
{"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" {tls-thumb1.s}
|
{{objdump -fdw tls-thumb1.d}}
|
{{objdump -fdw tls-thumb1.d}}
|
"tls-thumb1"}
|
"tls-thumb1"}
|
|
|
|
{"erratum 760522 fix (default for v6z)" "--section-start=.foo=0x2001014"
|
|
"-march=armv6z" {fix-arm1176.s}
|
|
{{objdump -d fix-arm1176-on.d}}
|
|
"fix-arm1176-1"}
|
|
{"erratum 760522 fix (explicitly on at v6z)" "--section-start=.foo=0x2001014 --fix-arm1176"
|
|
"-march=armv6z" {fix-arm1176.s}
|
|
{{objdump -d fix-arm1176-on.d}}
|
|
"fix-arm1176-2"}
|
|
{"erratum 760522 fix (explicitly off at v6z)" "--section-start=.foo=0x2001014 --no-fix-arm1176"
|
|
"-march=armv6z" {fix-arm1176.s}
|
|
{{objdump -d fix-arm1176-off.d}}
|
|
"fix-arm1176-3"}
|
|
{"erratum 760522 fix (default for v5)" "--section-start=.foo=0x2001014 "
|
|
"-march=armv5te" {fix-arm1176.s}
|
|
{{objdump -d fix-arm1176-on.d}}
|
|
"fix-arm1176-4"}
|
|
{"erratum 760522 fix (default for v7-a)" "--section-start=.foo=0x2001014 "
|
|
"-march=armv7-a" {fix-arm1176.s}
|
|
{{objdump -d fix-arm1176-off.d}}
|
|
"fix-arm1176-5"}
|
|
{"erratum 760522 fix (default for ARM1156)" "--section-start=.foo=0x2001014 "
|
|
"-mcpu=arm1156t2f-s" {fix-arm1176.s}
|
|
{{objdump -d fix-arm1176-off.d}}
|
|
"fix-arm1176-6"}
|
}
|
}
|
|
|
run_ld_link_tests $armeabitests
|
run_ld_link_tests $armeabitests
|
run_dump_test "attr-merge-wchar-00"
|
run_dump_test "attr-merge-wchar-00"
|
run_dump_test "attr-merge-wchar-02"
|
run_dump_test "attr-merge-wchar-02"
|