diff options
Diffstat (limited to 'binutils-2.25/ld/testsuite')
45 files changed, 281 insertions, 159 deletions
diff --git a/binutils-2.25/ld/testsuite/ChangeLog b/binutils-2.25/ld/testsuite/ChangeLog index e09af2b4..1526978c 100644 --- a/binutils-2.25/ld/testsuite/ChangeLog +++ b/binutils-2.25/ld/testsuite/ChangeLog @@ -1,38 +1,66 @@ -2014-11-18 H.J. Lu <hongjiu.lu@intel.com> +2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com> - * ld-x86-64/mpx.exp: Always run mpx3 and mpx4 tests in 64-bit. + * ld-arm/attr-merge-2a.s: Add Tag_ABI_VFP_args. + * ld-arm/attr-merge-2b.s: Likewise. + * ld-arm/attr-merge-2.attr: Likewise. + * ld-arm/attr-merge-4a.s: Add Tag_ABI_FP_number_model and + Tag_ABI_VFP_args. + * ld-arm/attr-merge-4b.s: Likewise. + * ld-arm/attr-merge-4.attr: Likewise. + * ld-arm/attr-merge-6a.s: Likewise. + * ld-arm/attr-merge-6b.s: Likewise. + * ld-arm/attr-merge-6.attr: Add Tag_ABI_FP_number_model. -2014-11-18 Igor Zamyatin <igor.zamyatin@intel.com> +2015-04-01 Tejas Belagod <tejas.belagod@arm.com> - * ld-x86-64/bnd-ifunc-1.d: Add bndplt option. - * ld-x86-64/bnd-ifunc-2.d: Likewise. - * ld-x86-64/bnd-plt-1.d: Likewise. Update dissassembly sections. - * ld-x86-64/mpx.exp: Handle mpx3 and mpx4 tests. - * ld-x86-64/mpx1a.rd: Remove _BND from relocation name. - * ld-x86-64/mpx1c.rd: Likewise. - * ld-x86-64/mpx2a.rd: Likewise. - * ld-x86-64/mpx2c.rd: Likewise. - * ld-x86-64/mpx3.dd: New file. - * ld-x86-64/mpx3a.s: Likewise. - * ld-x86-64/mpx3b.s: Likewise. - * ld-x86-64/mpx4.dd: Likewise. - * ld-x86-64/mpx4a.s: Likewise. - * ld-x86-64/mpx4b.s: Likewise. - -2014-11-10 Matthew Fortune <matthew.fortune@imgtec.com> - - Apply trunk patch: - * ld-mips-elf/abiflags-strip10-ph.d: New file. - * ld-mips-elf/mips-eld.exp: Run the new test. + * ld-aarch64/aarch64-elf.exp: Add erratum843419 test. + * ld-aarch64/erratum843419.d: New. + * ld-aarch64/erratum843419.s: New. -2014-11-07 H.J. Lu <hongjiu.lu@intel.com> +2015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * ld-aarch64/erratum835769.d: Adjust for initial branch over stub + section. + * ld-aarch64/farcall-b.d: Likewise. + * ld-aarch64/farcall-bl.d: Likewise. + * ld-aarch64/farcall-back.d: Likewise. + +2015-03-25 Marcus Shawcroft <marcus.shawcroft@arm.com> + + * ld-aarch64/erratum835769.d: Adjust for removal of padding before + 835769 workaround stubs. + +2014-11-13 H.J. Lu <hongjiu.lu@intel.com> + + PR gas/17598 + * ld-x86-64/x86-64.exp: Run gotplt1. - Apply trunk patch: - 2014-11-07 H.J. Lu <hongjiu.lu@intel.com> + * ld-x86-64/gotplt1.d: New file. + * ld-x86-64/gotplt1.s: Likewise. + +2014-11-11 Jiong Wang <jiong.wang@arm.com> + + * lib/ld-lib.exp (run_ld_link_exec_tests): Append board_cflags if gcc + driver used as link tool. + (run_cc_link_exec_tests): Likewise. + +2014-11-07 H.J. Lu <hongjiu.lu@intel.com> PR ld/17482 * ld-x86-64/tlsie4.dd: Updated. +2014-11-05 Matthew Fortune <matthew.fortune@imgtec.com> + + * ld-mips-elf/abiflags-strip10-ph.d: New file. + * ld-mips-elf/mips-eld.exp: Run the new test. + +2014-10-30 Will Newton <will.newton@linaro.org> + + * ld-unique/unique.exp: Use a wider glob for matching ARM + targets. + * ld-unique/unique.s: Use % instead of @ in .type directive. + * ld-unique/unique_shared.s: Likewise. + 2014-10-24 Tejas Belagod <tejas.belagod@arm.com> * ld-aarch64/aarch64-elf.exp (aarch64elftests): Drive erratum @@ -42,7 +70,6 @@ 2014-10-17 Hans-Peter Nilsson <hp@axis.com> - Backport from master * ld-scripts/sysroot-prefix.exp: Log $ld_sysroot. Handle sysroot == "/" as a separate sysroot-configuration with separable test-types. @@ -55,7 +82,6 @@ 2014-10-15 Hans-Peter Nilsson <hp@axis.com> - Backport "="-ldscript-path-prefix changes from master. * ld-scripts/sysroot-prefix.exp, ld-scripts/sysroot-prefix-x.s, ld-scripts/sysroot-prefix-y.s: New files. * lib/ld-lib.exp (check_sysroot_available): New proc. diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr index 578333b2..9f63df46 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2.attr @@ -11,4 +11,5 @@ File Attributes Tag_ABI_align_needed: 8-byte Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small + Tag_ABI_VFP_args: VFP registers Tag_ABI_optimization_goals: Aggressive Debug diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s index 03031634..8a7260ce 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2a.s @@ -6,5 +6,6 @@ .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 1 + .eabi_attribute 28, 3 .eabi_attribute 30, 6 .file "attr-merge-2a.s" diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s index 047890a0..a22776b7 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-2b.s @@ -6,6 +6,7 @@ .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 1 + .eabi_attribute 28, 1 .eabi_attribute 30, 6 .eabi_attribute 18, 4 .file "attr-merge-2b.s" diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr index 75fd0631..f74b0241 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4.attr @@ -5,4 +5,6 @@ File Attributes Tag_CPU_arch_profile: Microcontroller Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 + Tag_ABI_FP_number_model: IEEE 754 + Tag_ABI_VFP_args: compatible Tag_also_compatible_with: v6-M diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s index b5b77bf1..9282fa21 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4a.s @@ -5,3 +5,6 @@ @ Tag_also_compatible_with = v6-M .eabi_attribute Tag_also_compatible_with, "\006\013" + + .eabi_attribute Tag_ABI_FP_number_model, 3 + .eabi_attribute Tag_ABI_VFP_args, 3 diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s index d2eb6de6..2cf68df2 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-4b.s @@ -5,3 +5,6 @@ @ Tag_also_compatible_with = v4T .eabi_attribute Tag_also_compatible_with, "\006\002" + + .eabi_attribute Tag_ABI_FP_number_model, 0 + .eabi_attribute Tag_ABI_VFP_args, 0 diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr index 0af32f77..1ee5d401 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6.attr @@ -5,5 +5,6 @@ File Attributes Tag_CPU_arch_profile: Application Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-2 + Tag_ABI_FP_number_model: IEEE 754 Tag_MPextension_use: Allowed Tag_Virtualization_use: TrustZone diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s index 056d8c83..0423bbf3 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6a.s @@ -1,4 +1,6 @@ .cpu cortex-a9 .fpu softvfp + .eabi_attribute 23, 3 + .eabi_attribute 28, 0 .eabi_attribute 70, 1 .file "attr-merge-6a.s" diff --git a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s index b9ef4d27..9383bcc3 100644 --- a/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s +++ b/binutils-2.25/ld/testsuite/ld-arm/attr-merge-6b.s @@ -1,3 +1,5 @@ .cpu cortex-a9 .fpu softvfp + .eabi_attribute 23, 3 + .eabi_attribute 28, 3 .file "attr-merge-6b.s" diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax-02.d b/binutils-2.25/ld/testsuite/ld-avr/relax-02.d new file mode 100644 index 00000000..c8d9b103 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-avr/relax-02.d @@ -0,0 +1,64 @@ +#name: AVR relaxation, symbol at end of section. +#as: -mmcu=avrxmega2 -mlink-relax +#ld: -mavrxmega2 --relax +#source: relax-02.s +#objdump: -tzd +#target: avr-*-* + +.*: file format elf32-avr + +SYMBOL TABLE: +#... +00000000 l F \.text 0000000a local_start +0000000a l F \.text 0000000a local_func_1 +00000014 l F \.text 0000000a local_func_2 +0000001e l F \.text 0000000a local_func_3 +00000032 l \.text 00000000 local_end_label +00000028 g \.text 00000000 dest +#... +00000014 g F \.text 0000000a func_2 +#... +00000000 g F \.text 0000000a _start +00000032 g \.text 00000000 end_label +0000000a g F \.text 0000000a func_1 +#... +0000001e g F \.text 0000000a func_3 + + + +Disassembly of section \.text: + +00000000 <_start>: + 0: 00 00 nop + 2: 00 00 nop + 4: 00 00 nop + 6: 00 00 nop + 8: 00 00 nop + +0000000a <func_1>: + a: 00 00 nop + c: 00 00 nop + e: 00 00 nop + 10: 00 00 nop + 12: 00 00 nop + +00000014 <func_2>: + 14: 00 00 nop + 16: 08 c0 rjmp \.\+16 ; 0x28 <dest> + 18: 07 c0 rjmp \.\+14 ; 0x28 <dest> + 1a: 06 c0 rjmp \.\+12 ; 0x28 <dest> + 1c: 00 00 nop + +0000001e <func_3>: + 1e: 00 00 nop + 20: 00 00 nop + 22: 00 00 nop + 24: 00 00 nop + 26: 00 00 nop + +00000028 <dest>: + 28: 00 00 nop + 2a: 00 00 nop + 2c: 00 00 nop + 2e: 00 00 nop + 30: 00 00 nop diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax-02.s b/binutils-2.25/ld/testsuite/ld-avr/relax-02.s new file mode 100644 index 00000000..57fb7f6e --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-avr/relax-02.s @@ -0,0 +1,65 @@ + .section ".text", "ax",@progbits + .global _start, dest, end_label + .global func_1, func_2, func_3 + +_start: +local_start: + nop + nop + nop + nop + nop + .type _start, @function + .size _start, .-_start + + .type local_start, @function + .size local_start, .-local_start + +func_1: +local_func_1: + nop + nop + nop + nop + nop + .type func_1, @function + .size func_1, .-func_1 + + .type local_func_1, @function + .size local_func_1, .-local_func_1 + +func_2: +local_func_2: + nop + jmp dest + jmp dest + jmp dest + nop + .type func_2, @function + .size func_2, .-func_2 + + .type local_func_2, @function + .size local_func_2, .-local_func_2 + +func_3: +local_func_3: + nop + nop + nop + nop + nop + .type func_3, @function + .size func_3, .-func_3 + + .type local_func_3, @function + .size local_func_3, .-local_func_3 + +dest: + nop + nop + nop + nop + nop + +end_label: +local_end_label: diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax-03.d b/binutils-2.25/ld/testsuite/ld-avr/relax-03.d new file mode 100644 index 00000000..3adc2793 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-avr/relax-03.d @@ -0,0 +1,26 @@ +#name: AVR relaxation, single function in section. +#as: -mmcu=avrxmega2 -mlink-relax +#ld: -mavrxmega2 --relax +#source: relax-03.s +#objdump: -tzd +#target: avr-*-* + +.*: file format elf32-avr + +SYMBOL TABLE: +#... +00000000 l F .text 0000000a local_start +0000000a l .text 00000000 local_end_label +#... +00000000 g F \.text 0000000a _start +0000000a g \.text 00000000 end_label +#... + +Disassembly of section \.text: + +00000000 <_start>: + 0: 00 00 nop + 2: 03 c0 rjmp \.\+6 ; 0xa <.*> + 4: 02 c0 rjmp \.\+4 ; 0xa <.*> + 6: 01 c0 rjmp \.\+2 ; 0xa <.*> + 8: 00 00 nop diff --git a/binutils-2.25/ld/testsuite/ld-avr/relax-03.s b/binutils-2.25/ld/testsuite/ld-avr/relax-03.s new file mode 100644 index 00000000..09935025 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-avr/relax-03.s @@ -0,0 +1,18 @@ + .section ".text", "ax",@progbits + .global _start, end_label + +_start: +local_start: + nop + jmp end_label + jmp end_label + jmp end_label + nop + .type _start, @function + .size _start, .-_start + + .type local_start, @function + .size local_start, .-local_start + +end_label: +local_end_label: diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d index 81a44a7f..81a44a7f 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-1.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d index 64d16277..64d16277 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-2.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d index c86a828d..c86a828d 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-3.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d index e326d98e..e326d98e 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-4.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d index f3ef22bd..f3ef22bd 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn-5.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/longsecn.d b/binutils-2.25/ld/testsuite/ld-pe/longsecn.d index e77f6eea..e77f6eea 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/longsecn.d +++ b/binutils-2.25/ld/testsuite/ld-pe/longsecn.d diff --git a/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s b/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s index 28006a1b..28006a1b 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s +++ b/binutils-2.25/ld/testsuite/ld-pe/non-c-lang-syms.s diff --git a/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp b/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp index ccc8516f..ccc8516f 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp +++ b/binutils-2.25/ld/testsuite/ld-pe/pe-compile.exp diff --git a/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp b/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp index fb823402..fb823402 100644..100755 --- a/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp +++ b/binutils-2.25/ld/testsuite/ld-pe/pe-run.exp diff --git a/binutils-2.25/ld/testsuite/ld-unique/unique.exp b/binutils-2.25/ld/testsuite/ld-unique/unique.exp index a93f9b2e..994ed87c 100644 --- a/binutils-2.25/ld/testsuite/ld-unique/unique.exp +++ b/binutils-2.25/ld/testsuite/ld-unique/unique.exp @@ -28,7 +28,7 @@ # arm, powerpc, and sparc so far. if {!(([istarget "i?86-*-*"] || [istarget "x86_64-*-*"] - || [istarget "arm-*-*"] + || [istarget "arm*-*-*"] || [istarget "powerpc*-*-*"] || [istarget "sparc*-*-*"]) && ([istarget "*-*-elf*"] diff --git a/binutils-2.25/ld/testsuite/ld-unique/unique.s b/binutils-2.25/ld/testsuite/ld-unique/unique.s index 9b0593c2..7477a694 100644 --- a/binutils-2.25/ld/testsuite/ld-unique/unique.s +++ b/binutils-2.25/ld/testsuite/ld-unique/unique.s @@ -1,4 +1,4 @@ - .type a, @gnu_unique_object + .type a, %gnu_unique_object a: .long 0 .size a, .-a diff --git a/binutils-2.25/ld/testsuite/ld-unique/unique_shared.s b/binutils-2.25/ld/testsuite/ld-unique/unique_shared.s index b18a5b1b..80222915 100644 --- a/binutils-2.25/ld/testsuite/ld-unique/unique_shared.s +++ b/binutils-2.25/ld/testsuite/ld-unique/unique_shared.s @@ -1,3 +1,3 @@ - .type b, @gnu_unique_object + .type b, %gnu_unique_object b: .long 0 .size b, .-b diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d index 11313ab1..cdcb4f69 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d +++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-1.d @@ -1,5 +1,5 @@ #as: --64 -madd-bnd-prefix -#ld: -shared -melf_x86_64 -z bndplt +#ld: -shared -melf_x86_64 #objdump: -dw #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d index 6be82902..43e33565 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d +++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-ifunc-2.d @@ -1,5 +1,5 @@ #as: --64 -madd-bnd-prefix -#ld: -shared -melf_x86_64 -z bndplt +#ld: -shared -melf_x86_64 #objdump: -dw #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d index d76a7a7d..3cfe9e6b 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d +++ b/binutils-2.25/ld/testsuite/ld-x86-64/bnd-plt-1.d @@ -1,6 +1,6 @@ #source: bnd-branch-1.s #as: --64 -#ld: -shared -melf_x86_64 -z bndplt +#ld: -shared -melf_x86_64 #objdump: -dw .*: +file format .* @@ -13,8 +13,8 @@ Disassembly of section .plt: [ ]*[a-f0-9]+: f2 ff 25 83 01 20 00 bnd jmpq \*0x200183\(%rip\) # 200440 <_GLOBAL_OFFSET_TABLE_\+0x10> [ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) [ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[ ]*[a-f0-9]+: e9 e6 ff ff ff jmpq 2b0 <foo2@plt-0x50> +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 [ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) @@ -22,14 +22,14 @@ Disassembly of section .plt: [ ]*[a-f0-9]+: f2 e9 c5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50> [ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) [ ]*[a-f0-9]+: 68 03 00 00 00 pushq \$0x3 -[ ]*[a-f0-9]+: f2 e9 b5 ff ff ff bnd jmpq 2b0 <foo2@plt-0x50> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) +[ ]*[a-f0-9]+: e9 b6 ff ff ff jmpq 2b0 <foo2@plt-0x50> +[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\) Disassembly of section .plt.bnd: 0+300 <foo2@plt>: -[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200448 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 200448 <_GLOBAL_OFFSET_TABLE_\+0x18> +[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax 0+308 <foo3@plt>: [ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200450 <_GLOBAL_OFFSET_TABLE_\+0x20> @@ -40,8 +40,8 @@ Disassembly of section .plt.bnd: [ ]*[a-f0-9]+: 90 nop 0+318 <foo4@plt>: -[ ]*[a-f0-9]+: f2 ff 25 41 01 20 00 bnd jmpq \*0x200141\(%rip\) # 200460 <_GLOBAL_OFFSET_TABLE_\+0x30> -[ ]*[a-f0-9]+: 90 nop +[ ]*[a-f0-9]+: ff 25 42 01 20 00 jmpq \*0x200142\(%rip\) # 200460 <_GLOBAL_OFFSET_TABLE_\+0x30> +[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax Disassembly of section .text: diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.d b/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.d new file mode 100644 index 00000000..f2ee2457 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.d @@ -0,0 +1,6 @@ +#as: --64 +#ld: -shared -melf_x86_64 +#readelf: -r --wide + +#... +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ +foo \+ 0 diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.s b/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.s new file mode 100644 index 00000000..06758434 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-x86-64/gotplt1.s @@ -0,0 +1,5 @@ + .globl _start + .type _start, @function +_start: + movabsq $foo@GOTPLT, %rax + .size _start, .-_start diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp b/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp index bdf95935..f2a50d46 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx.exp @@ -74,21 +74,6 @@ set run_tests { {dummy.s} "mpx2static" "mpx2.out"} } -run_ld_link_tests { - {"Build libcall.so" - "-m elf_x86_64 -shared -z bndplt" "" "--64" - {mpx3b.s} {} "libcall.so"} - {"Build mpx3" - "-m elf_x86_64 -z bndplt tmpdir/libcall.so" "" "--64" - {mpx3a.s} {{objdump -dw mpx3.dd}} "mpx3"} - {"Build libcall1.so" - "-m elf_x86_64 -shared -z bndplt" "" "--64" - {mpx4b.s} {} "libcall1.so"} - {"Build mpx4" - "-m elf_x86_64 -z bndplt tmpdir/libcall1.so" "" "--64" - {mpx4a.s} {{objdump -dw mpx4.dd}} "mpx4"} -} - run_ld_link_exec_tests [] $run_tests run_dump_test "bnd-branch-1" diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd index d66524c8..9bebc829 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1a.rd @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PLT32 +0+ +.* +[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.* #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd index d3b292cb..2b050bd8 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx1c.rd @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PC32 +0+ +.* +[0-9a-f ]+R_X86_64_PC32_BND +0+ +.* #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd index d66524c8..9bebc829 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2a.rd @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PLT32 +0+ +.* +[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.* #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd index d66524c8..9bebc829 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd +++ b/binutils-2.25/ld/testsuite/ld-x86-64/mpx2c.rd @@ -1,3 +1,3 @@ #... -[0-9a-f ]+R_X86_64_PLT32 +0+ +.* +[0-9a-f ]+R_X86_64_PLT32_BND +0+ +.* #... diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd deleted file mode 100644 index 2a8356d9..00000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3.dd +++ /dev/null @@ -1,35 +0,0 @@ -.*: +file format .* - - -Disassembly of section .plt: - -0+400290 <.plt>: -[ ]*[a-f0-9]+: ff 35 6a 01 20 00 pushq 0x20016a\(%rip\) # 600400 <_GLOBAL_OFFSET_TABLE_\+0x8> -[ ]*[a-f0-9]+: f2 ff 25 6b 01 20 00 bnd jmpq \*0x20016b\(%rip\) # 600408 <_GLOBAL_OFFSET_TABLE_\+0x10> -[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) -[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400290 <call1@plt-0x30> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) -[ ]*[a-f0-9]+: 68 01 00 00 00 pushq \$0x1 -[ ]*[a-f0-9]+: f2 e9 d5 ff ff ff bnd jmpq 400290 <call1@plt-0x30> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) - -Disassembly of section .plt.bnd: - -0+4002c0 <call1@plt>: -[ ]*[a-f0-9]+: f2 ff 25 49 01 20 00 bnd jmpq \*0x200149\(%rip\) # 600410 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 90 nop - -0+4002c8 <call2@plt>: -[ ]*[a-f0-9]+: f2 ff 25 49 01 20 00 bnd jmpq \*0x200149\(%rip\) # 600418 <_GLOBAL_OFFSET_TABLE_\+0x20> -[ ]*[a-f0-9]+: 90 nop - -Disassembly of section .text: - -0+4002d0 <_start>: -[ ]*[a-f0-9]+: bf c0 02 40 00 mov \$0x4002c0,%edi -[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi -[ ]*[a-f0-9]+: 48 8b 3d 41 01 20 00 mov 0x200141\(%rip\),%rdi # 600420 <func> -[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi -[ ]*[a-f0-9]+: c3 retq -#pass diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s deleted file mode 100644 index 28cb580b..00000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3a.s +++ /dev/null @@ -1,16 +0,0 @@ - .text - .globl _start - .type _start, @function -_start: - movl $call1, %edi - bnd call *%rdi - movq func(%rip), %rdi - bnd call *%rdi - ret - .size _start, .-_start - .globl func - .data - .type func, @object - .size func, 8 -func: - .quad call2 diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s deleted file mode 100644 index 1ee2557a..00000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx3b.s +++ /dev/null @@ -1,11 +0,0 @@ - .text - .globl call1 - .type call1, @function -call1: - ret - .size call1, .-call1 - .globl call2 - .type call2, @function -call2: - ret - .size call2, .-call2 diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd deleted file mode 100644 index 0cf0f758..00000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4.dd +++ /dev/null @@ -1,24 +0,0 @@ -.*: +file format .* - - -Disassembly of section .plt: - -0+400260 <.plt>: -[ ]*[a-f0-9]+: ff 35 42 01 20 00 pushq 0x200142\(%rip\) # 6003a8 <_GLOBAL_OFFSET_TABLE_\+0x8> -[ ]*[a-f0-9]+: f2 ff 25 43 01 20 00 bnd jmpq \*0x200143\(%rip\) # 6003b0 <_GLOBAL_OFFSET_TABLE_\+0x10> -[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\) -[ ]*[a-f0-9]+: 68 00 00 00 00 pushq \$0x0 -[ ]*[a-f0-9]+: f2 e9 e5 ff ff ff bnd jmpq 400260 <call1@plt-0x20> -[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\) - -Disassembly of section .plt.bnd: - -0+400280 <call1@plt>: -[ ]*[a-f0-9]+: f2 ff 25 31 01 20 00 bnd jmpq \*0x200131\(%rip\) # 6003b8 <_GLOBAL_OFFSET_TABLE_\+0x18> -[ ]*[a-f0-9]+: 90 nop - -Disassembly of section .text: - -0+400288 <_start>: -[ ]*[a-f0-9]+: bf 80 02 40 00 mov \$0x400280,%edi -[ ]*[a-f0-9]+: f2 ff d7 bnd callq \*%rdi diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s deleted file mode 100644 index 0ee2723b..00000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4a.s +++ /dev/null @@ -1,6 +0,0 @@ -.text - .globl _start - .type _start, @function -_start: - movl $call1, %edi - bnd call *%rdi diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s b/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s deleted file mode 100644 index 0e9ac14e..00000000 --- a/binutils-2.25/ld/testsuite/ld-x86-64/mpx4b.s +++ /dev/null @@ -1,5 +0,0 @@ -.text - .globl call1 - .type call1, @function -call1: - ret diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/start.o b/binutils-2.25/ld/testsuite/ld-x86-64/start.o Binary files differnew file mode 100644 index 00000000..e015e739 --- /dev/null +++ b/binutils-2.25/ld/testsuite/ld-x86-64/start.o diff --git a/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp b/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp index 54786a78..a9b68ff2 100644 --- a/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp +++ b/binutils-2.25/ld/testsuite/ld-x86-64/x86-64.exp @@ -227,6 +227,7 @@ run_dump_test "pr12570a" run_dump_test "pr12570b" run_dump_test "pr14215" run_dump_test "pr14207" +run_dump_test "gotplt1" if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { return diff --git a/binutils-2.25/ld/testsuite/lib/ld-lib.exp b/binutils-2.25/ld/testsuite/lib/ld-lib.exp index 7d2df221..09213bcf 100644 --- a/binutils-2.25/ld/testsuite/lib/ld-lib.exp +++ b/binutils-2.25/ld/testsuite/lib/ld-lib.exp @@ -1410,6 +1410,13 @@ proc run_cc_link_tests { ldtests } { global CXXFLAGS global ar global exec_output + global board_cflags + + if [board_info [target_info name] exists cflags] { + set board_cflags " [board_info [target_info name] cflags]" + } else { + set board_cflags "" + } foreach testitem $ldtests { set testname [lindex $testitem 0] @@ -1466,7 +1473,7 @@ proc run_cc_link_tests { ldtests } { set failed 1 } } else { - if { ![ld_simple_link $cc_cmd $binfile "-L$srcdir/$subdir $ldflags $objfiles"] } { + if { ![ld_simple_link $cc_cmd $binfile "$board_cflags -L$srcdir/$subdir $ldflags $objfiles"] } { set failed 1 } |