diff options
Diffstat (limited to 'binutils-2.22/ld/testsuite')
624 files changed, 12422 insertions, 5682 deletions
diff --git a/binutils-2.22/ld/testsuite/ChangeLog b/binutils-2.22/ld/testsuite/ChangeLog index 233d962..410143e 100644 --- a/binutils-2.22/ld/testsuite/ChangeLog +++ b/binutils-2.22/ld/testsuite/ChangeLog @@ -1,1145 +1,1102 @@ -2011-11-10 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> +2012-07-26 Meador Inge <meadori@codesourcery.com> + + PR ld/14397 + * ld-arm/arm-elf.exp: Add tests of linking without .rel.plt. + * ld-arm/arm-no-rel-plt.out: Linker script without .rel.plt section. + * ld-arm/arm-no-rel-plt.out: Expected output. + +2012-07-13 Hans-Peter Nilsson <hp@axis.com> + + * ld-elf/foo0.s: Use ARM-compatible .section syntax. + * ld-elf/foo1.s: Likewise. + * ld-elf/foo2.s: Likewise. + * ld-elf/foo3.s: Likewise. + * ld-elf/foon.s: Likewise. - Apply mainline patches. - 2011-11-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> - * ld-arm/jump-reloc-veneers.s: Update for changes to assembler output. +2012-07-10 H.J. Lu <hongjiu.lu@intel.com> -2011-11-08 Alan Modra <amodra@gmail.com> + PR ld/14156 + * ld-elf/fini0.s: New file. + * ld-elf/fini1.s: Likewise. + * ld-elf/fini2.s: Likewise. + * ld-elf/fini3.s: Likewise. + * ld-elf/finin.s: Likewise. + * ld-elf/foo0.s: Likewise. + * ld-elf/foo1.s: Likewise. + * ld-elf/foo2.s: Likewise. + * ld-elf/foo3.s: Likewise. + * ld-elf/foon.s: Likewise. + * ld-elf/init0.s: Likewise. + * ld-elf/init1.s: Likewise. + * ld-elf/init2.s: Likewise. + * ld-elf/init3.s: Likewise. + * ld-elf/initn.s: Likewise. + * ld-elf/pr14156a.d: Likewise. + * ld-elf/pr14156b.d: Likewise. + * ld-elf/pr14156c.d: Likewise. + * ld-elf/pr14156c.t: Likewise. - * ld-powerpc/powerpc.exp: Expect ld warnings for tocopt test. - * ld-powerpc/tocopt.out: New file. +2012-07-09 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/14323 + * ld-elf/pr14323-1.c: New. + * ld-elf/pr14323-2.c: Likewise. + + * ld-elf/shared.exp (build_tests): Add libpr14323-2.so. + (run_tests): Add pr14323. + +2012-07-03 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/3351 + * ld-elf/indirect.exp: New file. + * ld-elf/indirect1a.c: Likewise. + * ld-elf/indirect1b.c: Likewise. + * ld-elf/indirect1c.c: Likewise. + * ld-elf/indirect2.c: Likewise. + * ld-elf/indirect3.out: Likewise. + * ld-elf/indirect3a.c: Likewise. + * ld-elf/indirect3b.c: Likewise. + * ld-elf/indirect3c.c: Likewise. + * ld-elf/indirect4.out: Likewise. + * ld-elf/indirect4a.c: Likewise. + * ld-elf/indirect4b.c: Likewise. + * ld-elf/indirect4c.c: Likewise. + +2012-07-02 Roland McGrath <mcgrathr@google.com> + + * ld/testsuite/ld-i386/tlsbin-nacl.rd: Update for symbol table changes. + * ld/testsuite/ld-i386/tlsbindesc-nacl.rd: Likewise. + * ld/testsuite/ld-i386/tlsdesc-nacl.rd: Likewise. + * ld/testsuite/ld-i386/tlsgdesc-nacl.rd: Likewise. + * ld/testsuite/ld-i386/tlsnopic-nacl.rd: Likewise. + * ld/testsuite/ld-i386/tlspic-nacl.rd: Likewise. + * ld/testsuite/ld-x86-64/tlsbin-nacl.rd: Likewise. + * ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd: Likewise. + * ld/testsuite/ld-x86-64/tlsdesc-nacl.rd: Likewise. + * ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd: Likewise. + * ld/testsuite/ld-x86-64/tlspic-nacl.rd: Likewise. + +2012-07-02 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/data2.c: New file. + * ld-elf/weakdef1.c: Likewise. + + * ld-elf/shared.exp: Add tests for libdata2 and weakdef1. + +2012-06-28 Roland McGrath <mcgrathr@google.com> + + * ld-arm/arm-elf.exp (armelftests_common): Add a test that gets + arm-lib.so built so armeabitests_common can use it. + (unresolved-1-dyn): Exclude this test for [istarget "arm*-*-nacl*"]. + +2012-06-26 Roland McGrath <mcgrathr@google.com> + + * ld-elf/ehdr_start.d (target): Add *-*-nacl*. + +2012-06-27 Alan Modra <amodra@gmail.com> + + * ld-elf/ehdr_start.s: Use data rather than rodata. + * ld-elf/ehdr_start.d: Run on linux and gnu targets only. + +2012-06-25 Roland McGrath <mcgrathr@google.com> + + * ld-elf/ehdr_start.d (ld): Add explicit -e _start. + (notarget): Add arm*-*-eabi* cris-*-*. + +2012-06-22 Roland McGrath <mcgrathr@google.com> + + * ld-elf/ehdr_start.s: New file. + * ld-elf/ehdr_start.d: New file. + +2012-06-21 Alan Modra <amodra@gmail.com> + + * ld-gc/start.d: Update. + +2012-06-18 Hans-Peter Nilsson <hp@axis.com> + + * ld-cris/dso-pltdis1.d, ld-cris/dso-pltdis2.d, dsofng.s + dsofn4g.s: New tests. + +2012-06-17 Hans-Peter Nilsson <hp@axis.com> + + * ld-cris/tls-e-tpiecomm1.d, ld-cris/tls-e-tpiecomm1.s: New test. + * ld-cris/tls-dso-tpoffgotcomm1.d, + ld-cris/tls-dso-tpoffgotcomm1.s: Ditto. + + * ld-cris/tls-e-tpoffgotcomm1.d: New test. + +2012-06-16 Alan Modra <amodra@gmail.com> + + * ld-alpha/emptygot.nm, * ld-alpha/tlsbin.rd, * ld-alpha/tlsbinr.rd, + * ld-alpha/tlspic.rd, * ld-arm/arm-dyn.ld, * ld-arm/armthumb-lib.sym, + * ld-arm/farcall-mixed-app.sym, * ld-arm/mixed-app.sym, + * ld-arm/mixed-lib.sym, * ld-arm/preempt-app.sym, + * ld-cris/libdso-2.d, * ld-cris/pv32-1.d, * ld-cris/tls-e-20.d, + * ld-cris/tls-e-20a.d, * ld-cris/tls-e-80.d, + * ld-cris/tls-e-tpoffcomm1.d, * ld-cris/tls-gc-68.d, + * ld-cris/tls-gc-69.d, * ld-cris/tls-gc-70.d, * ld-cris/tls-gc-71.d, + * ld-cris/tls-gc-75.d, * ld-cris/tls-gc-76.d, * ld-cris/tls-gc-79.d, + * ld-cris/weakhiddso.d, * ld-cris/weakref3.d, * ld-cris/weakref4.d, + * ld-elfvsb/hidden2.d, * ld-i386/tlsbin.rd, * ld-i386/tlsbindesc.rd, + * ld-i386/tlsdesc.rd, * ld-i386/tlsgdesc.rd, * ld-i386/tlsnopic.rd, + * ld-i386/tlspic.rd, * ld-ia64/tlsbin.rd, * ld-ia64/tlspic.rd, + * ld-mips-elf/tlsdyn-o32-1.d, * ld-mips-elf/tlsdyn-o32-1.got, + * ld-mips-elf/tlsdyn-o32-2.d, * ld-mips-elf/tlsdyn-o32-2.got, + * ld-mips-elf/tlsdyn-o32-3.d, * ld-mips-elf/tlsdyn-o32-3.got, + * ld-mmix/bpo-10.d, * ld-mmix/bpo-11.d, * ld-mmix/greg-6.d, + * ld-mmix/greg-7.d, * ld-mmix/loc1.d, * ld-mmix/loc2.d, + * ld-mmix/loc3.d, * ld-mmix/loc4.d, * ld-mmix/loc6.d, + * ld-mmix/locdo-1.d, * ld-mmix/loct-1.d, * ld-mmix/locto-1.d, + * ld-mmix/start-1.d, * ld-mmix/undef-3.d, * ld-powerpc/relbrlt.d, + * ld-powerpc/tlsexe.r, * ld-powerpc/tlsexe32.r, + * ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.r, + * ld-powerpc/tlsso32.r, * ld-powerpc/tlstocso.r, + * ld-s390/tlsbin.rd, * ld-s390/tlsbin_64.rd, * ld-s390/tlspic.rd, + * ld-s390/tlspic_64.rd, * ld-scripts/empty-address-1.d, + * ld-scripts/empty-address-2a.d, * ld-scripts/empty-address-2b.d, + * ld-scripts/empty-address-3a.d, * ld-scripts/empty-address-3b.d, + * ld-scripts/empty-address-3c.d, * ld-sh/sh64/abi32.xd, + * ld-sh/sh64/abi64.xd, * ld-sh/sh64/cmpct1.xd, + * ld-sh/sh64/crange1.rd, * ld-sh/sh64/crange2.rd, + * ld-sh/sh64/crange3-cmpct.rd, * ld-sh/sh64/crange3-media.rd, + * ld-sh/sh64/crange3.rd, * ld-sh/sh64/mix1.xd, * ld-sh/sh64/mix2.xd, + * ld-sh/sh64/shdl32.xd, * ld-sh/sh64/shdl64.xd, + * ld-sparc/gotop32.rd, * ld-sparc/gotop64.rd, + * ld-sparc/tlssunbin32.rd, * ld-sparc/tlssunbin64.rd, + * ld-sparc/tlssunnopic32.rd, * ld-sparc/tlssunnopic64.rd, + * ld-sparc/tlssunpic32.rd, * ld-sparc/tlssunpic64.rd, + * ld-spu/icache1.d, * ld-spu/pic.d, * ld-tic6x/shlib-1.rd, + * ld-tic6x/shlib-1b.rd, * ld-tic6x/shlib-1r.rd, + * ld-tic6x/shlib-1rb.rd, * ld-tic6x/shlib-app-1.rd, + * ld-tic6x/shlib-app-1b.rd, * ld-tic6x/shlib-app-1r.rd, + * ld-tic6x/shlib-app-1rb.rd, * ld-tic6x/shlib-noindex.rd, + * ld-tic6x/static-app-1.rd, * ld-tic6x/static-app-1b.rd, + * ld-tic6x/static-app-1r.rd, * ld-tic6x/static-app-1rb.rd, + * ld-x86-64/tlsbin.rd, * ld-x86-64/tlsbindesc.rd, + * ld-x86-64/tlsdesc.rd, * ld-x86-64/tlsgdesc.rd, + * ld-x86-64/tlspic.rd: Update. + * ld-tic6x/dsbt-be.ld: Add ". = .;" before __c6xabi_DSBT_BASE. + * ld-tic6x/dsbt.ld: Likewise. + +2012-06-13 Nick Clifton <nickc@redhat.com> + + * ld-arm/arm-app-abs32.d; Update expected disassembly in line with + improved architecture detection. + * ld-arm/arm-app.d: Likewise. + * ld-arm/arm-lib-plt32.d: Likewise. + * ld-arm/arm-lib.d: Likewise. + * ld-arm/arm-static-app.d: Likewise. + * ld-arm/armthumb-lib.d: Likewise. + * ld-arm/farcall-mixed-app-v5.d: Likewise. + * ld-arm/farcall-mixed-app.d: Likewise. + * ld-arm/farcall-mixed-lib-v4t.d: Likewise. + * ld-arm/farcall-mixed-lib.d: Likewise. + * ld-arm/mixed-app-v5.d: Likewise. + * ld-arm/mixed-app.d: Likewise. + * ld-arm/mixed-lib.d: Likewise. + * ld-arm/tls-app.d: Likewise. + * ld-arm/tls-descrelax-be32.d: Likewise. + * ld-arm/tls-descrelax.d: Likewise. + * ld-arm/tls-descseq.d: Likewise. + * ld-arm/tls-gdesc-got.d: Likewise. + * ld-arm/tls-gdesc.d: Likewise. + * ld-arm/tls-gdierelax.d: Likewise. + * ld-arm/tls-gdierelax2.d: Likewise. + * ld-arm/tls-gdlerelax.d: Likewise. + * ld-arm/tls-lib-loc.d: Likewise. + * ld-arm/tls-lib.d: Likewise. + * ld-arm/tls-thumb1.d: Likewise. + +2012-06-12 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/14207 + * ld-x86-64/x86-64.exp: Run pr14207. + + * ld-x86-64/pr14207.d: New file. + * ld-x86-64/pr14207.s: Likewise. + +2012-06-11 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/14215 + * ld-i386/i386.exp: Run pr14215. + * ld-x86-64/x86-64.exp: Likewise. -2011-10-25 Alan Modra <amodra@gmail.com> + * ld-i386/pr14215.d: New file. + * ld-i386/pr14215.s: Likewise. + * ld-x86-64/pr14215.d: Likewise. + * ld-x86-64/pr14215.s: Likewise. + +2012-06-06 Alan Modra <amodra@gmail.com> + + * ld-alpha/tlsbin.rd, * ld-alpha/tlsbinr.rd, * ld-alpha/tlspic.rd, + * ld-arm/script-type.sym, * ld-cris/hiddef1.d, * ld-cris/tls-e-20a.d, + * ld-cris/tls-e-tpoffcomm1.d, * ld-cris/tls-gc-76.d, + * ld-cris/tls-local-64.d, * ld-i386/pr12718.d, * ld-i386/pr12921.d, + * ld-i386/tlsbin.rd, * ld-i386/tlsbindesc.rd, * ld-i386/tlsdesc.rd, + * ld-i386/tlsnopic.rd, * ld-i386/tlspic.rd, * ld-ia64/tlsbin.rd, + * ld-ia64/tlspic.rd, * ld-mips-elf/reloc-merge-lo16.d, + * ld-mmix/bpo-1.d, * ld-mmix/bpo-10.d, * ld-mmix/bpo-11.d, + * ld-mmix/bpo-14.d, * ld-mmix/bpo-16.d, * ld-mmix/bpo-17.d, + * ld-mmix/bpo-18.d, * ld-mmix/bpo-2.d, * ld-mmix/bpo-22.d, + * ld-mmix/bpo-3.d, * ld-mmix/bpo-4.d, * ld-mmix/bpo-5.d, + * ld-mmix/bpo-9.d, * ld-mmix/greg-1.d, * ld-mmix/greg-19.d, + * ld-mmix/greg-2.d, * ld-mmix/greg-3.d, * ld-mmix/greg-4.d, + * ld-mmix/greg-5.d, * ld-mmix/greg-5s.d, * ld-mmix/greg-6.d, + * ld-mmix/greg-7.d, * ld-mmix/loc4.d, * ld-mmix/local1.d, + * ld-mmix/local3.d, * ld-mmix/local5.d, * ld-mmix/local7.d, + * ld-mmix/loct-1.d, * ld-mn10300/i135409-1.d, * ld-powerpc/tlsexe.r, + * ld-powerpc/tlsexe32.r, * ld-powerpc/tlsexetoc.r, + * ld-powerpc/tlsso.r, * ld-powerpc/tlsso32.r, * ld-powerpc/tlstocso.r, + * ld-powerpc/vxworks-relax-2.rd, * ld-s390/tlsbin.rd, + * ld-s390/tlspic.rd, * ld-s390/tlspic_64.rd, * ld-sh/sub2l-1.d, + * ld-sh/weak1.d, * ld-sh/sh64/abi32.xd, * ld-sh/sh64/abi64.xd, + * ld-sh/sh64/cmpct1.xd, * ld-sh/sh64/crange1.rd, + * ld-sh/sh64/crange2.rd, * ld-sh/sh64/crange3-cmpct.rd, + * ld-sh/sh64/crange3-media.rd, * ld-sh/sh64/crange3.rd, + * ld-sh/sh64/crangerel1.rd, * ld-sh/sh64/crangerel2.rd, + * ld-sh/sh64/mix1.xd, * ld-sh/sh64/mix2.xd, * ld-sh/sh64/shdl32.xd, + * ld-sh/sh64/shdl64.xd, * ld-sparc/gotop32.rd, + * ld-sparc/gotop64.rd, * ld-sparc/tlssunbin32.rd, + * ld-sparc/tlssunbin64.rd, * ld-sparc/tlssunnopic32.rd, + * ld-sparc/tlssunnopic64.rd, * ld-sparc/tlssunpic32.rd, + * ld-sparc/tlssunpic64.rd, * ld-tic6x/shlib-1.rd, + * ld-tic6x/shlib-1b.rd, * ld-tic6x/shlib-1r.rd, * ld-tic6x/shlib-1rb.rd, + * ld-tic6x/shlib-app-1.rd, * ld-tic6x/shlib-app-1b.rd, + * ld-tic6x/shlib-app-1r.rd, * ld-tic6x/shlib-app-1rb.rd, + * ld-tic6x/shlib-noindex.rd, * ld-tic6x/static-app-1.rd, + * ld-tic6x/static-app-1b.rd, * ld-tic6x/static-app-1r.rd, + * ld-tic6x/static-app-1rb.rd, * ld-x86-64/ilp32-4-nacl.d, + * ld-x86-64/ilp32-4.d, * ld-x86-64/pr12718.d, * ld-x86-64/pr12921.d, + * ld-x86-64/split-by-file-nacl.rd, * ld-x86-64/split-by-file.rd, + * ld-x86-64/tlsbin.rd, * ld-x86-64/tlsbindesc.rd, + * ld-x86-64/tlsdesc.rd, * ld-x86-64/tlspic.rd: Update to suit + added STT_FILE symbols. + +2012-06-06 Alan Modra <amodra@gmail.com> + + * ld-mmix/bpo-9.d: Update. + * ld-mmix/bpo-10.d: Update. + * ld-mmix/bpo-11.d: Update. + * ld-mmix/sec-7m.d: Update. + +2012-05-31 H.J. Lu <hongjiu.lu@intel.com> + + * ld-ifunc/ifunc-13a-x86-64.s: Add missing "foo" after ".global". + * ld-ifunc/ifunc-15-x86-64.s: Likewise. - Apply mainline patches - 2011-10-10 Alan Modra <amodra@gmail.com> - * ld-powerpc/relbrlt.d: Update for stub alignment change. - * ld-powerpc/tlsexe.g: Likewise. - * ld-powerpc/tlsexe.r: Likewise. - * ld-powerpc/tlsexetoc.g: Likewise. - * ld-powerpc/tlsexetoc.r: Likewise. - * ld-powerpc/tlsso.g: Likewise. - * ld-powerpc/tlsso.r: Likewise. +2012-05-30 Nick Clifton <nickc@redhat.com> - 2011-10-08 H.J. Lu <hongjiu.lu@intel.com> - PR ld/13250 - * ld-elf/shared.exp (build_tests): Add tests for PR ld/13250. - (run_tests): Likewise. - * ld-elf/pr13250-1.c: New. - * ld-elf/pr13250-2.c: Likewise. - * ld-elf/pr13250-3.c: Likewise. + * ld-tic6x/shlib-1b.rd: Revert previous delta. + * ld-tic6x/shlib-1rb.rd: Likewise. + * ld-tic6x/shlib-1.rd: Likewise. + * ld-tic6x/shlib-1r.rd: Likewise. + * ld-tic6x/shlib-app-1b.rd: Likewise. + * ld-tic6x/shlib-app-1rb.rd: Likewise. + * ld-tic6x/shlib-app-1.rd: Likewise. + * ld-tic6x/shlib-app-1r.rd: Likewise. + * ld-tic6x/shlib-noindex.rd: Likewise. + * ld-tic6x/static-app-1b.rd: Likewise. + * ld-tic6x/static-app-1rb.rd: Likewise. + * ld-tic6x/static-app-1.rd: Likewise. + * ld-tic6x/static-app-1r.rd: Likewise. - 2011-10-06 Alan Modra <amodra@gmail.com> - * ld-plugin/plugin-1.d, * ld-plugin/plugin-2.d, * ld-plugin/plugin-3.d, - * ld-plugin/plugin-4.d, * ld-plugin/plugin-5.d, * ld-plugin/plugin-6.d, - * ld-plugin/plugin-7.d, * ld-plugin/plugin-8.d, * ld-plugin/plugin-9.d, - * ld-plugin/plugin-10.d, * ld-plugin/plugin-11.d: Update. +2012-05-29 Nick Clifton <nickc@redhat.com> - 2011-09-30 Alan Modra <amodra@gmail.com> - * ld-powerpc/tocopt.d: Update. - * ld-powerpc/tocopt5.d, * ld-powerpc/tocopt5.s: New test. - * ld-powerpc/powerpc.exp: Run new test. + * ld-tic6x/shlib-1b.rd: Update expected readelf output. + * ld-tic6x/shlib-1rb.rd: Likewise. + * ld-tic6x/shlib-1.rd: Likewise. + * ld-tic6x/shlib-1r.rd: Likewise. + * ld-tic6x/shlib-app-1b.rd: Likewise. + * ld-tic6x/shlib-app-1rb.rd: Likewise. + * ld-tic6x/shlib-app-1.rd: Likewise. + * ld-tic6x/shlib-app-1r.rd: Likewise. + * ld-tic6x/shlib-noindex.rd: Likewise. + * ld-tic6x/static-app-1b.rd: Likewise. + * ld-tic6x/static-app-1rb.rd: Likewise. + * ld-tic6x/static-app-1.rd: Likewise. + * ld-tic6x/static-app-1r.rd: Likewise. -2011-10-18 David S. Miller <davem@davemloft.net> +2012-05-28 Nick Clifton <nickc@redhat.com> - * ld-sparc/tlssunbin32.dd: Update for TLS call relaxation fix - for PR 13301. - * ld-sparc/tlssunbin64.dd: Likewise. - * ld-sparc/tlssunpic32.dd: Likewise. - * ld-sparc/tlssunpic64.dd: Likewise. + * ld-ifunc/ifunc-13a-i386.s: Fix use of .global directive. + * ld-ifunc/ifunc-15a-i385.s: Likewise. -2011-10-18 H.J. Lu <hongjiu.lu@intel.com> +2012-05-28 Alan Modra <amodra@gmail.com> - PR ld/13177 - * ld-elf/pr13177.d: Removed. - * ld-elf/pr13177.s: Likewise. + PR ld/14170 + * ld-elf/pr14170a.s: Put foo, bar address in .data. + * ld-elf/elf.exp: Don't run pr14170 test on hppa64-hpux. Ignore + tic6x warnings. -2011-10-14 Hans-Peter Nilsson <hp@axis.com> +2012-05-27 H.J. Lu <hongjiu.lu@intel.com> - * ld-cris/pic-gc-72.d: Adjust for dropping unused undefined - dynamic symbol "dsofn". + PR ld/14170 + * ld-elf/elf.exp: Add a test for PR ld/14170. -2011-09-29 H.J. Lu <hongjiu.lu@intel.com> + * ld-elf/pr14170a.s: New file. + * ld-elf/pr14170b.s: Likewise. + * ld-elf/pr14170c.s: Likewise. - PR ld/13195 - * ld-elf/elf.exp: Add a C link testcase for PR ld/13195. +2012-05-26 Alan Modra <amodra@gmail.com> - * ld-elf/pr13195.c: New. - * ld-elf/pr13195.d: Likewise. - * ld-elf/pr13195.s: Likewise. - * ld-elf/pr13195.t: Likewise. + * ld-srec/srec.exp: Remove powerpc64 flag setting. -2011-09-16 H.J. Lu <hongjiu.lu@intel.com> +2012-05-22 H.J. Lu <hongjiu.lu@intel.com> - * ld-elf/pr12975.d: Only run for *-*-linux* and *-*-gnu* - targets. - * ld-elf/pr13177.d: Likewise. + * ld-elf/eh1.d: Don't skip x86_64-*-linux-gnux32. + * ld-elf/eh2.d: Likewise. + * ld-elf/eh3.d: Likewise. + * ld-elf/eh4.d: Likewise. - * ld-elf/pr13177.s: Avoid relocations in text sections. +2012-05-22 H.J. Lu <hongjiu.lu@intel.com> -2011-09-15 H.J. Lu <hongjiu.lu@intel.com> + * ld-x86-64/ilp32-11.s Add ".space 0x1000" before func. + (func): Make it global and hidden. + * ld-x86-64/ilp32-11.d: Updated. - PR ld/13177 - * ld-elf/pr13177.d: New. - * ld-elf/pr13177.s: Likewise. +2012-05-22 Roland McGrath <mcgrathr@google.com> -2011-09-15 H.J. Lu <hongjiu.lu@intel.com> + * ld-elf/eh4.d: Revert last change. + Loosen CFI-matching regexps so they match x86_64-*-nacl* variant too. - PR ld/12975 - * ld-elf/pr12975.d: New. - * ld-elf/pr12975.s: Likewise. - * ld-elf/pr12975.t: Likewise. + * ld-x86-64/pr12570a.d (name): Distinguish it from pr12570b.d case. + Loosen CFI-matching regexp so it matches x86_64-*-nacl* variant too. + * ld-x86-64/pr12570b.d: Likewise. + * ld-x86-64/x86-64.exp: Revert last change. -2011-09-12 H.J. Lu <hongjiu.lu@intel.com> +2012-05-22 H.J. Lu <hongjiu.lu@intel.com> - PR ld/13178 - * ld-ifunc/ifunc-13-i386.d: Updated. - * ld-ifunc/ifunc-13-x86-64.d: Likewise. - * ld-ifunc/ifunc-3a-x86.d: Likewise. - * ld-x86-64/pr13082-5a.d: Likewise. + * ld-elf/eh4.d: Skip x86_64-*-nacl*. - * ld-ifunc/ifunc-15-i386.d: New. - * ld-ifunc/ifunc-15-i386.s: Likewise. - * ld-ifunc/ifunc-15-x86-64.d: Likewise. - * ld-ifunc/ifunc-15-x86-64.s: Likewise. + * ld-x86-64/x86-64.exp: Xfail pr12570a for x86_64-*-nacl*. -2011-09-01 Christophe Lyon <christophe.lyon@st.com> +2012-05-22 H.J. Lu <hongjiu.lu@intel.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> + PR ld/13909 + * ld-i386/i386.exp: Revert the last change. + * ld-x86-64/x86-64.exp: Likewise. - * ld-powerpc/tocopt4a.s, * ld-powerpc/tocopt4b.s, - * ld-powerpc/tocopt4.d: New test. - * ld-powerpc/powerpc.exp: Run it. + * ld-i386/dummy.s: Removed. + * ld-i386/pr13909.d: Likewise. + * ld-x86-64/pr13909.d: Likewise. -2011-08-12 H.J. Lu <hongjiu.lu@intel.com> +2012-05-22 H.J. Lu <hongjiu.lu@intel.com> - PR ld/13082 - * ld-x86-64/pr13082-1.s: New. - * ld-x86-64/pr13082-1a.d: Likewise. - * ld-x86-64/pr13082-1b.d: Likewise. - * ld-x86-64/pr13082-2.s: Likewise. - * ld-x86-64/pr13082-2a.d: Likewise. - * ld-x86-64/pr13082-2b.d: Likewise. - * ld-x86-64/pr13082-3.s: Likewise. - * ld-x86-64/pr13082-3a.d: Likewise. - * ld-x86-64/pr13082-3b.d: Likewise. - * ld-x86-64/pr13082-4.s: Likewise. - * ld-x86-64/pr13082-4a.d: Likewise. - * ld-x86-64/pr13082-4b.d: Likewise. - * ld-x86-64/pr13082-5.s: Likewise. - * ld-x86-64/pr13082-5a.d: Likewise. - * ld-x86-64/pr13082-5b.d: Likewise. - * ld-x86-64/pr13082-6.s: Likewise. - * ld-x86-64/pr13082-6a.d: Likewise. - * ld-x86-64/pr13082-6b.d: Likewise. - - * ld-x86-64/x86-64.exp: Run pr13082-[1-6][ab]. + PR ld/13909 + * ld-i386/i386.exp: Run pr13909. + * ld-x86-64/x86-64.exp: Likewise. -2011-08-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + * ld-i386/dummy.s: New file. + * ld-i386/pr13909.d: Likewise. + * ld-x86-64/pr13909.d: Likewise. - * ld-arm/arm-elf.exp (armelftests): Update for new command-line - options. - (armeabitests): Update for new command-line options, and add - new test cases. - * ld-arm/fix-arm1176.s: Add test case. - * ld-arm/fix-arm1176-off.d: Likewise. - * ld-arm/fix-arm1176-on.d: Likewise. +2012-05-22 H.J. Lu <hongjiu.lu@intel.com> -2011-08-05 Alan Modra <amodra@gmail.com> + PR ld/14105 + * ld-elf/eh4.d: Add PLT eh_frame. - * ld-powerpc/tlsexe.r: Update for stripped .branch_lt. - * ld-powerpc/tlsexetoc.r: Likewise. - * ld-powerpc/tlsso.r: Likewise. - * ld-powerpc/tlstocso.r: Likewise. + * ld-i386/i386.exp: Run pr12570a and pr12570b. + * ld-x86-64/x86-64.exp: Likewise. -2011-08-01 H.J. Lu <hongjiu.lu@intel.com> + * ld-i386/pr12570a.d: New file. + * ld-i386/pr12570a.s: Likewise. + * ld-i386/pr12570b.s: Likewise. + * ld-i386/pr12570b.s: Likewise. + * ld-x86-64/pr12570a.d: Likewise. + * ld-x86-64/pr12570a.s: Likewise. + * ld-x86-64/pr12570b.d: Likewise. + * ld-x86-64/pr12570b.s: Likewise. - PR ld/13048 - * ld-x86-64/ilp32-6.d: New. - * ld-x86-64/ilp32-6.s: Likewise. - * ld-x86-64/ilp32-7.d: Likewise. - * ld-x86-64/ilp32-7.s: Likewise. - * ld-x86-64/ilp32-8.d: Likewise. - * ld-x86-64/ilp32-8.s: Likewise. - * ld-x86-64/ilp32-9.d: Likewise. - * ld-x86-64/ilp32-9.s: Likewise. +2012-05-19 Alan Modra <amodra@gmail.com> - * ld-x86-64/x86-64.exp: Run ilp32-6, ilp32-7, ilp32-8 and ilp32-9. + * ld-elf/elf.exp (note-3.so): xfail tic6x due to non-pic warnings. -2011-07-27 Roland McGrath <mcgrathr@google.com> +2012-05-19 Alan Modra <amodra@gmail.com> - * ld-i386/vxworks1-lib.rd: Swap order of sections expected in output. + * ld-powerpc/vle.ld: New. + * ld-powerpc/powerpc.exp (vle reloc tests): Link using vle.ld. -2011-07-26 Alan Modra <amodra@gmail.com> +2012-05-18 H.J. Lu <hongjiu.lu@intel.com> - * ld-powerpc/powerpc.exp: Use --no-ld-generated-unwind-info - with some tests. - * ld-powerpc/relbrlt.d: Likewise. + * ld-i386/tlsdesc-nacl.rd: Update for dynamic sym changes. + * ld-i386/tlsdesc.rd: Likewise. + * ld-i386/tlsgdesc-nacl.rd: Likewise. + * ld-i386/tlsgdesc.rd: Likewise. + * ld-i386/tlsnopic-nacl.rd: Likewise. + * ld-i386/tlsnopic.rd: Likewise. + * ld-i386/tlspic-nacl.rd: Likewise. + * ld-i386/tlspic.rd: Likewise. + * ld-x86-64/tlsdesc-nacl.rd: Likewise. + * ld-x86-64/tlsdesc.rd: Likewise. + * ld-x86-64/tlsgdesc-nacl.rd: Likewise. + * ld-x86-64/tlsgdesc.rd: Likewise. + * ld-x86-64/tlspic-nacl.rd: Likewise. + * ld-x86-64/tlspic.rd: Likewise. -2011-07-25 Hans-Peter Nilsson <hp@bitrange.com> +2012-05-18 Alan Modra <amodra@gmail.com> - PR ld/12815 - * ld-mmix/pr12815-1.d, ld-mmix/pr12815-1.s, ld-mmix/pr12815-1.ld, - ld-mmix/pr12815-2.d, ld-mmix/pr12815-2.s: New tests. + * ld-tic6x/mvk-reloc-local-r.d: Adjust for signed addend. + * ld-tic6x/unwind-6.d: Typo fix. -2011-07-24 Catherine Moore <clm@codesourcery.com> - Chao-ying Fu <fu@mips.com> - Maciej W. Rozycki <macro@codesourcery.com> +2012-05-18 Alan Modra <amodra@gmail.com> - * lib/ld-lib.exp (run_dump_test): Support distinct assembler - flags for the same source named multiple times. - * ld-mips-elf/jalx-1.s: New test source. - * ld-mips-elf/jalx-1.d: New test output. - * ld-mips-elf/jalx-1.ld: New test linker script. - * ld-mips-elf/jalx-2-main.s: New test source. - * ld-mips-elf/jalx-2-ex.s: Likewise. - * ld-mips-elf/jalx-2-printf.s: Likewise. - * ld-mips-elf/jalx-2.dd: New test output. - * ld-mips-elf/jalx-2.ld: New test linker script. - * ld-mips-elf/mips16-and-micromips.d: New test. - * ld-mips-elf/mips-elf.exp: Run the new tests + * ld-elf/init-mixed.c: Include config.h first. -2011-07-22 H.J. Lu <hongjiu.lu@intel.com> +2012-05-17 H.J. Lu <hongjiu.lu@intel.com> - * ld-x86-64/abs-k1om.d: New. - * ld-x86-64/protected2-k1om.d: Likewise. - * ld-x86-64/protected3-k1om.d: Likewise. + * ld-arm/emit-relocs1-vxworks.d: Expect addend as signed. + * ld-spu/pic.d: Likewise. - * ld-x86-64/x86-64.exp: Run abs-k1om, protected2-k1om and - protected3-k1om. +2012-05-17 Hans-Peter Nilsson <hp@axis.com> -2011-07-14 H.J. Lu <hongjiu.lu@intel.com> + * lib/ld-lib.exp (run_dump_test): For options "warning" and + "error", append to earlier option values without adding a space. - * ld-elf/binutils.exp (binutils_test): Also check ignored - "-z relro". +2012-05-17 Alan Modra <amodra@gmail.com> -2011-07-14 Alan Modra <amodra@gmail.com> + * ld-m68k/tls-ld-1.d: Update. - * ld-scripts/section-flags.exp: Pass --local-store 0:0 for - spu. Rewrite using foreach. +2012-05-17 Alan Modra <amodra@gmail.com> -2011-07-14 Alan Modra <amodra@gmail.com> + * ld-powerpc/tlsso.r: Update for dynamic sym changes. + * ld-powerpc/tlsso32.d: Likewise. + * ld-powerpc/tlsso32.r: Likewise. + * ld-powerpc/tlstocso.r: Likewise. - * ld-powerpc/tlsexe.d, * ld-powerpc/tlsexe.g. *ld-powerpc/tlsexe.r, - * ld-powerpc/tlsexetoc.d, * ld-powerpc/tlsexetoc.g, - * ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.d, - * ld-powerpc/tlstocso.d: Update for plt stub change. +2012-05-16 Meador Inge <meadori@codesourcery.com> + + * ld-arm/gc-hidden-1.d: Fix disassembly pattern. + +2012-05-15 James Murray <jsm@jsm-net.demon.co.uk> + + * ld-m68hc11/xgate-link.s: New. + * ld-m68hc11/xgate-link.d: New. + * ld-m68hc11/xgate-offset.s: New. + * ld-m68hc11/xgate-offset.d: New. + * ld-m68hc11/xgate1.s: New. + * ld-m68hc11/xgate1.d: New. + * ld-m68hc11/xgate2.s: New. + * ld-m68hc11/m68hc11.exp: Updated. + * ld-m68hc11/*.d: Brought in line with changed objdump output. + * ld-gc/gc.exp: Update CFLAGS for m68hc11. + * ld-plugin/plugin.exp: Likewise. + * ld-srec/srec.exp: XFAIL for m68hc11 and m68hc12. + +2012-05-14 David S. Miller <davem@davemloft.net> + + * ld-sparc/tlssunbin32.rd: Update. + * ld-sparc/tlssunbin64.rd: Likewise. + +2012-05-14 James Lemke <jwlemke@codesourcery.com> + + * ld-powerpc/powerpc.exp: Create ppceabitests. + * ld-powerpc/vle-multiseg.s: New. + * ld-powerpc/vle-multiseg-1.d: New. + * ld-powerpc/vle-multiseg-1.ld: New. + * ld-powerpc/vle-multiseg-2.d: New. + * ld-powerpc/vle-multiseg-2.ld: New. + * ld-powerpc/vle-multiseg-3.d: New. + * ld-powerpc/vle-multiseg-3.ld: New. + * ld-powerpc/vle-multiseg-4.d: New. + * ld-powerpc/vle-multiseg-4.ld: New. + * ld-powerpc/vle-multiseg-5.d: New. + * ld-powerpc/vle-multiseg-5.ld: New. + * ld-powerpc/vle-multiseg-6.d: New. + * ld-powerpc/vle-multiseg-6.ld: New. + * ld-powerpc/vle-multiseg-6a.s: New. + * ld-powerpc/vle-multiseg-6b.s: New. + * ld-powerpc/vle-multiseg-6c.s: New. + * ld-powerpc/vle-multiseg-6d.s: New. + * ld-powerpc/powerpc.exp: Run new tests. -2011-07-11 Catherine Moore <clm@cm00re.com> +2012-05-14 Catherine Moore <clm@codesourcery.com> + + * ld-powerpc/apuinfo.rd: Update for VLE. + * ld-powerpc/vle-reloc-1.d: New. + * ld-powerpc/vle-reloc-1.s: New. + * ld-powerpc/vle-reloc-2.d: New. + * ld-powerpc/vle-reloc-2.s: New. + * ld-powerpc/vle-reloc-3.d: New. + * ld-powerpc/vle-reloc-3.s: New. + * ld-powerpc/vle-reloc-def-1.s: New. + * ld-powerpc/vle-reloc-def-2.s: New. + * ld-powerpc/vle-reloc-def-3.s: New. + +2012-05-13 Richard Sandiford <rdsandiford@googlemail.com> + + * ld-mips-elf/mips-elf.exp (mips16_call_global_test): Use the + no-shared-1.ld linker script. + * ld-mips-elf/mips16-call-global-1.s: Add alignment directive. + * ld-mips-elf/mips16-call-global-2.s: Likewise. + * ld-mips-elf/mips16-call-global-3.s: Likewise. + * ld-mips-elf/mips16-call-global.d: Use 50000 as the base address. + +2012-05-13 Richard Sandiford <rdsandiford@googlemail.com> + + * ld-mips-elf/attr-gnu-4-00.d: Remove assembler options and emulator + linker option. + * ld-mips-elf/attr-gnu-4-01.d, ld-mips-elf/attr-gnu-4-02.d, + ld-mips-elf/attr-gnu-4-03.d, ld-mips-elf/attr-gnu-4-04.d, + ld-mips-elf/attr-gnu-4-05.d, ld-mips-elf/attr-gnu-4-10.d, + ld-mips-elf/attr-gnu-4-11.d, ld-mips-elf/attr-gnu-4-12.d, + ld-mips-elf/attr-gnu-4-13.d, ld-mips-elf/attr-gnu-4-14.d, + ld-mips-elf/attr-gnu-4-15.d, ld-mips-elf/attr-gnu-4-20.d, + ld-mips-elf/attr-gnu-4-21.d, ld-mips-elf/attr-gnu-4-22.d, + ld-mips-elf/attr-gnu-4-23.d, ld-mips-elf/attr-gnu-4-24.d, + ld-mips-elf/attr-gnu-4-25.d, ld-mips-elf/attr-gnu-4-30.d, + ld-mips-elf/attr-gnu-4-31.d, ld-mips-elf/attr-gnu-4-32.d, + ld-mips-elf/attr-gnu-4-33.d, ld-mips-elf/attr-gnu-4-34.d, + ld-mips-elf/attr-gnu-4-35.d, ld-mips-elf/attr-gnu-4-40.d, + ld-mips-elf/attr-gnu-4-41.d, ld-mips-elf/attr-gnu-4-42.d, + ld-mips-elf/attr-gnu-4-43.d, ld-mips-elf/attr-gnu-4-44.d, + ld-mips-elf/attr-gnu-4-45.d, ld-mips-elf/attr-gnu-4-51.d: Likewise. + +2012-05-13 Richard Sandiford <rdsandiford@googlemail.com> + + * ld-mips-elf/eh-frame1.ld (.gcc_compiled_long32): Add KEEP. + * ld-mips-elf/eh-frame3.d: Move definition of foo to the link line + and change to a 32-bit value. Expect CIEs to be marged. + * ld-mips-elf/eh-frame4.d: Move definition of foo to the link line. + +2012-05-12 H.J. Lu <hongjiu.lu@intel.com> + + * ld-alpha/tlspic.rd: Updated. + * ld-powerpc/tlsso.r: Likewise. + * ld-powerpc/tlsso32.r: Likewise. + * ld-powerpc/vxworks1-lib.rd: Likewise. + * ld-s390/tlspic.rd: Likewise. + * ld-s390/tlspic_64.rd: Likewise. + * ld-sh/shared-1.d: Likewise. + * ld-sh/tlspic-2.d: Likewise. + * ld-sparc/tlssunnopic32.rd: Likewise. + * ld-sparc/tlssunnopic64.rd: Likewise. + * ld-sparc/tlssunpic32.rd: Likewise. + * ld-sparc/tlssunpic64.rd: Likewise. + +2012-05-11 H.J. Lu <hongjiu.lu@intel.com> + + * ld-cris/hiddef1.d: Updated. + * ld-cris/libdso-2.d: Likewise. + * ld-cris/tls-js1.d: Likewise. + * ld-cris/tls-local-63.d: Likewise. + * ld-cris/tls-local-64.d: Likewise. + +2012-05-11 H.J. Lu <hongjiu.lu@intel.com> + + PR binutils/14088 + * ld-ia64/tlspic.rd: Updated. + * ld-x86-64/tlsdesc-nacl.rd: Likewise. + * ld-x86-64/tlsdesc.rd: Likewise. + * ld-x86-64/tlspic-nacl.rd: Likewise. + * ld-x86-64/tlspic.rd: Likewise. - * ld-scripts/section-flags-1.s: New. - * ld-scripts/section-flags-1.t: New. - * ld-scripts/section-flags-2.s: New. - * ld-scripts/section-flags-2.t: New. - * ld-scripts/section-flags.exp: New. +2012-05-10 H.J. Lu <hongjiu.lu@intel.com> -2011-07-11 Alan Modra <amodra@gmail.com> + * ld-x86-64/ilp32-11.d: Updated. - * ld-powerpc/tocopt2.s, * ld-powerpc/tocopt2.out, - * ld-powerpc/tocopt2.d: New test. - * ld-powerpc/tocopt3.s, * ld-powerpc/tocopt3.d: New test. - * ld-powerpc/powerpc.exp (ppc64elftests) Run them. +2012-05-10 H.J. Lu <hongjiu.lu@intel.com> -2011-07-03 Samuel Thibault <samuel.thibault@gnu.org> - Thomas Schwinge <thomas@schwinge.name> + * ld-x86-64/pr13082-1a.d: Check RELACOUNT. + * ld-x86-64/pr13082-1b.d: Likewise. - PR binutils/12913 - * ld-ifunc/ifunc.exp: Update for changed output. - * ld-unique/unique.exp: Likewise. +2012-05-09 H.J. Lu <hongjiu.lu@intel.com> -2011-06-27 Nick Clifton <nickc@redhat.com> + * ld-x86-64/ilp32-11.d: New file. + * ld-x86-64/ilp32-11.s: Likewise. - * ld-elf/elf.exp: Exlcude all v850 targets from note-3 test. + * ld-x86-64/x86-64.exp: Run ilp32-11. -2011-06-27 Alan Modra <amodra@gmail.com> +2012-05-05 H.J. Lu <hongjiu.lu@intel.com> - * ld-elf/elf.exp: Exclude more targets from note-3 test. + PR ld/14052 + * ld-elf/pr14052.d: New file. + * ld-elf/pr14052.t: Likewise. -2011-06-24 H.J. Lu <hongjiu.lu@intel.com> +2012-05-05 Alan Modra <amodra@gmail.com> - PR ld/12921 - * ld-i386/i386.exp: Run pr12921. - * ld-x86-64/x86-64.exp: Likewise. + PR ld/14052 + PR ld/13621 + * ld-elf/warn2.d: Revert 2012-02-13 change. + * ld-elf/zerosize1.d, ld-elf/zerosize1.s: Delete. - * ld-i386/pr12921.d: New. - * ld-i386/pr12921.s: Likewise. - * ld-x86-64/pr12921.d: Likewise. - * ld-x86-64/pr12921.s: Likewise. +2012-05-04 H.J. Lu <hongjiu.lu@intel.com> -2011-06-22 Thomas Schwinge <thomas@schwinge.name> + * ld-elf/eh1.d: Skip x86_64-*-linux-gnux32. + * ld-elf/eh2.d: Likewise. + * ld-elf/eh3.d: Likewise. + * ld-elf/eh4.d: Likewise. - * ld-elf/elf.exp: Execute array_tests_pie tests on *-*-gnu*, too. + * ld-elfvsb/elfvsb.exp: Xfail x86_64-*-linux-gnux32. + * ld-shared/shared.exp: Likewise. -2011-06-20 H.J. Lu <hongjiu.lu@intel.com> + * ld-ifunc/ifunc-3a-x86.d: Support x86_64-*-linux-gnux32. + +2012-04-24 Roland McGrath <mcgrathr@google.com> + + * ld-x86-64/plt-nacl.pd: Fix expected nop padding. + * ld-x86-64/tlsdesc-nacl.pd: Likewise. + +2012-04-24 Hans-Peter Nilsson <hp@axis.com> + + PR ld/13990 + * ld-arm/arm-elf.exp: Run gc-hidden-1. + * ld-arm/gc-hidden-1.d: New test-file. + * ld-arm/gcdfn.s, ld-arm/hideall.ld, ld-arm/hidfn.s, + ld-arm/main.s: New files. + +2012-04-23 Andreas Schwab <schwab@linux-m68k.org> + + * ld-pie/pie.exp: Remove extra braces. + +2012-04-13 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13947 + * ld-x86-64/x86-64.exp: Run pr13947. + * ld-x86-64/pr13947.d: New file. + * ld-x86-64/pr13947.s: Likewise. + +2012-04-13 Roland McGrath <mcgrathr@google.com> + + * ld-arm/arm-elf.exp (armelftests_common): Move cases using + mixed-lib.so to ... + (armelftests_nonacl): ... here. + +2012-04-12 Roland McGrath <mcgrathr@google.com> + + * ld-arm/arm-elf.exp (armelftests): Split out into ... + (armelftests_common, armelftests_nonacl): ... these two. + (armeabitests): Split out into ... + (armeabitests_common, armeabitests_nonacl): ... these two. + Omit _nonacl sets for arm*-*-nacl* targets. + + * ld-arm/farcall-mix.d: Don't match exact addresses, only symbolic ones. + * ld-arm/farcall-mix2.d: Likewise. + * ld-arm/farcall-group.d: Likewise. + + * ld-arm/tls-gdesc-got.d: Match variant file formats too. + Accept some variation in exact addresses. + + * ld-arm/thumb2-b-interwork.d: Match variant file formats too. + Fix regexps not to care about exact addresses where not relevant. + + * ld-arm/thumb2-bl-undefweak.d: Match any hex strings, not any + strings of particular exact lengths. + * ld-arm/thumb2-bl-undefweak1.d: Likewise. + + * ld-arm/arm-app.r: Match variant file formats too. + * ld-arm/arm-app-abs32.r: Likewise. + * ld-arm/arm-lib.d: Likewise. + * ld-arm/arm-lib.r: Likewise. + * ld-arm/arm-static-app.r: Likewise. + * ld-arm/armv4-bx.d: Likewise. + * ld-arm/data-only-map.d: Likewise. + * ld-arm/group-relocs.d: Likewise. + * ld-arm/jump19.d: Likewise. + * ld-arm/reloc-boundaries.d: Likewise. + * ld-arm/thumb1-bl.d: Likewise. + * ld-arm/thumb2-bl.d: Likewise. + * ld-arm/tls-app.d: Likewise. + * ld-arm/tls-app.r: Likewise. + * ld-arm/tls-gdierelax.d: Likewise. + * ld-arm/tls-gdierelax2.d: Likewise. + * ld-arm/tls-gdlerelax.d: Likewise. + * ld-arm/tls-lib.d: Likewise. + * ld-arm/tls-lib.r: Likewise. + * ld-arm/tls-mixed.r: Likewise. + * ld-arm/vfp11-fix-none.d: Likewise. + * ld-arm/vfp11-fix-scalar.d: Likewise. + * ld-arm/vfp11-fix-vector.d: Likewise. + * ld-arm/arm-static-app.d: Likewise. + Fix regexps not to care about exact number of leading spaces. + * ld-arm/arm-app-abs32.d: Likewise. + * ld-arm/fix-arm1176-off.d: Likewise. + * ld-arm/fix-arm1176-on.d: Likewise. - * ld-ifunc/ifunc-1-local-x86.d: Adjusted. - * ld-ifunc/ifunc-1-x86.d: Likewise. - * ld-ifunc/ifunc-3a-x86.d: Likewise. + * ld-arm/arm-elf.exp: Treat nacl targets like eabi targets. -2011-06-20 H.J. Lu <hongjiu.lu@intel.com> +2012-04-09 Roland McGrath <mcgrathr@google.com> - * ld-elf/eh1.d: Revert x32 change. + * ld-elf/eh1.d: Add explicit --64 to as options, and explicit + -melf_x86_64 and -Ttext to ld options, so we don't assume every + x86_64-*-* target uses --64 (vs --x32) by default or has the + same address space layout. * ld-elf/eh2.d: Likewise. * ld-elf/eh3.d: Likewise. * ld-elf/eh4.d: Likewise. - -2011-06-20 Jakub Jelinek <jakub@redhat.com> - - PR ld/12570 - * ld-x86-64/x86-64.exp: Link some testcases with - --no-ld-generated-unwind-info. - * ld-x86-64/tlsbin.rd: Add --no-ld-generated-unwind-info to ld - comment. - * ld-x86-64/tlsdesc.dd: Likewise. - * ld-x86-64/tlspic.dd: Likewise. - * ld-x86-64/tlsdesc.sd: Likewise. - * ld-x86-64/tlspic.rd: Likewise. - * ld-x86-64/tlsbindesc.rd: Likewise. - * ld-x86-64/tlsbindesc.sd: Likewise. - * ld-x86-64/tlsbin.td: Likewise. - * ld-x86-64/tlsdesc.pd: Likewise. - * ld-x86-64/tlsdesc.td: Likewise. - * ld-x86-64/tlsbindesc.dd: Likewise. - * ld-x86-64/tlsbin.dd: Likewise. - * ld-x86-64/tlsgdesc.rd: Likewise. - * ld-x86-64/tlspic.sd: Likewise. - * ld-x86-64/tlsbindesc.td: Likewise. - * ld-x86-64/tlspic.td: Likewise. - * ld-x86-64/tlsbin.sd: Likewise. - * ld-x86-64/ilp32-4.d: Likewise. - * ld-x86-64/tlsgdesc.dd: Add --no-ld-generated-unwind-info to ld - comment. Adjust. - * ld-x86-64/tlsdesc.rd: Likewise. - * ld-x86-64/tlsgd6.dd: Adjust. - * ld-x86-64/tlsgd5.dd: Likewise. - * ld-i386/i386.exp: Link some testcases with - --no-ld-generated-unwind-info. - * ld-i386/tlsbin.rd: Add --no-ld-generated-unwind-info to ld - comment.. + * ld-elf/elf.exp: For target *-*-nacl*, use options_regsub(ld) to + map -melf_x86_64 to -melf_x86_64_nacl. + +2012-04-07 David S. Miller <davem@davemloft.net> + + * ld-sparc/tlssunbin32.rd: Fix regexp. + * ld-sparc/tlssunbin64.rd: Likewise. + +2012-04-03 Roland McGrath <mcgrathr@google.com> + + * ld-x86-64/ilp32-4-nacl.d: New file. + * ld-x86-64/x86-64.exp: Run it. + + * ld-discard/discard.exp: Accept nacl targets too. + * ld-elf/binutils.exp: Likewise. + * ld-elf/comm-data.exp: Likewise. + * ld-elf/elf.exp: Likewise. + * ld-elf/tls_common.exp: Likewise. + * ld-elfvers/vers.exp: Likewise. + * ld-elfvsb/elfvsb.exp: Likewise. + * ld-elfweak/elfweak.exp: Likewise. + * ld-gc/gc.exp: Likewise. + * ld-ifunc/binutils.exp: Likewise. + * ld-ifunc/ifunc.exp: Likewise. + * ld-linkonce/linkonce.exp:Likewise. + * ld-pie/pie.exp: Likewise. + * ld-shared/shared.exp: Likewise. + * ld-undefined/weak-undef.exp: Likewise. + * ld-unique/unique.exp: Likewise. + * ld-x86-64/dwarfreloc.exp: Likewise. + * ld-x86-64/line.exp: Likewise. + + * lib/ld-lib.exp (slurp_options): Support global array + options_regsub to apply substitutions to the contents + of options lines read from the file. + * ld-i386/emit-relocs.d: Renamed to ... + * ld-i386/emit-relocs.rd: ... this. + * ld-i386/i386.exp: Accept nacl targets too. + For them, use options_regsub to replace elf_i386 with + elf_i386_nacl in run_dump_test cases; apply the same + substitution in $i386tests; replace foo.rd expectations + files with foo-nacl.rd in $i386tests. + (i386tests): Change emit-relocs.d to emit-relocs.rd here. + * ld-i386/emit-relocs-nacl.rd: New file. + * ld-i386/plt-nacl.pd: New file. + * ld-i386/plt-pic-nacl.pd: New file. + * ld-i386/tlsbin-nacl.rd: New file. + * ld-i386/tlsbindesc-nacl.rd: New file. + * ld-i386/tlsdesc-nacl.rd: New file. + * ld-i386/tlsgdesc-nacl.rd: New file. + * ld-i386/tlsnopic-nacl.rd: New file. + * ld-i386/tlspic-nacl.rd: New file. + * ld-x86-64/x86-64.exp: Accept nacl targets too. + For them, use options_regsub to replace elf_x86_64 with + elf_x86_64_nacl in run_dump_test cases; apply the same + substitution in $x86_64tests; replace foo.rd expectations + files with foo-nacl.rd in $x86_64tests. + Add explicit -melf_x86_64 to ld options in tests that need it, + in case the default emulation is x32 (as it is for x86_64-nacl). + * ld/testsuite/ld-x86-64/plt-nacl.pd: New file. + * ld/testsuite/ld-x86-64/split-by-file-nacl.rd: New file. + * ld/testsuite/ld-x86-64/tlsbin-nacl.rd: New file. + * ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd: New file. + * ld/testsuite/ld-x86-64/tlsdesc-nacl.pd: New file. + * ld/testsuite/ld-x86-64/tlsdesc-nacl.rd: New file. + * ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd: New file. + * ld/testsuite/ld-x86-64/tlspic-nacl.rd: New file. + + * ld-i386/hidden2.d: Loosen regexps to match any file format variant, + and not to depend on exact addresses, displacements, etc. where + they are irrelevant. + * ld-i386/pcrel16.d: Likewise. + * ld-i386/pcrel16abs.d: Likewise. + * ld-i386/pr12718.d: Likewise. + * ld-i386/pr12921.d: Likewise. + * ld-i386/reloc.d: Likewise. + * ld-i386/tlsbin.dd: Likewise. + * ld-i386/tlsbin.sd: Likewise. + * ld-i386/tlsbin.td: Likewise. + * ld-i386/tlsbindesc.dd: Likewise. + * ld-i386/tlsbindesc.sd: Likewise. + * ld-i386/tlsbindesc.td: Likewise. * ld-i386/tlsdesc.dd: Likewise. - * ld-i386/tlspic.dd: Likewise. * ld-i386/tlsdesc.sd: Likewise. - * ld-i386/tlsgdesc.dd: Likewise. - * ld-i386/tlsnopic.sd: Likewise. - * ld-i386/tlspic.rd: Likewise. - * ld-i386/tlsdesc.rd: Likewise. - * ld-i386/tlsbindesc.rd: Likewise. - * ld-i386/tlsbindesc.sd: Likewise. - * ld-i386/tlsbin.td: Likewise. * ld-i386/tlsdesc.td: Likewise. + * ld-i386/tlsg.sd: Likewise. + * ld-i386/tlsgdesc.dd: Likewise. + * ld-i386/tlsindntpoff.dd: Likewise. * ld-i386/tlsnopic.dd: Likewise. - * ld-i386/tlsbindesc.dd: Likewise. - * ld-i386/tlsbin.dd: Likewise. - * ld-i386/tlsgdesc.rd: Likewise. + * ld-i386/tlsnopic.sd: Likewise. + * ld-i386/tlspic.dd: Likewise. * ld-i386/tlspic.sd: Likewise. - * ld-i386/tlsnopic.rd: Likewise. - * ld-i386/tlsbindesc.td: Likewise. * ld-i386/tlspic.td: Likewise. - * ld-i386/tlsbin.sd: Likewise. - -2011-06-19 H.J. Lu <hongjiu.lu@intel.com> - - * ld-elf/eh1.d: Skip x32. - * ld-elf/eh2.d: Likewise. - * ld-elf/eh3.d: Likewise. - * ld-elf/eh4.d: Likewise. - - * ld-elfvsb/elfvsb.exp: Only xfail 64bit x86_64-*-linux*. - * ld-shared/shared.exp: Likewise. - - * ld-ifunc/ifunc-1-local-x86.d: Support x32. - * ld-ifunc/ifunc-1-x86.d: Likewise. - * ld-ifunc/ifunc-3a-x86.d: Likewise. + * ld-i386/tlspie2.d: Likewise. + * ld-x86-64/hidden2.d: Likewise. * ld-x86-64/pcrel16.d: Likewise. - - * ld-x86-64/x86-64.exp (x86_64tests): Add missing -melf_x86_64. - -2011-06-16 Alan Modra <amodra@gmail.com> - - * ld-elfvers/vers2.ver: Don't assume any particular index for - version reference. - * ld-elfvers/vers3.ver: Likewise. - * ld-elfvers/vers19.ver: Likewise. - * ld-elfvers/vers22.ver: Likewise. - * ld-elfvers/vers27d4.ver: Likewise. - * ld-elfvers/vers28c.ver: Likewise. - -2011-06-14 Alan Modra <amodra@gmail.com> - - * ld-elf/elf.exp: Don't attempt to build symbol3.a for hppa64-hpux. - * ld-elf/warn3.d: Correct target selection and comment. - - * ld-elf/pr12851.d: Correct target selection and comment. - -2011-06-13 Walter Lee <walt@tilera.com> - - * ld-elf/eh5.d: Don't run on tile*. - * ld-srec/srec.exp: xfail on tile*. - * ld-tilegx/external.s: New file. - * ld-tilegx/reloc.d: New file. - * ld-tilegx/reloc.s: New file. - * ld-tilegx/tilegx.exp: New file. - * ld-tilepro/external.s: New file. - * ld-tilepro/reloc.d: New file. - * ld-tilepro/reloc.s: New file. - * ld-tilepro/tilepro.exp: New file. - -2011-06-10 Nick Clifton <nickc@redhat.com> - - * ld-elf/elf.exp: Add test for linking a shared library with a - broken linker script that marks dynamic sections as being notes. - * ld-elf/note-3.s: New test source file. - * ld-elf/note-3.t: New test linker script. - * ld-elf/note-3.l: Expected output from the linker. - * lib/ld-lib.exp (run_ld_link_tests): Improve description. - -2011-06-08 H.J. Lu <hongjiu.lu@intel.com> - - * ld-x86-64/x86-64.exp: Build x32 DSO from x86-64 object file - only for native. - -2011-06-08 H.J. Lu <hongjiu.lu@intel.com> - - * ld-x86-64/simple.c: New. - * ld-x86-64/x86-64-x32.rd: Likewise. - - * ld-x86-64/x86-64.exp: Check building x32 DSO from x86-64 - object file. - -2011-06-08 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12851 - * ld-elf/pr12851.d: New. - * ld-elf/pr12851.s: Likewise. - -2011-06-07 H.J. Lu <hongjiu.lu@intel.com> - - * ld-elf/elf.exp: Build symbol3.a and symbol3w.a. - - * ld-elf/symbol3.s: New. - * ld-elf/symbol3w.s: Likewise. - * ld-elf/warn3.d: Likewise. - -2011-06-02 Nathan Sidwell <nathan@codesourcery.com> - - Adjust tests for zero offset formatting. - * ld-arm/cortex-a8-fix-bcc-plt.d: Adjust. - * ld-arm/farcall-arm-arm-pic-veneer.d: Adjust. - * ld-arm/farcall-arm-thumb.d: Adjust. - * ld-arm/farcall-group-size2.d: Adjust. - * ld-arm/farcall-group.d: Adjust. - * ld-arm/farcall-mix.d: Adjust. - * ld-arm/farcall-mix2.d: Adjust. - * ld-arm/farcall-mixed-lib-v4t.d: Adjust. - * ld-arm/farcall-mixed-lib.d: Adjust. - * ld-arm/farcall-thumb-arm-blx-pic-veneer.d: Adjust. - * ld-arm/farcall-thumb-arm-pic-veneer.d: Adjust. - * ld-arm/farcall-thumb-thumb.d: Adjust. - * ld-arm/ifunc-10.dd: Adjust. - * ld-arm/ifunc-3.dd: Adjust. - * ld-arm/ifunc-4.dd: Adjust. - * ld-arm/ifunc-5.dd: Adjust. - * ld-arm/ifunc-6.dd: Adjust. - * ld-arm/ifunc-7.dd: Adjust. - * ld-arm/ifunc-8.dd: Adjust. - * ld-arm/jump-reloc-veneers-long.d: Adjust. - * ld-arm/tls-longplt-lib.d: Adjust. - * ld-arm/tls-thumb1.d: Adjust. - -2011-05-31 Paul Brook <paul@codesourcery.com> - - * ld-arm/cortex-a8-far.d: Adjust expected output. - * ld-arm/arm-call1.s: Give function symbol correct type. - * ld-arm/arm-call2.s: Ditto. - * ld-arm/farcall-group4.s: Ditto. - * ld-arm/arm-elf.exp (cortex-a8-far): Define far symbols with correct - type via assembly file. - * ld-arm/cortex-a8-far-3.s: New file. - * ld-arm/abs-call-1.s: Add Thumb tests - -2011-05-31 Paul Brook <paul@codesourcery.com> - Nathan Sidwell <nathan@codesourcery.com> - - * ld-arm/abs-call-1.d: New. - * ld-arm/abs-call-1.s: New. - * ld-arm/arm-elf.exp: Add it. - -2011-05-31 Paul Brook <paul@codesourcery.com> - - * ld-arm/tls-longplt.d: Update expected output. - * ld-arm/tls-thumb1.d: Ditto. - -2011-05-26 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12809 - * ld-x86-64/tlsbin.s: Add a test for LE with large model. - - * ld-x86-64/tlsbin.dd: Updated. - * ld-x86-64/tlsbin.rd: Likewise. + * ld-x86-64/pr12718.d: Likewise. + * ld-x86-64/pr12921.d: Likewise. + * ld-x86-64/protected3.d: Likewise. + * ld-x86-64/tlsbin.dd: Likewise. * ld-x86-64/tlsbin.sd: Likewise. * ld-x86-64/tlsbin.td: Likewise. * ld-x86-64/tlsbindesc.dd: Likewise. - * ld-x86-64/tlsbindesc.rd: Likewise. * ld-x86-64/tlsbindesc.sd: Likewise. * ld-x86-64/tlsbindesc.td: Likewise. + * ld-x86-64/tlsdesc.dd: Likewise. + * ld-x86-64/tlsdesc.sd: Likewise. + * ld-x86-64/tlsdesc.td: Likewise. + * ld-x86-64/tlsg.sd: Likewise. + * ld-x86-64/tlsgd5.dd: Likewise. + * ld-x86-64/tlsgd6.dd: Likewise. + * ld-x86-64/tlsgdesc.dd: Likewise. + * ld-x86-64/tlspic.dd: Likewise. + * ld-x86-64/tlspic.sd: Likewise. + * ld-x86-64/tlspic.td: Likewise. -2011-05-24 Hans-Peter Nilsson <hp@axis.com> - - * ld-cris/tls-e-tpoffcomm1.d: Adjust for second PR12763 change, - setting TLS file offset. - -2011-05-23 Nick Clifton <nickc@redhat.com> - - * ld-elf/shared.exp: Revert previous delta. Do not build - libraries in a non-native environment. - -2011-05-23 Alan Modra <amodra@gmail.com> - - PR 12763 - * ld-elf/binutils.exp: Don't run tdata3 for hppa64. - -2011-05-21 Hans-Peter Nilsson <hp@axis.com> - - * ld-cris/tls-e-tpoffcomm1.d: Adjust for PR12763 change removing - empty program header. - -2011-05-21 Alan Modra <amodra@gmail.com> - - PR 12763 - * ld-elf/tdata3.s: New test. - * ld-elf/tbss3.s: New test. - * ld-elf/binutils.exp: Consolidate tbss and tdata tests. - -2011-05-20 Bernd Schmidt <bernds@codesourcery.com> - - * ld-tic6x/pcr-reloc.d: New test. - * ld-tic6x/pcr-reloc.s: New test. - -2011-05-18 Nick Clifton <nickc@redhat.com> - - PR ld/12761 - * lib/ld-lib.exp (run_cc_link_tests): Add an optional 8th - parameter - an expected warning message from the linker. - * ld-elf/shared.exp (build_tests): Expect a warning message when - building the libbarw.so library. - - * ld-elf/shared.exp: Run library building tests even when not - building a native toolchain. - -2011-05-16 H.J. Lu <hongjiu.lu@intel.com> - - * ld-scripts/phdrs.exp: Replace --private with - --private-headers for objdump. - * ld-scripts/phdrs2.exp: Likewise. - -2011-05-15 Richard Sandiford <rdsandiford@googlemail.com> - - * lib/ld-lib.exp (run_ld_link_tests): Simplify pass/fail logic. - Fail if the link command fails and if no test rules are defined. - * ld-mips-elf/reloc-6a.s, ld-mips-elf/reloc-6b.s: New tests. - * ld-mips-elf/mips-elf.exp: Run them. - -2011-05-13 Bernd Schmidt <bernds@codesourcery.com> - - * ld-tic6x/dsbt.ld (OUTPUT_FORMAT): Add. - * ld-tic6x/tic6x.exp: Add OSABI tests. - -2011-05-13 Alan Modra <amodra@gmail.com> - - * ld-elf/flags1.d: Don't xfail tic6x. - * ld-scripts/weak.exp: Correct comments. Don't xfail sh-pe. Remove - redundant xfail. - * ld-selective/sel-dump.exp: Don't xfail alpha. - * ld-selective/selective.exp: Run for alpha. - * ld-undefined/weak-undef.exp: Don't xfail hppa64. - -2011-05-12 Bernd Schmidt <bernds@codesourcery.com> + * ld-x86-64/ilp32-8.d: Match any file format variant. + Use a -Ttext and adjust expected results, to handle variant layouts. + * ld-x86-64/ilp32-9.d: Likewise. - * config/default.exp (ld_assemble): Pass flags parameter to - default_ld_assemble. - (ld_assemble_flags): New function. - * ld-elf/frame.exp: Pass -mpic and -mpid flags to the assembler on - tic6x. - * ld-elf/exclude.exp: Likewise. - * lib/ld-lib.exp (default_ld_assemble): Take extra argument in_flags - and pass it to the assembler. + * ld-i386/alloc.t: Remove superfluous OUTPUT_FORMAT statement. + * ld-i386/pr12627.t: Likewise. -2011-05-11 Richard Sandiford <rdsandiford@googlemail.com> + * ld-x86-64/abs-l1om.d: Add target: constraint. + * ld-x86-64/protected2-l1om.d: Likewise. + * ld-x86-64/protected3-l1om.d: Likewise. + * ld-x86-64/ilp32-4.d: Likewise. - * ld-mips-elf/mips-elf.exp: Add missing $has_newabi tests. + * ld-x86-64/plt.s: New file. + * ld-x86-64/pltlib.s: New file. + * ld-x86-64/plt.pd: New file. + * ld-x86-64/x86-64.exp (x86_64tests): Add them. -2011-05-09 H.J. Lu <hongjiu.lu@intel.com> + * ld-i386/plt.s: New file. + * ld-i386/pltlib.s: New file. + * ld-i386/plt.pd: New file. + * ld-i386/plt-pic.s: New file. + * ld-i386/plt-pic.pd: New file. + * ld-i386/i386.exp (i386tests): Add them. - * ld-elf/elf.exp (array_tests): Remove "pr12730". - (array_tests_pie): Remove "PIE pr12730". - (array_tests_static): Remove "static pr12730". +2012-03-25 Alan Modra <amodra@gmail.com> - * ld-elf/pr12730.cc: Removed. - * ld-elf/pr12730.out: Likewise. + * ld-powerpc/vxworks-relax.rd: Remove check on reloc section + file offset and reloc symbol indices. -2011-05-09 Paul Brook <paul@codesourcery.com> +2012-03-21 Hans-Peter Nilsson <hp@axis.com> - * ld-tic6x/discard-unwind.ld: New. - * ld-tic6x/unwind.ld: New. - * ld-tic6x/unwind-1.d: New test. - * ld-tic6x/unwind-1.s: New test. - * ld-tic6x/unwind-2.d: New test. - * ld-tic6x/unwind-2.s: New test. - * ld-tic6x/unwind-3.d: New test. - * ld-tic6x/unwind-3.s: New test. - * ld-tic6x/unwind-4.d: New test. - * ld-tic6x/unwind-4.s: New test. - * ld-tic6x/unwind-5.d: New test. - * ld-tic6x/unwind-5.s: New test. - * ld-tic6x/unwind-6.d: New test. + PR ld/13813 + * ld-mips-elf/comm-data.exp (mips_comm_data_test): For N32 and N64 + tests, also specify assembler option -march=mips3. -2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com> +2012-03-20 H.J. Lu <hongjiu.lu@intel.com> - PR ld/12365 - * ld-plugin/plugin-7.d: Allow underscore in error message. - * ld-plugin/plugin-8.d: Likewise. - -2011-05-07 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12730 - * ld-elf/elf.exp (array_tests): Add "pr12730". - (array_tests_pie): New. - (array_tests_static): Add -static for "static init array mixed". - Add "static pr12730". Run array_tests_pie for Linux. - - * ld-elf/init-mixed.c (ctor1007): Renamed to ... - (ctor1007a): This. - (ctor1007b): New. - (ctors1007): Remove ctor1007. Add ctor1007b and ctor1007a. - (dtor1007): Renamed to ... - (dtor1007a): This. - (dtor1007b): New. - (dtors1007): Remove dtor1007. Add dtor1007b and dtor1007a. - (ctor65535): Renamed to ... - (ctor65535a): This. - (ctor65535b): New. - (ctors65535): Remove ctor65535. Add ctor65535b and ctor65535a. - (dtor65535): Renamed to ... - (dtor65535a): This. - (dtor65535b): New. - (dtors65535): Remove dtor65535. Add dtor65535b and dtor65535a. - - * ld-elf/pr12730.cc: New. - * ld-elf/pr12730.out: Likewise. - -2011-05-06 Richard Sandiford <richard.sandiford@linaro.org> - - * ld-arm/cortex-a8-fix-b-plt.s, ld-arm/cortex-a8-fix-b-plt.d, - ld-arm/cortex-a8-fix-bcc-plt.s, ld-arm/cortex-a8-fix-bcc-plt.d, - ld-arm/cortex-a8-fix-bl-plt.s, ld-arm/cortex-a8-fix-bl-plt.d, - ld-arm/cortex-a8-fix-blx-plt.s, ld-arm/cortex-a8-fix-blx-plt.d, - ld-arm/cortex-a8-fix-plt.ld: New tests. - * ld-arm/arm-elf.exp: Run them. - -2011-05-05 Bernd Schmidt <bernds@codesourcery.com> - - * ld-tic6x/shared-nopic.d: New test. - * ld-tic6x/shared-nopid.d: New test. - * ld-tic6x/attr-pid-21.d: Don't expect a warning; check readelf - output instead. - * ld-tic6x/attr-pid-12.d: Likewise. - * ld-tic6x/attr-pic-01.d: Likewise. - * ld-tic6x/attr-pic-10.d: Likewise. - * ld-tic6x/attr-pid-01.d: Likewise. - * ld-tic6x/attr-pid-10.d: Likewise. - * ld-tic6x/attr-pid-02.d: Likewise. - * ld-tic6x/attr-pid-20.d: Likewise. - * ld-tic6x/got-reloc-inrange.d: Pass -mpic and -mpid options to gas. - -2011-05-03 Paul Brook <paul@codesourcery.com> - - * ld-tic6x/ehtype-reloc-1-rel.d: New test. - * ld-tic6x/ehtype-reloc-1.d: New test. - * ld-tic6x/ehtype-reloc-1.s: New test. - -2011-05-01 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12718 - * ld-i386/i386.exp: Run pr12718. + PR ld/13880 + * ld-i386/i386.exp: Run protected4 and protected5. * ld-x86-64/x86-64.exp: Likewise. - * ld-i386/pr12718.d: New. - * ld-i386/pr12718.s: Likewise. - * ld-x86-64/pr12718.d: Likewise. - * ld-x86-64/pr12718.s: Likewise. - -2011-04-26 Kai Tietz <ktietz@redhat.com> - - * ld-pe/pe.exp: Add cfi/cfi32 tests. - * ld-pe/cfi.d: New. - * ld-pe/cfi32.d: New. - * ld-pe/cfia.s: New. - * ld-pe/cfib.s: New. - -2011-04-21 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12694 - * ld-ifunc/ifunc-14-i386.d: New. - * ld-ifunc/ifunc-14-x86-64.d: Likewise. - * ld-ifunc/ifunc-14a.s: Likewise. - * ld-ifunc/ifunc-14b.s: Likewise. - -2011-04-19 H.J. Lu <hongjiu.lu@intel.com> - - * ld-plugin/plugin-ignore.d: Removed. - -2011-04-18 H.J. Lu <hongjiu.lu@intel.com> - - * ld-plugin/plugin-7.d: Update expected LTO linker errors for - GCC 4.6. - * ld-plugin/plugin-8.d: Likewise. - -2011-04-18 Alan Modra <amodra@gmail.com> - - * ld-plugin/plugin-7.d: Adjust for plugin changes. - * ld-plugin/plugin-8.d: Likewise. - * ld-plugin/plugin.exp: Pass --verbose=2 for visibility test, and - compare ld output to.. - * ld-plugin/plugin-12.d: New. - -2011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com> - - * ld-m68k/tls-gd-ie-1.d: Stabilize test. - * ld-m68k/tls-gd-3.[sd]: New test. - -2011-04-12 Richard Henderson <rth@redhat.com> - - * ld-alpha/emptygot.s, ld-alpha/emptygot.nm: New test. - * ld-alpha/alpha.exp: Run it. - -2011-04-11 Mark Wielaard <mjw@redhat.com> - - PR 10549 - * ld-unique: New directory. - * ld-unique/unique.exp: New file: Run the UNIQUE tests. - * ld-unique/unique.s: New test file. - * ld-unique/unique_empty.s: Likewise. - * ld-unique/unique_shared.s: Likewise. - -2011-04-11 Alan Modra <amodra@gmail.com> - - * ld-elf/eh-frame-hdr.d: xfail avr. - -2011-04-08 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12654 - * ld-i386/i386.exp: Run tlspie2. - - * ld-i386/tlspie2.d: New. - * ld-i386/tlspie2.s: Likewise. - -2011-04-06 Joseph Myers <joseph@codesourcery.com> - - * ld-selective/selective.exp (xscale-*-*): Don't handle. - * ld-srec/srec.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't - handle. - (*arm*-*-*): Change to arm*-*-*. - (strongarm*-*-coff, xscale*-*-coff, thumb-*-coff*, thumb-*-pe*, - thumb-*-elf*, strongarm*-*-*, thumb-*-*): Remove xfails. - * ld-undefined/undefined.exp (thumb*-*-pe*, thumb*-*-pe*): Remove - commented-out xfails. - (thumb-elf): Remove reference in comment. - * lib/ld-lib.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't - handle. - -2011-04-04 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12627 - * ld-i386/i386.exp: Run pr12627. + * ld-i386/protected4.d: New. + * ld-i386/protected4.s: Likewise. + * ld-i386/protected5.d: Likewise. + * ld-i386/protected5.s: Likewise. + * ld-x86-64/protected4.d: Likewise. + * ld-x86-64/protected4.s: Likewise. + * ld-x86-64/protected5.d: Likewise. + * ld-x86-64/protected5.s: Likewise. + +2012-03-19 Andreas Schwab <schwab@linux-m68k.org> + + * ld-m68k/m68k.exp ("TLS indirect symbol use"): Pass + --copy-dt-needed-entries. + +2012-03-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + * ld-arm/arm-elf.exp: Add new testcases. + * ld-arm/attr-merge-2.attr: Update ouput. + * ld-arm/attr-merge-2a.s: Remove Tag_DIV_use test. + * ld-arm/attr-merge-2b.s: Likewise. + * ld-arm/attr-merge-3.attr: Updated expected output. + * ld-arm/attr-merge-4.attr: Likewise. + * ld-arm/attr-merge-5.attr: Likewise. + * ld-arm/attr-merge-6.attr: Likewise. + * ld-arm/attr-merge-7.attr: Likewise. + * ld-arm/attr-merge-arch-1.attr: Likewise. + * ld-arm/attr-merge-arch-2.attr: Likewise. + * ld-arm/attr-merge-unknown-2.d: Likewise. + * ld-arm/attr-merge-unknown-2r.d: Likewise. + * ld-arm/attr-merge-unknown-3.d: Likewise. + * ld-arm/attr-merge-vfp-1.d: Likewise. + * ld-arm/attr-merge-vfp-1r.d: Likewise. + * ld-arm/attr-merge-vfp-2.d: Likewise. + * ld-arm/attr-merge-vfp-2r.d: Likewise. + * ld-arm/attr-merge-vfp-3.d: Likewise. + * ld-arm/attr-merge-vfp-3r.d: Likewise. + * ld-arm/attr-merge-vfp-4.d: Likewise. + * ld-arm/attr-merge-vfp-4r.d: Likewise. + * ld-arm/attr-merge-vfp-5.d: Likewise. + * ld-arm/attr-merge-vfp-5r.d: Likewise. + * ld-arm/attr-merge-vfp-6.d: Likewise. + * ld-arm/attr-merge-vfp-6r.d: Likewise. + * ld-arm/attr-merge-wchar-00-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-00.d: Likewise. + * ld-arm/attr-merge-wchar-02-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-02.d: Likewise. + * ld-arm/attr-merge-wchar-04-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-04.d: Likewise. + * ld-arm/attr-merge-wchar-20-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-20.d: Likewise. + * ld-arm/attr-merge-wchar-22-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-22.d: Likewise. + * ld-arm/attr-merge-wchar-24-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-40-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-40.d: Likewise. + * ld-arm/attr-merge-wchar-42-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-44-nowarn.d: Likewise. + * ld-arm/attr-merge-wchar-44.d: Likewise. + * ld-arm/attr-merge.attr: Likewise. + * ld-arm/attr-merge-div-0.s: New testcase. + * ld-arm/attr-merge-div-00.d: Likewise. + * ld-arm/attr-merge-div-01-m3.d: Likewise. + * ld-arm/attr-merge-div-01.d: Likewise. + * ld-arm/attr-merge-div-02.d: Likewise. + * ld-arm/attr-merge-div-1.s: Likewise. + * ld-arm/attr-merge-div-10-m3.d: Likewise. + * ld-arm/attr-merge-div-10.d: Likewise. + * ld-arm/attr-merge-div-11.d: Likewise. + * ld-arm/attr-merge-div-12.d: Likewise. + * ld-arm/attr-merge-div-120.d: Likewise. + * ld-arm/attr-merge-div-2.s: Likewise. + * ld-arm/attr-merge-div-20.d: Likewise. + * ld-arm/attr-merge-div-21.d: Likewise. + * ld-arm/attr-merge-div-22.d: Likewise. + +2012-03-16 Alan Modra <amodra@gmail.com> + + * ld-gc/pr13683.d: Accept powerpc64 function descriptor syms. + +2012-03-15 Alan Modra <amodra@gmail.com> + + * config/default.exp: Update copyright date. + * ld-elf/shared.exp: Pass --no-as-needed to various tests linking + shared libs. + * ld-elfvers/vers.exp: Likewise. + +2012-03-14 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13839 + * ld-elf/pr13839.d: New. + * ld-elf/pr13839.s: Likewise. + * ld-elf/pr13839.t: Likewise. + +2012-03-09 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13817 + * ld-i386/pr13302.d: Updated. + * ld-x86-64/pr13082-5b.d: Likewise. + * ld-x86-64/pr13082-6a.d: Likewise. + * ld-x86-64/pr13082-6b.d: Likewise. - * ld-i386/pr12627.d: New. - * ld-i386/pr12627.s: Likewise. - * ld-i386/pr12627.t: Likewise. +2012-03-06 Alan Modra <amodra@gmail.com> -2011-03-31 Bernd Schmidt <bernds@codesourcery.com> - - * ld-scripts/crossref.exp: Add CFLAGS for tic6x*-*-*. - * ld-elf/sec-to-seg.exp: Remove tic6x from list of targets defining - pagesize to 1. - * ld-tic6x/tic6x.exp: Add support for DSBT shared library/executable - linking tests. - * ld-tic6x/dsbt.ld: New linker script. - * ld-tic6x/dsbt-be.ld: New linker script. - * ld-tic6x/dsbt-overflow.ld: New linker script. - * ld-tic6x/dsbt-inrange.ld: New linker script. - * ld-tic6x/shlib-1.s: New test. - * ld-tic6x/shlib-2.s: New test. - * ld-tic6x/shlib-app-1r.s: New test. - * ld-tic6x/shlib-app-1.s: New test. - * ld-tic6x/shlib-1.sd: New test. - * ld-tic6x/shlib-1.dd: New test. - * ld-tic6x/shlib-app-1.rd: New test. - * ld-tic6x/shlib-app-1rb.rd: New test. - * ld-tic6x/shlib-app-1.sd: New test. - * ld-tic6x/static-app-1rb.od: New test. - * ld-tic6x/shlib-app-1.dd: New test. - * ld-tic6x/shlib-app-1rb.sd: New test. - * ld-tic6x/static-app-1b.od: New test. - * ld-tic6x/static-app-1r.od: New test. - * ld-tic6x/shlib-1rb.rd: New test. - * ld-tic6x/shlib-app-1rb.dd: New test. - * ld-tic6x/shlib-1rb.sd: New test. - * ld-tic6x/shlib-1rb.dd: New test. - * ld-tic6x/shlib-app-1b.od: New test. - * ld-tic6x/tic6x.exp: New test. - * ld-tic6x/static-app-1rb.rd: New test. - * ld-tic6x/shlib-app-1r.od: New test. - * ld-tic6x/static-app-1.od: New test. - * ld-tic6x/static-app-1b.rd: New test. - * ld-tic6x/static-app-1r.rd: New test. - * ld-tic6x/static-app-1rb.sd: New test. - * ld-tic6x/static-app-1b.sd: New test. - * ld-tic6x/static-app-1rb.dd: New test. - * ld-tic6x/static-app-1r.sd: New test. - * ld-tic6x/static-app-1b.dd: New test. - * ld-tic6x/shlib-1b.rd: New test. - * ld-tic6x/static-app-1r.dd: New test. - * ld-tic6x/shlib-app-1b.rd: New test. - * ld-tic6x/shlib-1r.rd: New test. - * ld-tic6x/shlib-app-1r.rd: New test. - * ld-tic6x/shlib-1b.sd: New test. - * ld-tic6x/static-app-1.rd: New test. - * ld-tic6x/shlib-app-1b.sd: New test. - * ld-tic6x/shlib-1r.sd: New test. - * ld-tic6x/shlib-1b.dd: New test. - * ld-tic6x/shlib-app-1r.sd: New test. - * ld-tic6x/shlib-app-1b.dd: New test. - * ld-tic6x/shlib-1r.dd: New test. - * ld-tic6x/static-app-1.sd: New test. - * ld-tic6x/shlib-app-1r.dd: New test. - * ld-tic6x/static-app-1.dd: New test. - * ld-tic6x/shlib-noindex.rd: New test. - * ld-tic6x/shlib-noindex.dd: New test. - * ld-tic6x/shlib-noindex.sd: New test. - * ld-tic6x/got-reloc-local-1.s: New test. - * ld-tic6x/got-reloc-local-2.s: New test. - * ld-tic6x/got-reloc-local-r.d: New test. - * ld-tic6x/got-reloc-global.s: New test. - * ld-tic6x/got-reloc-global-addend-1.d: New test. - * ld-tic6x/got-reloc-global-addend-1.s: New test. - * ld-tic6x/got-reloc-global-addend-2.d: New test. - * ld-tic6x/got-reloc-inrange.d: New test. - * ld-tic6x/got-reloc-overflow.d: New test. - * ld-tic6x/got-reloc-global-addend-2.s: New test. - * ld-tic6x/dsbt-index-error.d: New test. - * ld-tic6x/dsbt-index.d: New test. - * ld-tic6x/dsbt-index.s: New test. - * ld-tic6x/shlib-app-1.od: New test. - * ld-tic6x/shlib-app-1rb.od: New test. - * ld-tic6x/shlib-1.rd: New test. - * ld-tic6x/weak.d: New test. - * ld-tic6x/weak-be.d: New test. - * ld-tic6x/weak.s: New test. - * ld-tic6x/weak-data.d: New test. - * ld-tic6x/common.d: New test. - * ld-tic6x/common.ld: New test. - * ld-tic6x/common.s: New test. - -2011-03-30 Richard Henderson <rth@redhat.com> - - * ld-elf/elf.exp: Force 32-bit start address for alpha. - * ld-elf/group8a.d: Don't disable for alpha. - * ld-elf/group8b.d: Likewise. - * ld-gc/start.s: Use .dc.a instead of .long. - -2011-03-24 Alan Modra <amodra@gmail.com> - - * ld-powerpc/tlsmark.s: Delete non-optimizable section. - * ld-powerpc/tlsmark32.s: Likewise. - * ld-powerpc/tlsmark.d: Adjust to suit. - * ld-powerpc/tlsmark32.d: Likewise. - * ld-powerpc/tlsopt1.d, * ld-powerpc/tlsopt1.s: New. - * ld-powerpc/tlsopt2.d, * ld-powerpc/tlsopt2.s: New. - * ld-powerpc/tlsopt3.d, * ld-powerpc/tlsopt3.s: New. - * ld-powerpc/tlsopt4.d, * ld-powerpc/tlsopt4.s: New. - * ld-powerpc/tlsopt1_32.d, * ld-powerpc/tlsopt1_32.s: New. - * ld-powerpc/tlsopt2_32.d, * ld-powerpc/tlsopt2_32.s: New. - * ld-powerpc/tlsopt3_32.d, * ld-powerpc/tlsopt3_32.s: New. - * ld-powerpc/tlsopt4_32.d, * ld-powerpc/tlsopt4_32.s: New. - * ld-powerpc/powerpc.exp: Run new tests. + PR ld/13683 + * ld-gc/pr13683.d: Allow non-zero top address digit. -2011-03-15 Mike Frysinger <vapier@gentoo.org> - - * ld-elfvers/vers.exp (vers19): Add -Wl,-rpath-link,. to linker flags. - -2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> - - * ld-arm/ifunc-1.s, ld-arm/ifunc-1.dd, ld-arm/ifunc-1.gd, - ld-arm/ifunc-1.rd, ld-arm/ifunc-2.s, ld-arm/ifunc-2.dd, - ld-arm/ifunc-2.gd, ld-arm/ifunc-2.rd, ld-arm/ifunc-3.s, - ld-arm/ifunc-3.dd, ld-arm/ifunc-3.gd, ld-arm/ifunc-3.rd, - ld-arm/ifunc-4.s, ld-arm/ifunc-4.dd, ld-arm/ifunc-4.gd, - ld-arm/ifunc-4.rd, ld-arm/ifunc-5.s, ld-arm/ifunc-5.dd, - ld-arm/ifunc-5.gd, ld-arm/ifunc-5.rd, ld-arm/ifunc-6.s, - ld-arm/ifunc-6.dd, ld-arm/ifunc-6.gd, ld-arm/ifunc-6.rd, - ld-arm/ifunc-7.s, ld-arm/ifunc-7.dd, ld-arm/ifunc-7.gd, - ld-arm/ifunc-7.rd, ld-arm/ifunc-8.s, ld-arm/ifunc-8.dd, - ld-arm/ifunc-8.gd, ld-arm/ifunc-8.rd, ld-arm/ifunc-9.s, - ld-arm/ifunc-9.dd, ld-arm/ifunc-9.gd, ld-arm/ifunc-9.rd, - ld-arm/ifunc-10.s, ld-arm/ifunc-10.dd, ld-arm/ifunc-10.gd, - ld-arm/ifunc-10.rd, ld-arm/ifunc-11.s, ld-arm/ifunc-11.dd, - ld-arm/ifunc-11.gd, ld-arm/ifunc-11.rd, ld-arm/ifunc-12.s, - ld-arm/ifunc-12.dd, ld-arm/ifunc-12.gd, ld-arm/ifunc-12.rd, - ld-arm/ifunc-13.s, ld-arm/ifunc-13.dd, ld-arm/ifunc-13.gd, - ld-arm/ifunc-13.rd, ld-arm/ifunc-14.s, ld-arm/ifunc-14.dd, - ld-arm/ifunc-14.gd, ld-arm/ifunc-14.rd, ld-arm/ifunc-15.s, - ld-arm/ifunc-15.dd, ld-arm/ifunc-15.gd, ld-arm/ifunc-15.rd, - ld-arm/ifunc-16.s, ld-arm/ifunc-16.dd, ld-arm/ifunc-16.gd, - ld-arm/ifunc-16.rd, ld-arm/ifunc-dynamic.ld, - ld-arm/ifunc-static.ld: New tests. - * ld-arm/farcall-group.d, ld-arm/farcall-group-size2.d, - ld-arm/farcall-mixed-lib-v4t.d, ld-arm/farcall-mixed-lib.d: Update - for new stub hashes. - * ld-arm/arm-elf.exp: Run them. - -2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> - - * ld-arm/arm-lib-plt-2a.s, ld-arm/arm-lib-plt-2b.s, - ld-arm/arm-lib-plt-2.dd, ld-arm/arm-lib-plt-2.rd: New tests. - * ld-arm/arm-elf.exp: Run them. - -2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> - - * ld-arm/exec-got-1a.s, ld-arm/exec-got-1b.s, ld-arm/exec-got-1.d, - ld-arm/unresolved-1.s, ld-arm/unresolved-1.d, - ld-arm/unresolved-1-dyn.d: New tests. - * ld-arm/arm-elf.exp: Run them. - -2011-03-12 H.J. Lu <hongjiu.lu@intel.com> - - * ld-x86-64/tlsgd4.dd: New. - * ld-x86-64/tlsgd4.s: Likewise. - * ld-x86-64/tlsgd5.dd: Likewise. - * ld-x86-64/tlsgd5a.s: Likewise. - * ld-x86-64/tlsgd5b.s: Likewise. - * ld-x86-64/tlsgd6.dd: Likewise. - * ld-x86-64/tlsgd6a.s: Likewise. - * ld-x86-64/tlsgd6b.s: Likewise. - * ld-x86-64/tlsld2.dd: Likewise. - * ld-x86-64/tlsld2.s: Likewise. +2012-03-05 Hans-Peter Nilsson <hp@axis.com> - * ld-x86-64/x86-64.exp (x86_64tests): Add tlsgd4, libtlsgd5.so, - tlsgd5, libtlsgd6.so, tlsgd6 and tlsld2. + PR ld/13803 + * ld-arm/fix-arm1176-off.d, ld-arm/fix-arm1176-on.d: Regexpify + address of func_to_branch_to. -2011-03-03 H.J. Lu <hongjiu.lu@intel.com> +2012-03-01 Hans-Peter Nilsson <hp@axis.com> - * ld-x86-64/tlsie4.dd: New. - * ld-x86-64/tlsie4.s: Likewise. + PR ld/13789 + * ld-elf/zerosize1.d: Allow xyzzy to be either OBJECT or NOTYPE. - * ld-x86-64/x86-64.exp (x86_64tests): Add tlsie4. +2012-02-25 Walter Lee <walt@tilera.com> -2011-02-25 H.J. Lu <hongjiu.lu@intel.com> + * ld-tilegx/reloc-be.d: New. + * ld-tilegx/reloc-le.d: New. + * ld-tilegx/reloc.d: Delete. + * ld-tilegx/tilegx.exp: Test big and little endian. - PR ld/12516 - * ld-elf/dynamic1.d: New. - * ld-elf/dynamic1.ld: Likewise. - * ld-elf/dynamic1.s: Likewise. +2012-02-22 Nick Clifton <nickc@redhat.com> -2011-02-25 Alan Modra <amodra@gmail.com> + PR ld/13683 + * ld-gc/pr13683.c: New test source file. + * ld-gc/pr13683.d: New test control and output file. + * ld-gc/gc.exp: Run the pr13683 test. - * ld-mn10300/i135409-3.s: Correct .size label reference. - * ld-sh/sh64/stolib.s: Likewise. + * ld-cris/tls-gc-68: Update expected symbol table dump. + * ld-cris/tls-gc-69: Likewise. + * ld-cris/tls-gc-70: Likewise. + * ld-cris/tls-gc-71: Likewise. + * ld-cris/tls-gc-75: Likewise. + * ld-cris/tls-gc-76.d: Likewise. + * ld-cris/tls-gc-79.d: Likewise. -2011-02-23 H.J. Lu <hongjiu.lu@intel.com> +2012-02-20 Thomas Schwinge <thomas@schwinge.name> - * ld-elf/new.cc: Don't include <exception_defines.h>. + * ld-elf/comm-data.exp: Run for *-*-gnu*. -2011-02-10 Alan Modra <amodra@gmail.com> +2012-02-14 Alan Modra <amodra@gmail.com> - * ld-scripts/defined.exp: Don't run defined5 for AOUT. - * ld-scripts/defined5.s: Use .text for "defined" section. - * ld-scripts/defined5.t: Adjust. + * ld-elf/linkoncerdiff.d: Don't run for hppa64-hpux. + * ld-elf/pr11304a.s: Always have whitespace before directives. + * ld-elf/pr11304b.s: Likewise. + * ld-selective/selective.exp: Test m68hc1* variant of m6811, m6812. + * lib/ld-lib.exp: Likewise, and vice versa. - * ld-gc/start.d: Exclude frv-*-linux*. - * ld-misc/defsym1.d: Likewise. +2012-02-13 Richard Henderson <rth@redhat.com> -2011-02-09 Alan Modra <amodra@gmail.com> + PR ld/13621 + * ld-elf/warn2.d: Expect ABS section for Foo. + * ld-elf/zerosize1.d, ld-elf/zerosize1.s: New test. - * ld-elfvsb/elfvsb.exp: Don't run any non-PIC tests on powerpc*-linux. - * ld-gc/gc.exp: Ensure powerpc64 test continues to fail. - * ld-srec/srec.exp: Don't edit toc on powerpc64. +2012-02-13 Alan Modra <amodra@gmail.com> -2011-01-23 Alan Modra <amodra@gmail.com> + * ld-m68hc11/m68hc11.exp: Run for m68hc11-*-* and m68hc12-*-*. + * ld-m68hc11/adj-brset.d: Remove redundant #target line. Add + -m m68hc11elf to ld invocation. + * ld-m68hc11/adj-jump.d: Likewise. + * ld-m68hc11/bug-1403.d: Likewise. + * ld-m68hc11/bug-1417.d: Likewise. + * ld-m68hc11/bug-3331.d: Likewise. + * ld-m68hc11/relax-direct.d: Likewise. + * ld-m68hc11/relax-group.d: Likewise. + * ld-m68hc11/far-hc11.d: Remove redundant #target line. Adjust for + changed addresses. + * ld-m68hc11/far-hc12.d: Remove redundant #target line. + * ld-m68hc11/link-hcs12.d: Likewise, and adjust for header changes. - * ld-scripts/sane1.d, * ld-scripts/sane1.t: New test. - * ld-scripts/expr.exp: Run it. +2012-02-09 H.J. Lu <hongjiu.lu@intel.com> -2011-01-18 H.J. Lu <hongjiu.lu@intel.com> + PR ld/13675 + * ld-i386/tlsnopic.dd: Update no-op padding. + * ld-i386/tlspic.dd: Likewise. - * ld-x86-64/ilp32-4.d: Updated. +2012-01-31 H.J. Lu <hongjiu.lu@intel.com> -2011-01-17 Richard Sandiford <richard.sandiford@linaro.org> + PR ld/13616 + * ld-i386/tlsbindesc.dd: Update no-op padding. + * ld-i386/tlsnopic.dd: Likewise. + * ld-i386/tlspic.dd: Likewise. + * ld-x86-64/tlsbin.dd: Likewise. + * ld-x86-64/tlsbindesc.dd: Likewise. + * ld-x86-64/tlspic.dd: Likewise. - * ld-arm/arm-rel32.s, ld-arm/arm-rel32.d: New testcase. - * ld-arm/arm-elf.exp: Run it. +2012-01-17 Alan Modra <amodra@gmail.com> -2011-01-17 Richard Sandiford <richard.sandiford@linaro.org> + * config/default.exp: Provide tmpdir/ld/collect-ld. - * ld-arm/gc-thumb-lib.s, ld-arm/gc-thumb.s, - ld-arm/gc-thumb.d: New test. - * ld-arm/arm-elf.exp: Run it. +2012-01-10 H.J. Lu <hongjiu.lu@intel.com> -2011-01-14 H.J. Lu <hongjiu.lu@intel.com> + PR ld/13581 + * ld-x86-64/ilp32-4.s: New. + * ld-x86-64/ilp32-10.d: Likewise. + * ld-x86-64/ilp32-10.s: Likewise. - * ld-x86-64/ia32-2.d: Replace --n32 with --x32. - * ld-x86-64/ilp32-1.d: Likewise. - * ld-x86-64/ilp32-2.d: Likewise. - * ld-x86-64/ilp32-3.d: Likewise. - * ld-x86-64/ilp32-4.d: Likewise. + * ld-x86-64/ilp32-4.d: Adjusted. * ld-x86-64/ilp32-5.d: Likewise. - * ld-x86-64/lp64-3.d: Likewise. - * ld-x86-64/x86-64.exp: Likewise. + * ld-x86-64/ilp32-5.s: Likewise. -2011-01-14 H.J. Lu <hongjiu.lu@intel.com> + * ld-x86-64/x86-64.exp: Run ilp32-10. - * ld-x86-64/ilp32-5.d: New. - * ld-x86-64/ilp32-5.s: Likewise. +2012-01-05 Nick Clifton <nickc@redhat.com> + + * ld-x86-64/x86-64.exp: Add test of linking mixed 32-bit and + 64-bit objects when the 32-bit object (loaded first) contains 32+ + local symbols, all referenced by relocs and the 64-bit object + contains a reloc that uses a symbol in the 32-bit object. + * 32bit.s: New source file. + * 64bit.s: New source file. + * incompatible.l: New expected linker output file. - * ld-x86-64/x86-64.exp: Run ilp32-5. - -2011-01-13 H.J. Lu <hongjiu.lu@intel.com> - - * ld-x86-64/ilp32-4.d: New. - - * ld-x86-64/x86-64.exp: Run ilp32-4. - -2011-01-13 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12356 - * ld-scripts/defined.exp: Run defined5. - - * ld-scripts/defined5.d: New. - * ld-scripts/defined5.s: Likewise. - * ld-scripts/defined5.t: Likewise. - -2011-01-13 H.J. Lu <hongjiu.lu@intel.com> - - * ld-scripts/defined4.d: Xfail rs6000-*-aix*. Skip mips*-*-* - and mmix-*-*. - - * ld-scripts/expr2.d: Xfail rs6000-*-aix* and arm-*-*aout. - -2011-01-10 H.J. Lu <hongjiu.lu@intel.com> - - * ld-scripts/assert.exp: Run assert2. - - * ld-scripts/assert2.d: New. - * ld-scripts/assert2.t: Likewise. - -2011-01-10 Nathan Sidwell <nathan@codesourcery.com> - Glauber de Oliveira Costa <glommer@gmail.com> - - * ld-arm/arm-elf.exp: Added tests for new TLS handling - relocations. - * ld-arm/tls-descrelax-be32.d: New. - * ld-arm/tls-descrelax-be32.s: New. - * ld-arm/tls-descrelax-be8.d: New. - * ld-arm/tls-descrelax-be8.s: New. - * ld-arm/tls-descrelax-v7.d: New. - * ld-arm/tls-descrelax-v7.s: New. - * ld-arm/tls-descrelax.d: New. - * ld-arm/tls-descrelax.s: New. - * ld-arm/tls-descseq.d: New. - * ld-arm/tls-descseq.r: New. - * ld-arm/tls-descseq.s: New. - * ld-arm/tls-gdesc-got.d: New. - * ld-arm/tls-gdesc-got.s: New. - * ld-arm/tls-gdesc-nlazy.g: New. - * ld-arm/tls-gdesc-nlazy.s: New. - * ld-arm/tls-gdesc.d: New. - * ld-arm/tls-gdesc.r: New. - * ld-arm/tls-gdesc.s: New. - * ld-arm/tls-gdierelax.d: New. - * ld-arm/tls-gdierelax.s: New. - * ld-arm/tls-gdierelax2.d: New. - * ld-arm/tls-gdierelax2.s: New. - * ld-arm/tls-gdlerelax.d: New. - * ld-arm/tls-gdlerelax.s: New. - * ld-arm/tls-lib-loc.d: New. - * ld-arm/tls-lib-loc.r: New. - * ld-arm/tls-lib-loc.s: New. - * ld-arm/tls-longplt-lib.d: New. - * ld-arm/tls-longplt-lib.s: New. - * ld-arm/tls-longplt.d: New. - * ld-arm/tls-longplt.s: New. - * ld-arm/tls-mixed.r: New. - * ld-arm/tls-mixed.s: New. - * ld-arm/tls-thumb1.d: New. - * ld-arm/tls-thumb1.s: New. - * ld-arm/arm-elf.exp: New. - -2011-01-08 Nick Clifton <nickc@redhat.com> - - * ld-misc/defsym1.d: Add a -e linker command line option. - * ld-misc/dummy.s: Remove text. - -2011-01-08 Nick Clifton <nickc@redhat.com> - - PR ld/12358 - PR ld/12359 - * ld-elf/textaddr2.d: Fix regexp to work with hppa64 targets. - * ld-elf/textaddr6.d: Fix regexp to work with hppa64 targets. - -2011-01-06 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12366 - PR ld/12371 - * ld-ifunc/ifunc-10-i386.s: Add more tests. - * ld-ifunc/ifunc-10-x86-64.s: Likewise. - * ld-ifunc/ifunc-11-i386.s: Likewise. - * ld-ifunc/ifunc-11-x86-64.s: Likewise. - - * ld-ifunc/ifunc-12-i386.d: New. - * ld-ifunc/ifunc-12-i386.s: Likewise. - * ld-ifunc/ifunc-12-x86-64.d: Likewise. - * ld-ifunc/ifunc-12-x86-64.s: Likewise. - * ld-ifunc/ifunc-13-i386.d: Likewise. - * ld-ifunc/ifunc-13-x86-64.d: Likewise. - * ld-ifunc/ifunc-13a-i386.s: Likewise. - * ld-ifunc/ifunc-13a-x86-64.s: Likewise. - * ld-ifunc/ifunc-13b-i386.s: Likewise. - * ld-ifunc/ifunc-13b-x86-64.s: Likewise. - -2011-01-03 H.J. Lu <hongjiu.lu@intel.com> - - * ld-x86-64/dummy.s: New. - * ld-x86-64/foo.s: Likewise. - * ld-x86-64/ia32-1.d: Likewise. - * ld-x86-64/ia32-2.d: Likewise. - * ld-x86-64/ia32-3.d: Likewise. - * ld-x86-64/ilp32-1.d: Likewise. - * ld-x86-64/ilp32-2.d: Likewise. - * ld-x86-64/ilp32-3.d: Likewise. - * ld-x86-64/lp64-1.d: Likewise. - * ld-x86-64/lp64-2.d: Likewise. - * ld-x86-64/lp64-3.d: Likewise. - * ld-x86-64/start.s: Likewise. - - * ld-x86-64/x86-64.exp: Run ilp32-1, ilp32-2, ilp32-3, ia32-1, - ia32-2, ia32-3, lp64-1, lp64-2 and lp64-3. - -2011-01-02 H.J. Lu <hongjiu.lu@intel.com> - - PR ld/12001 - * ld-misc/defsym.exp: New. - * ld-misc/defsym1.d: Likewise. - * ld-misc/dummy.s: Likewise. - * ld-misc/foo.s: Likewise. - * ld-misc/start.s: Likewise. - -For older changes see ChangeLog-2010 +For older changes see ChangeLog-2011 Local Variables: mode: change-log diff --git a/binutils-2.22/ld/testsuite/ChangeLog-2011 b/binutils-2.22/ld/testsuite/ChangeLog-2011 new file mode 100644 index 0000000..6dd2e3d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ChangeLog-2011 @@ -0,0 +1,1276 @@ +2011-12-15 David Daney <david.daney@cavium.com> + Nick Clifton <nickc@redhat.com> + + * ld-elfvers/vers.exp (picflag): Set to -fpic for mips*-*-* when + using GCC-4.3 or later. + (pic): Set to "yes" for mips*-*-linux*. + * ld-elfvsb/elfvsb.exp: Don't test non-PIC shared libraried on + mips*-*-linux*. + (picflag): Set to -fpic for mips*-*-* when using GCC-4.3 or later. + * ld-elfweak/elfweak.exp (picflag): Set to -fpic for mips*-*-* + when using GCC-4.3 or later. + * ld-shared/shared.exp (picflag): Same. + * lib/ld-lib.exp (at_least_gcc_version): New proc. + +2011-12-10 David Daney <david.daney@cavium.com> + + * ld-mips-elf/pic-and-nonpic-6-n64.dd: Use correct encoding for + 64-bit MOVE instruction. + +2011-12-09 David Daney <david.daney@cavium.com> + + * ld-mips-elf/tls-multi-got-1.r: Add "0x" to match value for + MIPS_BASE_ADDRESS. + * ld-mips-elf/textrel-1.d: Same. + * ld-mips-elf/multi-got-1.d: Same. + +2011-12-05 Nick Clifton <nickc@redhat.com> + + * ld-cris/weakref4.d: Updated pattern match for the message from + readelf stating that there are no decoded unwind sections. + * tls-js1.d: Likewise. + * tls-local-63.d: Likewise. + * tls-local-64.d: Likewise. + * tls-und-38.d: Likewise. + * tls-und-42.d: Likewise. + * tls-und-46.d: Likewise. + * tls-und-50.d: Likewise. + * weakref3.d: Likewise. + * weakref4.d: Likewise. + +2011-12-03 David Daney <david.daney@cavium.com> + + * ld-bootstrap/bootstrap.exp: Use consistent flags for final link + in ia64 and mips cases. + +2011-11-29 Maciej W. Rozycki <macro@codesourcery.com> + + PR ld/10144 + * lib/ld-lib.exp (run_ld_link_tests): Handle sources from other + directories. + (run_ld_link_exec_tests): Likewise. + (run_cc_link_tests): Likewise. + * ld-elf/comm-data1.sd: New test. + * ld-elf/comm-data1.s: Source for the new test. + * ld-elf/comm-data2.sd: New test. + * ld-elf/comm-data2.rd: Likewise. + * ld-elf/comm-data2.xd: Likewise. + * ld-elf/comm-data2.s: Source for the new tests. + * ld-elf/comm-data.exp: New file. + * ld-mips-elf/comm-data.exp: Likewise. + +2011-11-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + * ld-arm/jump-reloc-veneers.s: Update for changes to assembler output. + +2011-11-08 Alan Modra <amodra@gmail.com> + + * ld-powerpc/powerpc.exp: Expect ld warnings for tocopt test. + * ld-powerpc/tocopt.out: New file. + +2011-10-25 Joern Rennecke <joern.rennecke@embecosm.com> + + * ld-srec/srec.exp: xfail epiphany. + * lib/ld-lib.exp (check_shared_lib_support): Add Epiphany to list + of targets not supporting shared libraries. + +2011-10-21 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13302 + * ld-i386/i386.exp: Run pr13302. + + * ld-i386/pr13302.d: New. + * ld-i386/pr13302.s: Likewise. + + * ld-x86-64/pr13082-5b.d: Updated. + * ld-x86-64/pr13082-6a.d: Likewise. + * ld-x86-64/pr13082-6b.d: Likewise. + +2011-10-21 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13302 + * ld-ifunc/ifunc-16-i386.d: New. + * ld-ifunc/ifunc-16-x86-64.d: Likewise. + * ld-ifunc/ifunc-16-x86.s: Likewise. + +2011-10-20 Alan Modra <amodra@gmail.com> + + * ld-selective/selective.exp: Use check_gc_sections_available. + Remove redundant xfails. + * ld-selective/sel-dump.exp: Likewise. + +2011-10-19 Alan Modra <amodra@gmail.com> + + * ld-elf/elf.exp: Move test for shared lib support.. + * lib/ld-lib.exp (check_shared_lib_support): ..to here. Add m68hc1*, + and s/ms1/mt/. + (check_gc_sections_available): Match hppa*64 not hppa64. Comment. + * ld-gc/libpersonality.s: New. + * ld-gc/personality.s, * ld-gc/personality.d: New. + * ld-gc/gc.exp: Run personality test. + +2011-10-18 David S. Miller <davem@davemloft.net> + + * ld-sparc/tlssunbin32.dd: Update for TLS call relaxation fix + for PR 13301. + * ld-sparc/tlssunbin64.dd: Likewise. + * ld-sparc/tlssunpic32.dd: Likewise. + * ld-sparc/tlssunpic64.dd: Likewise. + +2011-10-18 Jie Zhang <jie@codesourcery.com> + Julian Brown <julian@codesourcery.com> + + * ld-arm/cortex-a8-fix-b-plt.d: Adjust. + * ld-arm/cortex-a8-fix-bcc-plt.d: Adjust. + * ld-arm/cortex-a8-fix-bl-plt.d: Adjust. + * ld-arm/cortex-a8-fix-bl-rel-plt.d: Adjust. + * ld-arm/cortex-a8-fix-blx-plt.d: Adjust. + * ld-arm/ifunc-1.dd: Adjust. + * ld-arm/ifunc-2.dd: Adjust. + * ld-arm/ifunc-3.dd: Adjust. + * ld-arm/ifunc-4.dd: Adjust. + * ld-arm/ifunc-5.dd: Adjust. + * ld-arm/ifunc-6.dd: Adjust. + * ld-arm/ifunc-7.dd: Adjust. + * ld-arm/ifunc-8.dd: Adjust. + * ld-arm/ifunc-9.dd: Adjust. + * ld-arm/ifunc-10.dd: Adjust. + * ld-arm/ifunc-14.dd: Adjust. + * ld-arm/ifunc-15.dd: Adjust. + * ld-arm/ifunc-16.dd: Adjust. + +2011-10-14 Hans-Peter Nilsson <hp@axis.com> + + * ld-cris/pic-gc-72.d: Adjust for dropping unused undefined + dynamic symbol "dsofn". + +2011-10-10 Alan Modra <amodra@gmail.com> + + * ld-powerpc/relbrlt.d: Update for stub alignment change. + * ld-powerpc/tlsexe.g: Likewise. + * ld-powerpc/tlsexe.r: Likewise. + * ld-powerpc/tlsexetoc.g: Likewise. + * ld-powerpc/tlsexetoc.r: Likewise. + * ld-powerpc/tlsso.g: Likewise. + * ld-powerpc/tlsso.r: Likewise. + +2011-10-08 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13250 + * ld-elf/shared.exp (build_tests): Add tests for PR ld/13250. + (run_tests): Likewise. + + * ld-elf/pr13250-1.c: New. + * ld-elf/pr13250-2.c: Likewise. + * ld-elf/pr13250-3.c: Likewise. + +2011-10-07 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/elf.exp: Run --gc-sections tests only if --gc-sections + is available. + +2011-10-06 Alan Modra <amodra@gmail.com> + + * ld-plugin/plugin-1.d, * ld-plugin/plugin-2.d, * ld-plugin/plugin-3.d, + * ld-plugin/plugin-4.d, * ld-plugin/plugin-5.d, * ld-plugin/plugin-6.d, + * ld-plugin/plugin-7.d, * ld-plugin/plugin-8.d, * ld-plugin/plugin-9.d, + * ld-plugin/plugin-10.d, * ld-plugin/plugin-11.d: Update. + +2011-10-05 Nick Clifton <nickc@redhat.com> + + * ld-scripts/phdrs.exp: Expect to fail for the RX. + +2011-09-30 Alan Modra <amodra@gmail.com> + + * ld-powerpc/tocopt.d: Update. + * ld-powerpc/tocopt5.d, * ld-powerpc/tocopt5.s: New test. + * ld-powerpc/powerpc.exp: Run new test. + +2011-09-29 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13195 + * ld-elf/elf.exp: Add a C link testcase for PR ld/13195. + + * ld-elf/pr13195.c: New. + * ld-elf/pr13195.d: Likewise. + * ld-elf/pr13195.s: Likewise. + * ld-elf/pr13195.t: Likewise. + +2011-09-16 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/pr12975.d: Only run for *-*-linux* and *-*-gnu* + targets. + * ld-elf/pr13177.d: Likewise. + + * ld-elf/pr13177.s: Avoid relocations in text sections. + +2011-09-15 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13177 + * ld-elf/pr13177.d: New. + * ld-elf/pr13177.s: Likewise. + +2011-09-15 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12975 + * ld-elf/pr12975.d: New. + * ld-elf/pr12975.s: Likewise. + * ld-elf/pr12975.t: Likewise. + +2011-09-12 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13178 + * ld-ifunc/ifunc-13-i386.d: Updated. + * ld-ifunc/ifunc-13-x86-64.d: Likewise. + * ld-ifunc/ifunc-3a-x86.d: Likewise. + * ld-x86-64/pr13082-5a.d: Likewise. + + * ld-ifunc/ifunc-15-i386.d: New. + * ld-ifunc/ifunc-15-i386.s: Likewise. + * ld-ifunc/ifunc-15-x86-64.d: Likewise. + * ld-ifunc/ifunc-15-x86-64.s: Likewise. + +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, + * ld-powerpc/tocopt4.d: New test. + * ld-powerpc/powerpc.exp: Run it. + +2011-08-12 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13082 + * ld-x86-64/pr13082-1.s: New. + * ld-x86-64/pr13082-1a.d: Likewise. + * ld-x86-64/pr13082-1b.d: Likewise. + * ld-x86-64/pr13082-2.s: Likewise. + * ld-x86-64/pr13082-2a.d: Likewise. + * ld-x86-64/pr13082-2b.d: Likewise. + * ld-x86-64/pr13082-3.s: Likewise. + * ld-x86-64/pr13082-3a.d: Likewise. + * ld-x86-64/pr13082-3b.d: Likewise. + * ld-x86-64/pr13082-4.s: Likewise. + * ld-x86-64/pr13082-4a.d: Likewise. + * ld-x86-64/pr13082-4b.d: Likewise. + * ld-x86-64/pr13082-5.s: Likewise. + * ld-x86-64/pr13082-5a.d: Likewise. + * ld-x86-64/pr13082-5b.d: Likewise. + * ld-x86-64/pr13082-6.s: Likewise. + * ld-x86-64/pr13082-6a.d: Likewise. + * ld-x86-64/pr13082-6b.d: Likewise. + + * ld-x86-64/x86-64.exp: Run pr13082-[1-6][ab]. + +2011-08-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> + + * ld-arm/arm-elf.exp (armelftests): Update for new command-line + options. + (armeabitests): Update for new command-line options, and add + new test cases. + * ld-arm/fix-arm1176.s: Add test case. + * ld-arm/fix-arm1176-off.d: Likewise. + * ld-arm/fix-arm1176-on.d: Likewise. + +2011-08-05 Alan Modra <amodra@gmail.com> + + * ld-powerpc/tlsexe.r: Update for stripped .branch_lt. + * ld-powerpc/tlsexetoc.r: Likewise. + * ld-powerpc/tlsso.r: Likewise. + * ld-powerpc/tlstocso.r: Likewise. + +2011-08-01 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/13048 + * ld-x86-64/ilp32-6.d: New. + * ld-x86-64/ilp32-6.s: Likewise. + * ld-x86-64/ilp32-7.d: Likewise. + * ld-x86-64/ilp32-7.s: Likewise. + * ld-x86-64/ilp32-8.d: Likewise. + * ld-x86-64/ilp32-8.s: Likewise. + * ld-x86-64/ilp32-9.d: Likewise. + * ld-x86-64/ilp32-9.s: Likewise. + + * ld-x86-64/x86-64.exp: Run ilp32-6, ilp32-7, ilp32-8 and ilp32-9. + +2011-07-27 Roland McGrath <mcgrathr@google.com> + + * ld-i386/vxworks1-lib.rd: Swap order of sections expected in output. + +2011-07-26 Alan Modra <amodra@gmail.com> + + * ld-powerpc/powerpc.exp: Use --no-ld-generated-unwind-info + with some tests. + * ld-powerpc/relbrlt.d: Likewise. + +2011-07-25 Hans-Peter Nilsson <hp@bitrange.com> + + PR ld/12815 + * ld-mmix/pr12815-1.d, ld-mmix/pr12815-1.s, ld-mmix/pr12815-1.ld, + ld-mmix/pr12815-2.d, ld-mmix/pr12815-2.s: New tests. + +2011-07-24 Catherine Moore <clm@codesourcery.com> + Chao-ying Fu <fu@mips.com> + Maciej W. Rozycki <macro@codesourcery.com> + + * lib/ld-lib.exp (run_dump_test): Support distinct assembler + flags for the same source named multiple times. + * ld-mips-elf/jalx-1.s: New test source. + * ld-mips-elf/jalx-1.d: New test output. + * ld-mips-elf/jalx-1.ld: New test linker script. + * ld-mips-elf/jalx-2-main.s: New test source. + * ld-mips-elf/jalx-2-ex.s: Likewise. + * ld-mips-elf/jalx-2-printf.s: Likewise. + * ld-mips-elf/jalx-2.dd: New test output. + * ld-mips-elf/jalx-2.ld: New test linker script. + * ld-mips-elf/mips16-and-micromips.d: New test. + * ld-mips-elf/mips-elf.exp: Run the new tests + +2011-07-22 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/abs-k1om.d: New. + * ld-x86-64/protected2-k1om.d: Likewise. + * ld-x86-64/protected3-k1om.d: Likewise. + + * ld-x86-64/x86-64.exp: Run abs-k1om, protected2-k1om and + protected3-k1om. + +2011-07-14 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/binutils.exp (binutils_test): Also check ignored + "-z relro". + +2011-07-14 Alan Modra <amodra@gmail.com> + + * ld-scripts/section-flags.exp: Pass --local-store 0:0 for + spu. Rewrite using foreach. + +2011-07-14 Alan Modra <amodra@gmail.com> + + * ld-powerpc/tlsexe.d, * ld-powerpc/tlsexe.g. *ld-powerpc/tlsexe.r, + * ld-powerpc/tlsexetoc.d, * ld-powerpc/tlsexetoc.g, + * ld-powerpc/tlsexetoc.r, * ld-powerpc/tlsso.d, + * ld-powerpc/tlstocso.d: Update for plt stub change. + +2011-07-11 Catherine Moore <clm@cm00re.com> + + * ld-scripts/section-flags-1.s: New. + * ld-scripts/section-flags-1.t: New. + * ld-scripts/section-flags-2.s: New. + * ld-scripts/section-flags-2.t: New. + * ld-scripts/section-flags.exp: New. + +2011-07-11 Alan Modra <amodra@gmail.com> + + * ld-powerpc/tocopt2.s, * ld-powerpc/tocopt2.out, + * ld-powerpc/tocopt2.d: New test. + * ld-powerpc/tocopt3.s, * ld-powerpc/tocopt3.d: New test. + * ld-powerpc/powerpc.exp (ppc64elftests) Run them. + +2011-07-03 Samuel Thibault <samuel.thibault@gnu.org> + Thomas Schwinge <thomas@schwinge.name> + + PR binutils/12913 + * ld-ifunc/ifunc.exp: Update for changed output. + * ld-unique/unique.exp: Likewise. + +2011-06-27 Nick Clifton <nickc@redhat.com> + + * ld-elf/elf.exp: Exlcude all v850 targets from note-3 test. + +2011-06-27 Alan Modra <amodra@gmail.com> + + * ld-elf/elf.exp: Exclude more targets from note-3 test. + +2011-06-24 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12921 + * ld-i386/i386.exp: Run pr12921. + * ld-x86-64/x86-64.exp: Likewise. + + * ld-i386/pr12921.d: New. + * ld-i386/pr12921.s: Likewise. + * ld-x86-64/pr12921.d: Likewise. + * ld-x86-64/pr12921.s: Likewise. + +2011-06-22 Thomas Schwinge <thomas@schwinge.name> + + * ld-elf/elf.exp: Execute array_tests_pie tests on *-*-gnu*, too. + +2011-06-20 H.J. Lu <hongjiu.lu@intel.com> + + * ld-ifunc/ifunc-1-local-x86.d: Adjusted. + * ld-ifunc/ifunc-1-x86.d: Likewise. + * ld-ifunc/ifunc-3a-x86.d: Likewise. + +2011-06-20 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/eh1.d: Revert x32 change. + * ld-elf/eh2.d: Likewise. + * ld-elf/eh3.d: Likewise. + * ld-elf/eh4.d: Likewise. + +2011-06-20 Jakub Jelinek <jakub@redhat.com> + + PR ld/12570 + * ld-x86-64/x86-64.exp: Link some testcases with + --no-ld-generated-unwind-info. + * ld-x86-64/tlsbin.rd: Add --no-ld-generated-unwind-info to ld + comment. + * ld-x86-64/tlsdesc.dd: Likewise. + * ld-x86-64/tlspic.dd: Likewise. + * ld-x86-64/tlsdesc.sd: Likewise. + * ld-x86-64/tlspic.rd: Likewise. + * ld-x86-64/tlsbindesc.rd: Likewise. + * ld-x86-64/tlsbindesc.sd: Likewise. + * ld-x86-64/tlsbin.td: Likewise. + * ld-x86-64/tlsdesc.pd: Likewise. + * ld-x86-64/tlsdesc.td: Likewise. + * ld-x86-64/tlsbindesc.dd: Likewise. + * ld-x86-64/tlsbin.dd: Likewise. + * ld-x86-64/tlsgdesc.rd: Likewise. + * ld-x86-64/tlspic.sd: Likewise. + * ld-x86-64/tlsbindesc.td: Likewise. + * ld-x86-64/tlspic.td: Likewise. + * ld-x86-64/tlsbin.sd: Likewise. + * ld-x86-64/ilp32-4.d: Likewise. + * ld-x86-64/tlsgdesc.dd: Add --no-ld-generated-unwind-info to ld + comment. Adjust. + * ld-x86-64/tlsdesc.rd: Likewise. + * ld-x86-64/tlsgd6.dd: Adjust. + * ld-x86-64/tlsgd5.dd: Likewise. + * ld-i386/i386.exp: Link some testcases with + --no-ld-generated-unwind-info. + * ld-i386/tlsbin.rd: Add --no-ld-generated-unwind-info to ld + comment.. + * ld-i386/tlsdesc.dd: Likewise. + * ld-i386/tlspic.dd: Likewise. + * ld-i386/tlsdesc.sd: Likewise. + * ld-i386/tlsgdesc.dd: Likewise. + * ld-i386/tlsnopic.sd: Likewise. + * ld-i386/tlspic.rd: Likewise. + * ld-i386/tlsdesc.rd: Likewise. + * ld-i386/tlsbindesc.rd: Likewise. + * ld-i386/tlsbindesc.sd: Likewise. + * ld-i386/tlsbin.td: Likewise. + * ld-i386/tlsdesc.td: Likewise. + * ld-i386/tlsnopic.dd: Likewise. + * ld-i386/tlsbindesc.dd: Likewise. + * ld-i386/tlsbin.dd: Likewise. + * ld-i386/tlsgdesc.rd: Likewise. + * ld-i386/tlspic.sd: Likewise. + * ld-i386/tlsnopic.rd: Likewise. + * ld-i386/tlsbindesc.td: Likewise. + * ld-i386/tlspic.td: Likewise. + * ld-i386/tlsbin.sd: Likewise. + +2011-06-19 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/eh1.d: Skip x32. + * ld-elf/eh2.d: Likewise. + * ld-elf/eh3.d: Likewise. + * ld-elf/eh4.d: Likewise. + + * ld-elfvsb/elfvsb.exp: Only xfail 64bit x86_64-*-linux*. + * ld-shared/shared.exp: Likewise. + + * ld-ifunc/ifunc-1-local-x86.d: Support x32. + * ld-ifunc/ifunc-1-x86.d: Likewise. + * ld-ifunc/ifunc-3a-x86.d: Likewise. + * ld-x86-64/pcrel16.d: Likewise. + + * ld-x86-64/x86-64.exp (x86_64tests): Add missing -melf_x86_64. + +2011-06-16 Alan Modra <amodra@gmail.com> + + * ld-elfvers/vers2.ver: Don't assume any particular index for + version reference. + * ld-elfvers/vers3.ver: Likewise. + * ld-elfvers/vers19.ver: Likewise. + * ld-elfvers/vers22.ver: Likewise. + * ld-elfvers/vers27d4.ver: Likewise. + * ld-elfvers/vers28c.ver: Likewise. + +2011-06-14 Alan Modra <amodra@gmail.com> + + * ld-elf/elf.exp: Don't attempt to build symbol3.a for hppa64-hpux. + * ld-elf/warn3.d: Correct target selection and comment. + + * ld-elf/pr12851.d: Correct target selection and comment. + +2011-06-13 Walter Lee <walt@tilera.com> + + * ld-elf/eh5.d: Don't run on tile*. + * ld-srec/srec.exp: xfail on tile*. + * ld-tilegx/external.s: New file. + * ld-tilegx/reloc.d: New file. + * ld-tilegx/reloc.s: New file. + * ld-tilegx/tilegx.exp: New file. + * ld-tilepro/external.s: New file. + * ld-tilepro/reloc.d: New file. + * ld-tilepro/reloc.s: New file. + * ld-tilepro/tilepro.exp: New file. + +2011-06-10 Nick Clifton <nickc@redhat.com> + + * ld-elf/elf.exp: Add test for linking a shared library with a + broken linker script that marks dynamic sections as being notes. + * ld-elf/note-3.s: New test source file. + * ld-elf/note-3.t: New test linker script. + * ld-elf/note-3.l: Expected output from the linker. + * lib/ld-lib.exp (run_ld_link_tests): Improve description. + +2011-06-08 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/x86-64.exp: Build x32 DSO from x86-64 object file + only for native. + +2011-06-08 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/simple.c: New. + * ld-x86-64/x86-64-x32.rd: Likewise. + + * ld-x86-64/x86-64.exp: Check building x32 DSO from x86-64 + object file. + +2011-06-08 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12851 + * ld-elf/pr12851.d: New. + * ld-elf/pr12851.s: Likewise. + +2011-06-07 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/elf.exp: Build symbol3.a and symbol3w.a. + + * ld-elf/symbol3.s: New. + * ld-elf/symbol3w.s: Likewise. + * ld-elf/warn3.d: Likewise. + +2011-06-02 Nathan Sidwell <nathan@codesourcery.com> + + Adjust tests for zero offset formatting. + * ld-arm/cortex-a8-fix-bcc-plt.d: Adjust. + * ld-arm/farcall-arm-arm-pic-veneer.d: Adjust. + * ld-arm/farcall-arm-thumb.d: Adjust. + * ld-arm/farcall-group-size2.d: Adjust. + * ld-arm/farcall-group.d: Adjust. + * ld-arm/farcall-mix.d: Adjust. + * ld-arm/farcall-mix2.d: Adjust. + * ld-arm/farcall-mixed-lib-v4t.d: Adjust. + * ld-arm/farcall-mixed-lib.d: Adjust. + * ld-arm/farcall-thumb-arm-blx-pic-veneer.d: Adjust. + * ld-arm/farcall-thumb-arm-pic-veneer.d: Adjust. + * ld-arm/farcall-thumb-thumb.d: Adjust. + * ld-arm/ifunc-10.dd: Adjust. + * ld-arm/ifunc-3.dd: Adjust. + * ld-arm/ifunc-4.dd: Adjust. + * ld-arm/ifunc-5.dd: Adjust. + * ld-arm/ifunc-6.dd: Adjust. + * ld-arm/ifunc-7.dd: Adjust. + * ld-arm/ifunc-8.dd: Adjust. + * ld-arm/jump-reloc-veneers-long.d: Adjust. + * ld-arm/tls-longplt-lib.d: Adjust. + * ld-arm/tls-thumb1.d: Adjust. + +2011-05-31 Paul Brook <paul@codesourcery.com> + + * ld-arm/cortex-a8-far.d: Adjust expected output. + * ld-arm/arm-call1.s: Give function symbol correct type. + * ld-arm/arm-call2.s: Ditto. + * ld-arm/farcall-group4.s: Ditto. + * ld-arm/arm-elf.exp (cortex-a8-far): Define far symbols with correct + type via assembly file. + * ld-arm/cortex-a8-far-3.s: New file. + * ld-arm/abs-call-1.s: Add Thumb tests + +2011-05-31 Paul Brook <paul@codesourcery.com> + Nathan Sidwell <nathan@codesourcery.com> + + * ld-arm/abs-call-1.d: New. + * ld-arm/abs-call-1.s: New. + * ld-arm/arm-elf.exp: Add it. + +2011-05-31 Paul Brook <paul@codesourcery.com> + + * ld-arm/tls-longplt.d: Update expected output. + * ld-arm/tls-thumb1.d: Ditto. + +2011-05-26 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12809 + * ld-x86-64/tlsbin.s: Add a test for LE with large model. + + * ld-x86-64/tlsbin.dd: Updated. + * ld-x86-64/tlsbin.rd: Likewise. + * ld-x86-64/tlsbin.sd: Likewise. + * ld-x86-64/tlsbin.td: Likewise. + * ld-x86-64/tlsbindesc.dd: Likewise. + * ld-x86-64/tlsbindesc.rd: Likewise. + * ld-x86-64/tlsbindesc.sd: Likewise. + * ld-x86-64/tlsbindesc.td: Likewise. + +2011-05-24 Hans-Peter Nilsson <hp@axis.com> + + * ld-cris/tls-e-tpoffcomm1.d: Adjust for second PR12763 change, + setting TLS file offset. + +2011-05-23 Nick Clifton <nickc@redhat.com> + + * ld-elf/shared.exp: Revert previous delta. Do not build + libraries in a non-native environment. + +2011-05-23 Alan Modra <amodra@gmail.com> + + PR 12763 + * ld-elf/binutils.exp: Don't run tdata3 for hppa64. + +2011-05-21 Hans-Peter Nilsson <hp@axis.com> + + * ld-cris/tls-e-tpoffcomm1.d: Adjust for PR12763 change removing + empty program header. + +2011-05-21 Alan Modra <amodra@gmail.com> + + PR 12763 + * ld-elf/tdata3.s: New test. + * ld-elf/tbss3.s: New test. + * ld-elf/binutils.exp: Consolidate tbss and tdata tests. + +2011-05-20 Bernd Schmidt <bernds@codesourcery.com> + + * ld-tic6x/pcr-reloc.d: New test. + * ld-tic6x/pcr-reloc.s: New test. + +2011-05-18 Nick Clifton <nickc@redhat.com> + + PR ld/12761 + * lib/ld-lib.exp (run_cc_link_tests): Add an optional 8th + parameter - an expected warning message from the linker. + * ld-elf/shared.exp (build_tests): Expect a warning message when + building the libbarw.so library. + + * ld-elf/shared.exp: Run library building tests even when not + building a native toolchain. + +2011-05-16 H.J. Lu <hongjiu.lu@intel.com> + + * ld-scripts/phdrs.exp: Replace --private with + --private-headers for objdump. + * ld-scripts/phdrs2.exp: Likewise. + +2011-05-15 Richard Sandiford <rdsandiford@googlemail.com> + + * lib/ld-lib.exp (run_ld_link_tests): Simplify pass/fail logic. + Fail if the link command fails and if no test rules are defined. + * ld-mips-elf/reloc-6a.s, ld-mips-elf/reloc-6b.s: New tests. + * ld-mips-elf/mips-elf.exp: Run them. + +2011-05-13 Bernd Schmidt <bernds@codesourcery.com> + + * ld-tic6x/dsbt.ld (OUTPUT_FORMAT): Add. + * ld-tic6x/tic6x.exp: Add OSABI tests. + +2011-05-13 Alan Modra <amodra@gmail.com> + + * ld-elf/flags1.d: Don't xfail tic6x. + * ld-scripts/weak.exp: Correct comments. Don't xfail sh-pe. Remove + redundant xfail. + * ld-selective/sel-dump.exp: Don't xfail alpha. + * ld-selective/selective.exp: Run for alpha. + * ld-undefined/weak-undef.exp: Don't xfail hppa64. + +2011-05-12 Bernd Schmidt <bernds@codesourcery.com> + + * config/default.exp (ld_assemble): Pass flags parameter to + default_ld_assemble. + (ld_assemble_flags): New function. + * ld-elf/frame.exp: Pass -mpic and -mpid flags to the assembler on + tic6x. + * ld-elf/exclude.exp: Likewise. + * lib/ld-lib.exp (default_ld_assemble): Take extra argument in_flags + and pass it to the assembler. + +2011-05-11 Richard Sandiford <rdsandiford@googlemail.com> + + * ld-mips-elf/mips-elf.exp: Add missing $has_newabi tests. + +2011-05-09 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/elf.exp (array_tests): Remove "pr12730". + (array_tests_pie): Remove "PIE pr12730". + (array_tests_static): Remove "static pr12730". + + * ld-elf/pr12730.cc: Removed. + * ld-elf/pr12730.out: Likewise. + +2011-05-09 Paul Brook <paul@codesourcery.com> + + * ld-tic6x/discard-unwind.ld: New. + * ld-tic6x/unwind.ld: New. + * ld-tic6x/unwind-1.d: New test. + * ld-tic6x/unwind-1.s: New test. + * ld-tic6x/unwind-2.d: New test. + * ld-tic6x/unwind-2.s: New test. + * ld-tic6x/unwind-3.d: New test. + * ld-tic6x/unwind-3.s: New test. + * ld-tic6x/unwind-4.d: New test. + * ld-tic6x/unwind-4.s: New test. + * ld-tic6x/unwind-5.d: New test. + * ld-tic6x/unwind-5.s: New test. + * ld-tic6x/unwind-6.d: New test. + +2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com> + + PR ld/12365 + * ld-plugin/plugin-7.d: Allow underscore in error message. + * ld-plugin/plugin-8.d: Likewise. + +2011-05-07 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12730 + * ld-elf/elf.exp (array_tests): Add "pr12730". + (array_tests_pie): New. + (array_tests_static): Add -static for "static init array mixed". + Add "static pr12730". Run array_tests_pie for Linux. + + * ld-elf/init-mixed.c (ctor1007): Renamed to ... + (ctor1007a): This. + (ctor1007b): New. + (ctors1007): Remove ctor1007. Add ctor1007b and ctor1007a. + (dtor1007): Renamed to ... + (dtor1007a): This. + (dtor1007b): New. + (dtors1007): Remove dtor1007. Add dtor1007b and dtor1007a. + (ctor65535): Renamed to ... + (ctor65535a): This. + (ctor65535b): New. + (ctors65535): Remove ctor65535. Add ctor65535b and ctor65535a. + (dtor65535): Renamed to ... + (dtor65535a): This. + (dtor65535b): New. + (dtors65535): Remove dtor65535. Add dtor65535b and dtor65535a. + + * ld-elf/pr12730.cc: New. + * ld-elf/pr12730.out: Likewise. + +2011-05-06 Richard Sandiford <richard.sandiford@linaro.org> + + * ld-arm/cortex-a8-fix-b-plt.s, ld-arm/cortex-a8-fix-b-plt.d, + ld-arm/cortex-a8-fix-bcc-plt.s, ld-arm/cortex-a8-fix-bcc-plt.d, + ld-arm/cortex-a8-fix-bl-plt.s, ld-arm/cortex-a8-fix-bl-plt.d, + ld-arm/cortex-a8-fix-blx-plt.s, ld-arm/cortex-a8-fix-blx-plt.d, + ld-arm/cortex-a8-fix-plt.ld: New tests. + * ld-arm/arm-elf.exp: Run them. + +2011-05-05 Bernd Schmidt <bernds@codesourcery.com> + + * ld-tic6x/shared-nopic.d: New test. + * ld-tic6x/shared-nopid.d: New test. + * ld-tic6x/attr-pid-21.d: Don't expect a warning; check readelf + output instead. + * ld-tic6x/attr-pid-12.d: Likewise. + * ld-tic6x/attr-pic-01.d: Likewise. + * ld-tic6x/attr-pic-10.d: Likewise. + * ld-tic6x/attr-pid-01.d: Likewise. + * ld-tic6x/attr-pid-10.d: Likewise. + * ld-tic6x/attr-pid-02.d: Likewise. + * ld-tic6x/attr-pid-20.d: Likewise. + * ld-tic6x/got-reloc-inrange.d: Pass -mpic and -mpid options to gas. + +2011-05-03 Paul Brook <paul@codesourcery.com> + + * ld-tic6x/ehtype-reloc-1-rel.d: New test. + * ld-tic6x/ehtype-reloc-1.d: New test. + * ld-tic6x/ehtype-reloc-1.s: New test. + +2011-05-01 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12718 + * ld-i386/i386.exp: Run pr12718. + * ld-x86-64/x86-64.exp: Likewise. + + * ld-i386/pr12718.d: New. + * ld-i386/pr12718.s: Likewise. + * ld-x86-64/pr12718.d: Likewise. + * ld-x86-64/pr12718.s: Likewise. + +2011-04-26 Kai Tietz <ktietz@redhat.com> + + * ld-pe/pe.exp: Add cfi/cfi32 tests. + * ld-pe/cfi.d: New. + * ld-pe/cfi32.d: New. + * ld-pe/cfia.s: New. + * ld-pe/cfib.s: New. + +2011-04-21 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12694 + * ld-ifunc/ifunc-14-i386.d: New. + * ld-ifunc/ifunc-14-x86-64.d: Likewise. + * ld-ifunc/ifunc-14a.s: Likewise. + * ld-ifunc/ifunc-14b.s: Likewise. + +2011-04-19 H.J. Lu <hongjiu.lu@intel.com> + + * ld-plugin/plugin-ignore.d: Removed. + +2011-04-18 H.J. Lu <hongjiu.lu@intel.com> + + * ld-plugin/plugin-7.d: Update expected LTO linker errors for + GCC 4.6. + * ld-plugin/plugin-8.d: Likewise. + +2011-04-18 Alan Modra <amodra@gmail.com> + + * ld-plugin/plugin-7.d: Adjust for plugin changes. + * ld-plugin/plugin-8.d: Likewise. + * ld-plugin/plugin.exp: Pass --verbose=2 for visibility test, and + compare ld output to.. + * ld-plugin/plugin-12.d: New. + +2011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com> + + * ld-m68k/tls-gd-ie-1.d: Stabilize test. + * ld-m68k/tls-gd-3.[sd]: New test. + +2011-04-12 Richard Henderson <rth@redhat.com> + + * ld-alpha/emptygot.s, ld-alpha/emptygot.nm: New test. + * ld-alpha/alpha.exp: Run it. + +2011-04-11 Mark Wielaard <mjw@redhat.com> + + PR 10549 + * ld-unique: New directory. + * ld-unique/unique.exp: New file: Run the UNIQUE tests. + * ld-unique/unique.s: New test file. + * ld-unique/unique_empty.s: Likewise. + * ld-unique/unique_shared.s: Likewise. + +2011-04-11 Alan Modra <amodra@gmail.com> + + * ld-elf/eh-frame-hdr.d: xfail avr. + +2011-04-08 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12654 + * ld-i386/i386.exp: Run tlspie2. + + * ld-i386/tlspie2.d: New. + * ld-i386/tlspie2.s: Likewise. + +2011-04-06 Joseph Myers <joseph@codesourcery.com> + + * ld-selective/selective.exp (xscale-*-*): Don't handle. + * ld-srec/srec.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't + handle. + (*arm*-*-*): Change to arm*-*-*. + (strongarm*-*-coff, xscale*-*-coff, thumb-*-coff*, thumb-*-pe*, + thumb-*-elf*, strongarm*-*-*, thumb-*-*): Remove xfails. + * ld-undefined/undefined.exp (thumb*-*-pe*, thumb*-*-pe*): Remove + commented-out xfails. + (thumb-elf): Remove reference in comment. + * lib/ld-lib.exp (strongarm*-*-*, xscale*-*-*, thumb-*-*): Don't + handle. + +2011-04-04 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12627 + * ld-i386/i386.exp: Run pr12627. + + * ld-i386/pr12627.d: New. + * ld-i386/pr12627.s: Likewise. + * ld-i386/pr12627.t: Likewise. + +2011-03-31 Bernd Schmidt <bernds@codesourcery.com> + + * ld-scripts/crossref.exp: Add CFLAGS for tic6x*-*-*. + * ld-elf/sec-to-seg.exp: Remove tic6x from list of targets defining + pagesize to 1. + * ld-tic6x/tic6x.exp: Add support for DSBT shared library/executable + linking tests. + * ld-tic6x/dsbt.ld: New linker script. + * ld-tic6x/dsbt-be.ld: New linker script. + * ld-tic6x/dsbt-overflow.ld: New linker script. + * ld-tic6x/dsbt-inrange.ld: New linker script. + * ld-tic6x/shlib-1.s: New test. + * ld-tic6x/shlib-2.s: New test. + * ld-tic6x/shlib-app-1r.s: New test. + * ld-tic6x/shlib-app-1.s: New test. + * ld-tic6x/shlib-1.sd: New test. + * ld-tic6x/shlib-1.dd: New test. + * ld-tic6x/shlib-app-1.rd: New test. + * ld-tic6x/shlib-app-1rb.rd: New test. + * ld-tic6x/shlib-app-1.sd: New test. + * ld-tic6x/static-app-1rb.od: New test. + * ld-tic6x/shlib-app-1.dd: New test. + * ld-tic6x/shlib-app-1rb.sd: New test. + * ld-tic6x/static-app-1b.od: New test. + * ld-tic6x/static-app-1r.od: New test. + * ld-tic6x/shlib-1rb.rd: New test. + * ld-tic6x/shlib-app-1rb.dd: New test. + * ld-tic6x/shlib-1rb.sd: New test. + * ld-tic6x/shlib-1rb.dd: New test. + * ld-tic6x/shlib-app-1b.od: New test. + * ld-tic6x/tic6x.exp: New test. + * ld-tic6x/static-app-1rb.rd: New test. + * ld-tic6x/shlib-app-1r.od: New test. + * ld-tic6x/static-app-1.od: New test. + * ld-tic6x/static-app-1b.rd: New test. + * ld-tic6x/static-app-1r.rd: New test. + * ld-tic6x/static-app-1rb.sd: New test. + * ld-tic6x/static-app-1b.sd: New test. + * ld-tic6x/static-app-1rb.dd: New test. + * ld-tic6x/static-app-1r.sd: New test. + * ld-tic6x/static-app-1b.dd: New test. + * ld-tic6x/shlib-1b.rd: New test. + * ld-tic6x/static-app-1r.dd: New test. + * ld-tic6x/shlib-app-1b.rd: New test. + * ld-tic6x/shlib-1r.rd: New test. + * ld-tic6x/shlib-app-1r.rd: New test. + * ld-tic6x/shlib-1b.sd: New test. + * ld-tic6x/static-app-1.rd: New test. + * ld-tic6x/shlib-app-1b.sd: New test. + * ld-tic6x/shlib-1r.sd: New test. + * ld-tic6x/shlib-1b.dd: New test. + * ld-tic6x/shlib-app-1r.sd: New test. + * ld-tic6x/shlib-app-1b.dd: New test. + * ld-tic6x/shlib-1r.dd: New test. + * ld-tic6x/static-app-1.sd: New test. + * ld-tic6x/shlib-app-1r.dd: New test. + * ld-tic6x/static-app-1.dd: New test. + * ld-tic6x/shlib-noindex.rd: New test. + * ld-tic6x/shlib-noindex.dd: New test. + * ld-tic6x/shlib-noindex.sd: New test. + * ld-tic6x/got-reloc-local-1.s: New test. + * ld-tic6x/got-reloc-local-2.s: New test. + * ld-tic6x/got-reloc-local-r.d: New test. + * ld-tic6x/got-reloc-global.s: New test. + * ld-tic6x/got-reloc-global-addend-1.d: New test. + * ld-tic6x/got-reloc-global-addend-1.s: New test. + * ld-tic6x/got-reloc-global-addend-2.d: New test. + * ld-tic6x/got-reloc-inrange.d: New test. + * ld-tic6x/got-reloc-overflow.d: New test. + * ld-tic6x/got-reloc-global-addend-2.s: New test. + * ld-tic6x/dsbt-index-error.d: New test. + * ld-tic6x/dsbt-index.d: New test. + * ld-tic6x/dsbt-index.s: New test. + * ld-tic6x/shlib-app-1.od: New test. + * ld-tic6x/shlib-app-1rb.od: New test. + * ld-tic6x/shlib-1.rd: New test. + * ld-tic6x/weak.d: New test. + * ld-tic6x/weak-be.d: New test. + * ld-tic6x/weak.s: New test. + * ld-tic6x/weak-data.d: New test. + * ld-tic6x/common.d: New test. + * ld-tic6x/common.ld: New test. + * ld-tic6x/common.s: New test. + +2011-03-30 Richard Henderson <rth@redhat.com> + + * ld-elf/elf.exp: Force 32-bit start address for alpha. + * ld-elf/group8a.d: Don't disable for alpha. + * ld-elf/group8b.d: Likewise. + * ld-gc/start.s: Use .dc.a instead of .long. + +2011-03-24 Alan Modra <amodra@gmail.com> + + * ld-powerpc/tlsmark.s: Delete non-optimizable section. + * ld-powerpc/tlsmark32.s: Likewise. + * ld-powerpc/tlsmark.d: Adjust to suit. + * ld-powerpc/tlsmark32.d: Likewise. + * ld-powerpc/tlsopt1.d, * ld-powerpc/tlsopt1.s: New. + * ld-powerpc/tlsopt2.d, * ld-powerpc/tlsopt2.s: New. + * ld-powerpc/tlsopt3.d, * ld-powerpc/tlsopt3.s: New. + * ld-powerpc/tlsopt4.d, * ld-powerpc/tlsopt4.s: New. + * ld-powerpc/tlsopt1_32.d, * ld-powerpc/tlsopt1_32.s: New. + * ld-powerpc/tlsopt2_32.d, * ld-powerpc/tlsopt2_32.s: New. + * ld-powerpc/tlsopt3_32.d, * ld-powerpc/tlsopt3_32.s: New. + * ld-powerpc/tlsopt4_32.d, * ld-powerpc/tlsopt4_32.s: New. + * ld-powerpc/powerpc.exp: Run new tests. + +2011-03-15 Mike Frysinger <vapier@gentoo.org> + + * ld-elfvers/vers.exp (vers19): Add -Wl,-rpath-link,. to linker flags. + +2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> + + * ld-arm/ifunc-1.s, ld-arm/ifunc-1.dd, ld-arm/ifunc-1.gd, + ld-arm/ifunc-1.rd, ld-arm/ifunc-2.s, ld-arm/ifunc-2.dd, + ld-arm/ifunc-2.gd, ld-arm/ifunc-2.rd, ld-arm/ifunc-3.s, + ld-arm/ifunc-3.dd, ld-arm/ifunc-3.gd, ld-arm/ifunc-3.rd, + ld-arm/ifunc-4.s, ld-arm/ifunc-4.dd, ld-arm/ifunc-4.gd, + ld-arm/ifunc-4.rd, ld-arm/ifunc-5.s, ld-arm/ifunc-5.dd, + ld-arm/ifunc-5.gd, ld-arm/ifunc-5.rd, ld-arm/ifunc-6.s, + ld-arm/ifunc-6.dd, ld-arm/ifunc-6.gd, ld-arm/ifunc-6.rd, + ld-arm/ifunc-7.s, ld-arm/ifunc-7.dd, ld-arm/ifunc-7.gd, + ld-arm/ifunc-7.rd, ld-arm/ifunc-8.s, ld-arm/ifunc-8.dd, + ld-arm/ifunc-8.gd, ld-arm/ifunc-8.rd, ld-arm/ifunc-9.s, + ld-arm/ifunc-9.dd, ld-arm/ifunc-9.gd, ld-arm/ifunc-9.rd, + ld-arm/ifunc-10.s, ld-arm/ifunc-10.dd, ld-arm/ifunc-10.gd, + ld-arm/ifunc-10.rd, ld-arm/ifunc-11.s, ld-arm/ifunc-11.dd, + ld-arm/ifunc-11.gd, ld-arm/ifunc-11.rd, ld-arm/ifunc-12.s, + ld-arm/ifunc-12.dd, ld-arm/ifunc-12.gd, ld-arm/ifunc-12.rd, + ld-arm/ifunc-13.s, ld-arm/ifunc-13.dd, ld-arm/ifunc-13.gd, + ld-arm/ifunc-13.rd, ld-arm/ifunc-14.s, ld-arm/ifunc-14.dd, + ld-arm/ifunc-14.gd, ld-arm/ifunc-14.rd, ld-arm/ifunc-15.s, + ld-arm/ifunc-15.dd, ld-arm/ifunc-15.gd, ld-arm/ifunc-15.rd, + ld-arm/ifunc-16.s, ld-arm/ifunc-16.dd, ld-arm/ifunc-16.gd, + ld-arm/ifunc-16.rd, ld-arm/ifunc-dynamic.ld, + ld-arm/ifunc-static.ld: New tests. + * ld-arm/farcall-group.d, ld-arm/farcall-group-size2.d, + ld-arm/farcall-mixed-lib-v4t.d, ld-arm/farcall-mixed-lib.d: Update + for new stub hashes. + * ld-arm/arm-elf.exp: Run them. + +2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> + + * ld-arm/arm-lib-plt-2a.s, ld-arm/arm-lib-plt-2b.s, + ld-arm/arm-lib-plt-2.dd, ld-arm/arm-lib-plt-2.rd: New tests. + * ld-arm/arm-elf.exp: Run them. + +2011-03-14 Richard Sandiford <richard.sandiford@linaro.org> + + * ld-arm/exec-got-1a.s, ld-arm/exec-got-1b.s, ld-arm/exec-got-1.d, + ld-arm/unresolved-1.s, ld-arm/unresolved-1.d, + ld-arm/unresolved-1-dyn.d: New tests. + * ld-arm/arm-elf.exp: Run them. + +2011-03-12 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/tlsgd4.dd: New. + * ld-x86-64/tlsgd4.s: Likewise. + * ld-x86-64/tlsgd5.dd: Likewise. + * ld-x86-64/tlsgd5a.s: Likewise. + * ld-x86-64/tlsgd5b.s: Likewise. + * ld-x86-64/tlsgd6.dd: Likewise. + * ld-x86-64/tlsgd6a.s: Likewise. + * ld-x86-64/tlsgd6b.s: Likewise. + * ld-x86-64/tlsld2.dd: Likewise. + * ld-x86-64/tlsld2.s: Likewise. + + * ld-x86-64/x86-64.exp (x86_64tests): Add tlsgd4, libtlsgd5.so, + tlsgd5, libtlsgd6.so, tlsgd6 and tlsld2. + +2011-03-03 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/tlsie4.dd: New. + * ld-x86-64/tlsie4.s: Likewise. + + * ld-x86-64/x86-64.exp (x86_64tests): Add tlsie4. + +2011-02-25 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12516 + * ld-elf/dynamic1.d: New. + * ld-elf/dynamic1.ld: Likewise. + * ld-elf/dynamic1.s: Likewise. + +2011-02-25 Alan Modra <amodra@gmail.com> + + * ld-mn10300/i135409-3.s: Correct .size label reference. + * ld-sh/sh64/stolib.s: Likewise. + +2011-02-23 H.J. Lu <hongjiu.lu@intel.com> + + * ld-elf/new.cc: Don't include <exception_defines.h>. + +2011-02-10 Alan Modra <amodra@gmail.com> + + * ld-scripts/defined.exp: Don't run defined5 for AOUT. + * ld-scripts/defined5.s: Use .text for "defined" section. + * ld-scripts/defined5.t: Adjust. + + * ld-gc/start.d: Exclude frv-*-linux*. + * ld-misc/defsym1.d: Likewise. + +2011-02-09 Alan Modra <amodra@gmail.com> + + * ld-elfvsb/elfvsb.exp: Don't run any non-PIC tests on powerpc*-linux. + * ld-gc/gc.exp: Ensure powerpc64 test continues to fail. + * ld-srec/srec.exp: Don't edit toc on powerpc64. + +2011-01-23 Alan Modra <amodra@gmail.com> + + * ld-scripts/sane1.d, * ld-scripts/sane1.t: New test. + * ld-scripts/expr.exp: Run it. + +2011-01-18 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/ilp32-4.d: Updated. + +2011-01-17 Richard Sandiford <richard.sandiford@linaro.org> + + * ld-arm/arm-rel32.s, ld-arm/arm-rel32.d: New testcase. + * ld-arm/arm-elf.exp: Run it. + +2011-01-17 Richard Sandiford <richard.sandiford@linaro.org> + + * ld-arm/gc-thumb-lib.s, ld-arm/gc-thumb.s, + ld-arm/gc-thumb.d: New test. + * ld-arm/arm-elf.exp: Run it. + +2011-01-14 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/ia32-2.d: Replace --n32 with --x32. + * ld-x86-64/ilp32-1.d: Likewise. + * ld-x86-64/ilp32-2.d: Likewise. + * ld-x86-64/ilp32-3.d: Likewise. + * ld-x86-64/ilp32-4.d: Likewise. + * ld-x86-64/ilp32-5.d: Likewise. + * ld-x86-64/lp64-3.d: Likewise. + * ld-x86-64/x86-64.exp: Likewise. + +2011-01-14 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/ilp32-5.d: New. + * ld-x86-64/ilp32-5.s: Likewise. + + * ld-x86-64/x86-64.exp: Run ilp32-5. + +2011-01-13 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/ilp32-4.d: New. + + * ld-x86-64/x86-64.exp: Run ilp32-4. + +2011-01-13 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12356 + * ld-scripts/defined.exp: Run defined5. + + * ld-scripts/defined5.d: New. + * ld-scripts/defined5.s: Likewise. + * ld-scripts/defined5.t: Likewise. + +2011-01-13 H.J. Lu <hongjiu.lu@intel.com> + + * ld-scripts/defined4.d: Xfail rs6000-*-aix*. Skip mips*-*-* + and mmix-*-*. + + * ld-scripts/expr2.d: Xfail rs6000-*-aix* and arm-*-*aout. + +2011-01-10 H.J. Lu <hongjiu.lu@intel.com> + + * ld-scripts/assert.exp: Run assert2. + + * ld-scripts/assert2.d: New. + * ld-scripts/assert2.t: Likewise. + +2011-01-10 Nathan Sidwell <nathan@codesourcery.com> + Glauber de Oliveira Costa <glommer@gmail.com> + + * ld-arm/arm-elf.exp: Added tests for new TLS handling + relocations. + * ld-arm/tls-descrelax-be32.d: New. + * ld-arm/tls-descrelax-be32.s: New. + * ld-arm/tls-descrelax-be8.d: New. + * ld-arm/tls-descrelax-be8.s: New. + * ld-arm/tls-descrelax-v7.d: New. + * ld-arm/tls-descrelax-v7.s: New. + * ld-arm/tls-descrelax.d: New. + * ld-arm/tls-descrelax.s: New. + * ld-arm/tls-descseq.d: New. + * ld-arm/tls-descseq.r: New. + * ld-arm/tls-descseq.s: New. + * ld-arm/tls-gdesc-got.d: New. + * ld-arm/tls-gdesc-got.s: New. + * ld-arm/tls-gdesc-nlazy.g: New. + * ld-arm/tls-gdesc-nlazy.s: New. + * ld-arm/tls-gdesc.d: New. + * ld-arm/tls-gdesc.r: New. + * ld-arm/tls-gdesc.s: New. + * ld-arm/tls-gdierelax.d: New. + * ld-arm/tls-gdierelax.s: New. + * ld-arm/tls-gdierelax2.d: New. + * ld-arm/tls-gdierelax2.s: New. + * ld-arm/tls-gdlerelax.d: New. + * ld-arm/tls-gdlerelax.s: New. + * ld-arm/tls-lib-loc.d: New. + * ld-arm/tls-lib-loc.r: New. + * ld-arm/tls-lib-loc.s: New. + * ld-arm/tls-longplt-lib.d: New. + * ld-arm/tls-longplt-lib.s: New. + * ld-arm/tls-longplt.d: New. + * ld-arm/tls-longplt.s: New. + * ld-arm/tls-mixed.r: New. + * ld-arm/tls-mixed.s: New. + * ld-arm/tls-thumb1.d: New. + * ld-arm/tls-thumb1.s: New. + * ld-arm/arm-elf.exp: New. + +2011-01-08 Nick Clifton <nickc@redhat.com> + + * ld-misc/defsym1.d: Add a -e linker command line option. + * ld-misc/dummy.s: Remove text. + +2011-01-08 Nick Clifton <nickc@redhat.com> + + PR ld/12358 + PR ld/12359 + * ld-elf/textaddr2.d: Fix regexp to work with hppa64 targets. + * ld-elf/textaddr6.d: Fix regexp to work with hppa64 targets. + +2011-01-06 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12366 + PR ld/12371 + * ld-ifunc/ifunc-10-i386.s: Add more tests. + * ld-ifunc/ifunc-10-x86-64.s: Likewise. + * ld-ifunc/ifunc-11-i386.s: Likewise. + * ld-ifunc/ifunc-11-x86-64.s: Likewise. + + * ld-ifunc/ifunc-12-i386.d: New. + * ld-ifunc/ifunc-12-i386.s: Likewise. + * ld-ifunc/ifunc-12-x86-64.d: Likewise. + * ld-ifunc/ifunc-12-x86-64.s: Likewise. + * ld-ifunc/ifunc-13-i386.d: Likewise. + * ld-ifunc/ifunc-13-x86-64.d: Likewise. + * ld-ifunc/ifunc-13a-i386.s: Likewise. + * ld-ifunc/ifunc-13a-x86-64.s: Likewise. + * ld-ifunc/ifunc-13b-i386.s: Likewise. + * ld-ifunc/ifunc-13b-x86-64.s: Likewise. + +2011-01-03 H.J. Lu <hongjiu.lu@intel.com> + + * ld-x86-64/dummy.s: New. + * ld-x86-64/foo.s: Likewise. + * ld-x86-64/ia32-1.d: Likewise. + * ld-x86-64/ia32-2.d: Likewise. + * ld-x86-64/ia32-3.d: Likewise. + * ld-x86-64/ilp32-1.d: Likewise. + * ld-x86-64/ilp32-2.d: Likewise. + * ld-x86-64/ilp32-3.d: Likewise. + * ld-x86-64/lp64-1.d: Likewise. + * ld-x86-64/lp64-2.d: Likewise. + * ld-x86-64/lp64-3.d: Likewise. + * ld-x86-64/start.s: Likewise. + + * ld-x86-64/x86-64.exp: Run ilp32-1, ilp32-2, ilp32-3, ia32-1, + ia32-2, ia32-3, lp64-1, lp64-2 and lp64-3. + +2011-01-02 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12001 + * ld-misc/defsym.exp: New. + * ld-misc/defsym1.d: Likewise. + * ld-misc/dummy.s: Likewise. + * ld-misc/foo.s: Likewise. + * ld-misc/start.s: Likewise. + +For older changes see ChangeLog-2010 + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: diff --git a/binutils-2.22/ld/testsuite/config/default.exp b/binutils-2.22/ld/testsuite/config/default.exp index 26a7a0c..bba48d7 100644 --- a/binutils-2.22/ld/testsuite/config/default.exp +++ b/binutils-2.22/ld/testsuite/config/default.exp @@ -1,6 +1,6 @@ # Basic expect script for LD Regression Tests # Copyright 1993, 1994, 1995, 1997, 1998, 1999, 2001, 2003, 2005, 2007, 2009 -# Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -67,6 +67,7 @@ set gcc_gas_flag "-B[pwd]/tmpdir/gas/" if {![file isdirectory tmpdir/ld]} then { catch "exec mkdir tmpdir/ld" status catch "exec ln -s ../../ld-new tmpdir/ld/ld" status + catch "exec ln -s ld tmpdir/ld/collect-ld" status } set gcc_ld_flag "-B[pwd]/tmpdir/ld/" diff --git a/binutils-2.22/ld/testsuite/ld-alpha/emptygot.nm b/binutils-2.22/ld/testsuite/ld-alpha/emptygot.nm index db3a03d..d62f2b1 100644 --- a/binutils-2.22/ld/testsuite/ld-alpha/emptygot.nm +++ b/binutils-2.22/ld/testsuite/ld-alpha/emptygot.nm @@ -1,5 +1,5 @@ 00000001200000b0 T _start -00000001200100b8 A __bss_start -00000001200100b8 A _edata +00000001200100b8 S __bss_start +00000001200100b8 D _edata 00000001200100b8 s foo -00000001200100c0 A _end +00000001200100c0 S _end diff --git a/binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd b/binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd index 44633ac..eae8df5 100644 --- a/binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd +++ b/binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd @@ -59,10 +59,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +NOTYPE +LOCAL +DEFAULT +UND * [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 [0-9 ]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -80,6 +80,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 [0-9 ]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 [0-9 ]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +13 +.* FILE +LOCAL +DEFAULT +ABS .* [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl1 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl2 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl3 @@ -88,6 +89,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl6 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl7 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl1 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl2 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl3 @@ -96,6 +98,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl6 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl7 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* [0-9 ]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _DYNAMIC [0-9 ]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +12 _PROCEDURE_LINKAGE_TABLE_ [0-9 ]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +13 _GLOBAL_OFFSET_TABLE_ @@ -117,15 +120,15 @@ Symbol table '\.symtab' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh4 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +10 bg7 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh5 -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start [0-9 ]+: [0-9a-f]+ +136 +FUNC +GLOBAL +DEFAULT +\[<other>: 88\] +7 fn2 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg2 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh1 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg6 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg7 -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh2 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh6 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +10 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd b/binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd index 247957d..b0de14c 100644 --- a/binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd +++ b/binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd @@ -54,10 +54,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: [0-9 ]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND [0-9 ]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 [0-9 ]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start [0-9 ]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -75,6 +75,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 [0-9 ]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 [0-9 ]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +13 +.* FILE +LOCAL +DEFAULT +ABS .* [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl1 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl2 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl3 @@ -83,6 +84,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl6 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl7 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl1 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl2 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl3 @@ -91,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl6 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl7 [0-9 ]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +10 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* [0-9 ]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _DYNAMIC [0-9 ]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +12 _PROCEDURE_LINKAGE_TABLE_ [0-9 ]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +13 _GLOBAL_OFFSET_TABLE_ @@ -112,15 +115,15 @@ Symbol table '\.symtab' contains [0-9]+ entries: [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh4 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +10 bg7 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh5 -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start [0-9 ]+: [0-9a-f]+ +136 +FUNC +GLOBAL +DEFAULT +\[<other>: 88\] +7 fn2 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg2 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh1 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg6 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +9 sg7 -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata +[0-9 ]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh2 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +9 sh6 [0-9 ]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +10 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd b/binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd index ac6a38a..1281687 100644 --- a/binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd +++ b/binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd @@ -45,10 +45,10 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries: [0-9a-f]+ +[0-9a-f]+ R_ALPHA_DTPMOD64 +0+ sg1 \+ 0 [0-9a-f]+ +[0-9a-f]+ R_ALPHA_DTPREL64 +0+ sg1 \+ 0 [0-9a-f]+ +[0-9a-f]+ R_ALPHA_TPREL64 +0+4 sg2 \+ 0 -[0-9a-f]+ +[0-9a-f]+ R_ALPHA_TPREL64 +0+44 +[0-9a-f]+ +[0-9a-f]+ R_ALPHA_TPREL64 +44 [0-9a-f]+ +[0-9a-f]+ R_ALPHA_DTPMOD64 +0+ [0-9a-f]+ +[0-9a-f]+ R_ALPHA_DTPMOD64 +0+ -[0-9a-f]+ +[0-9a-f]+ R_ALPHA_TPREL64 +0+24 +[0-9a-f]+ +[0-9a-f]+ R_ALPHA_TPREL64 +24 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend @@ -64,12 +64,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 .* [0-9a-f]+ +172 +FUNC +GLOBAL +DEFAULT +\[<other>: 88\] +6 fn1 -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg2 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg6 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg7 -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata +.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -86,6 +86,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 .* [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 .* [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 +.* FILE +LOCAL +DEFAULT +ABS .* .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl1 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl2 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl3 @@ -95,11 +96,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl7 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl8 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sH1 -.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sh3 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sH2 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sH7 -.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sh7 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sh8 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sH4 @@ -110,9 +109,12 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sH6 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +9 sH8 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sh1 -.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sh2 .* [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* +.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ +.* [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg8 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg3 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg4 @@ -120,9 +122,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 .* [0-9a-f]+ +172 +FUNC +GLOBAL +DEFAULT +\[<other>: 88\] +6 fn1 -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg2 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg6 .* [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg7 -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata +.* [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.d b/binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.d index dbee189..e6c4632 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.d +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.d @@ -1,29 +1,29 @@ -tmpdir/arm-app-abs32: file format elf32-(little|big)arm -architecture: arm, flags 0x00000112: +tmpdir/arm-app-abs32: file format elf32-(little|big)arm.* +architecture: armv4t, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address .* Disassembly of section .plt: .* <.plt>: - .*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\) - .*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x10> - .*: e08fe00e add lr, pc, lr - .*: e5bef008 ldr pc, \[lr, #8\]! - .*: .* .* - .*: e28fc6.* add ip, pc, #.* - .*: e28cca.* add ip, ip, #.* ; .* - .*: e5bcf.* ldr pc, \[ip, #.*\]!.* + +.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\) + +.*: e59fe004 ldr lr, \[pc, #4\] ; .* <_start-0x10> + +.*: e08fe00e add lr, pc, lr + +.*: e5bef008 ldr pc, \[lr, #8\]! + +.*: .* .* + +.*: e28fc6.* add ip, pc, #.* + +.*: e28cca.* add ip, ip, #.* ; .* + +.*: e5bcf.* ldr pc, \[ip, #.*\]!.* Disassembly of section .text: .* <_start>: - .*: e1a0c00d mov ip, sp - .*: e92dd800 push {fp, ip, lr, pc} - .*: e59f0004 ldr r0, \[pc, #4\] ; .* <_start\+0x14> - .*: e89d6800 ldm sp, {fp, sp, lr} - .*: e12fff1e bx lr - .*: .* .* + +.*: e1a0c00d mov ip, sp + +.*: e92dd800 push {fp, ip, lr, pc} + +.*: e59f0004 ldr r0, \[pc, #4\] ; .* <_start\+0x14> + +.*: e89d6800 ldm sp, {fp, sp, lr} + +.*: e12fff1e bx lr + +.*: .* .* .* <app_func2>: - .*: e12fff1e bx lr + +.*: e12fff1e bx lr diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.r b/binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.r index 08d668c..fd68a0c 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.r +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.r @@ -1,5 +1,5 @@ -tmpdir/arm-app-abs32: file format elf32-(little|big)arm +tmpdir/arm-app-abs32: file format elf32-(little|big)arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-app.d b/binutils-2.22/ld/testsuite/ld-arm/arm-app.d index 7730e90..88169af 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-app.d +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-app.d @@ -1,6 +1,6 @@ tmpdir/arm-app: file format elf32-(little|big)arm -architecture: arm, flags 0x00000112: +architecture: armv4t, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-app.r b/binutils-2.22/ld/testsuite/ld-arm/arm-app.r index 4b25e70..1b5cef2 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-app.r +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-app.r @@ -1,5 +1,5 @@ -tmpdir/arm-app.*: file format elf32-(little|big)arm +tmpdir/arm-app.*: file format elf32-(little|big)arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-dyn.ld b/binutils-2.22/ld/testsuite/ld-arm/arm-dyn.ld index 736fb17..bef9a18 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-dyn.ld +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-dyn.ld @@ -138,6 +138,7 @@ SECTIONS .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); + . = .; __bss_start = .; __bss_start__ = .; .bss : diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-elf.exp b/binutils-2.22/ld/testsuite/ld-arm/arm-elf.exp index c7a0b2c..3f2bf92 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-elf.exp +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-elf.exp @@ -1,5 +1,5 @@ # Expect script for various ARM ELF tests. -# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -67,19 +67,13 @@ if { ![is_elf_format] || ![istarget "arm*-*-*"] } { # nm: Apply nm options on result. Compare with regex (last arg). # readelf: Apply readelf options on result. Compare with regex (last arg). -set armelftests { +set armelftests_common { {"Group relocations" "-Ttext 0x8000 --section-start zero=0x0 --section-start alpha=0xeef0 --section-start beta=0xffeef0" "" {group-relocs.s} {{objdump -dr group-relocs.d}} "group-relocs"} {"Thumb-1 BL" "-Ttext 0x1000 --section-start .foo=0x401000" "" {thumb1-bl.s} {{objdump -dr thumb1-bl.d}} "thumb1-bl"} - {"Simple non-PIC shared library" "-shared" "" {arm-lib.s} - {{objdump -fdw arm-lib.d} {objdump -Rw arm-lib.r}} - "arm-lib.so"} - {"Simple PIC shared library" "-shared" "" {arm-lib-plt32.s} - {{objdump -fdw arm-lib-plt32.d} {objdump -Rw arm-lib-plt32.r}} - "arm-lib-plt32.so"} {"Indirect cross-library function reference (set-up)" "-shared" "" {arm-lib-plt-2a.s} {} @@ -88,34 +82,9 @@ set armelftests { "-shared tmpdir/arm-lib-plt-2a.so" "" {arm-lib-plt-2b.s} {{objdump -dr arm-lib-plt-2.dd} {readelf --relocs arm-lib-plt-2.rd}} "arm-lib-plt-2b.so"} - {"Simple dynamic application" "tmpdir/arm-lib.so" "" {arm-app.s} - {{objdump -fdw arm-app.d} {objdump -Rw arm-app.r}} - "arm-app"} {"Simple static application" "" "" {arm-static-app.s} {{objdump -fdw arm-static-app.d} {objdump -rw arm-static-app.r}} "arm-static-app"} - {"Non-pcrel function reference" "tmpdir/arm-lib.so" "" {arm-app-abs32.s} - {{objdump -fdw arm-app-abs32.d} {objdump -Rw arm-app-abs32.r}} - "arm-app-abs32"} - {"Thumb shared library with ARM entry points" "-shared -T arm-lib.ld" "-mthumb-interwork" - {mixed-lib.s} - {{objdump -fdw armthumb-lib.d} {readelf -Ds armthumb-lib.sym}} - "armthumb-lib.so"} - {"Mixed ARM/Thumb shared library" "-shared -T arm-lib.ld -use-blx" "" - {mixed-lib.s} - {{objdump -fdw mixed-lib.d} {objdump -Rw mixed-lib.r} - {readelf -Ds mixed-lib.sym}} - "mixed-lib.so"} - {"Mixed ARM/Thumb dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld" "" - {mixed-app.s} - {{objdump -fdw mixed-app.d} {objdump -Rw mixed-app.r} - {readelf -Ds mixed-app.sym}} - "mixed-app"} - {"Mixed ARM/Thumb arch5 dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" - {mixed-app.s} - {{objdump -fdw mixed-app-v5.d} {objdump -Rw mixed-app.r} - {readelf -Ds mixed-app.sym}} - "mixed-app-v5"} {"target1-abs" "-static --target1-abs -T arm.ld" "" {arm-target1.s} {{objdump -s arm-target1-abs.d}} "arm-target1-abs"} @@ -149,12 +118,6 @@ set armelftests { {"TLS gnu shared library got" "-shared -T arm-dyn.ld" "" {tls-gdesc-got.s} {{objdump "-fDR -j .got" tls-gdesc-got.d}} "tls-lib2-got.so"} - {"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}} - "tls-lib2inline.so"} - {"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}} - "tls-lib-loc.so"} {"TLS gnu GD to IE relaxation" "-static -T arm-dyn.ld" "" {tls-gdierelax.s} {{objdump -fdw tls-gdierelax.d}} "tls-app-rel-ie"} @@ -191,9 +154,6 @@ set armelftests { {"BE8 Mapping Symbols" "-static -T arm.ld -EB --be8" "-EB" {arm-be8.s} {{objdump -d arm-be8.d}} "arm-be8"} - {"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" {use-thumb-lib.s} - {{readelf -Ds use-thumb-lib.sym}} - "use-thumb-lib.so"} {"VFP11 denorm erratum fix, scalar operation" "-EL --vfp11-denorm-fix=scalar -Ttext=0x8000" "-EL -mfpu=vfpxd" {vfp11-fix-scalar.s} {{objdump -dr vfp11-fix-scalar.d}} @@ -210,38 +170,18 @@ set armelftests { "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-fix-b.s} {{objdump -dr cortex-a8-fix-b.d}} "cortex-a8-fix-b"} - {"Cortex-A8 erratum fix, b.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" - {cortex-a8-fix-b-plt.s} - {{objdump -dr cortex-a8-fix-b-plt.d}} - "cortex-a8-fix-b-plt"} {"Cortex-A8 erratum fix, bl.w" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-fix-bl.s} {{objdump -dr cortex-a8-fix-bl.d}} "cortex-a8-fix-bl"} - {"Cortex-A8 erratum fix, bl.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" - {cortex-a8-fix-bl-plt.s} - {{objdump -dr cortex-a8-fix-bl-plt.d}} - "cortex-a8-fix-bl-plt"} {"Cortex-A8 erratum fix, bcc.w" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-fix-bcc.s} {{objdump -dr cortex-a8-fix-bcc.d}} "cortex-a8-fix-bcc"} - {"Cortex-A8 erratum fix, bcc.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" - {cortex-a8-fix-bcc-plt.s} - {{objdump -dr cortex-a8-fix-bcc-plt.d}} - "cortex-a8-fix-bcc-plt"} {"Cortex-A8 erratum fix, blx.w" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-fix-blx.s} {{objdump -dr cortex-a8-fix-blx.d}} "cortex-a8-fix-blx"} - {"Cortex-A8 erratum fix, blx.w to PLT" - "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" - {cortex-a8-fix-blx-plt.s} - {{objdump -dr cortex-a8-fix-blx-plt.d}} - "cortex-a8-fix-blx-plt"} {"Cortex-A8 erratum fix, relocate b.w to ARM" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-arm-target.s cortex-a8-fix-b-rel.s} {{objdump -dr cortex-a8-fix-b-rel-arm.d}} @@ -258,11 +198,6 @@ set armelftests { "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} {{objdump -dr cortex-a8-fix-bl-rel-thumb.d}} "cortex-a8-fix-bl-rel-thumb"} - {"Cortex-A8 erratum fix, relocate bl.w to PLT" - "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" - "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} - {{objdump -dr cortex-a8-fix-bl-rel-plt.d}} - "cortex-a8-fix-bl-rel-thumb"} {"Cortex-A8 erratum fix, relocate b<cond>.w to Thumb" "-EL -Ttext=0x8f00 --fix-cortex-a8" "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bcc-rel.s} {{objdump -dr cortex-a8-fix-bcc-rel-thumb.d}} @@ -301,10 +236,6 @@ set armelftests { {"arm-pic-veneer" "-static -T arm.ld --pic-veneer" "" {arm-pic-veneer.s} {{objdump -d arm-pic-veneer.d}} "arm-pic-veneer"} - {"Preempt Thumb symbol" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" - {preempt-app.s} - {{readelf -Ds preempt-app.sym}} - "preempt-app"} {"jump19" "-static -T arm.ld" "" {jump19.s} {{objdump -dr jump19.d}} "jump19"} @@ -334,6 +265,92 @@ set armelftests { "" {exec-got-1b.s} {{readelf --relocs exec-got-1.d}} "exec-got-1"} + {"abs call" "-T arm.ld" "" {abs-call-1.s} + {{objdump -d abs-call-1.d}} + "abs-call-1"} + {"Simple non-PIC shared library (no PLT check)" "-shared" "" {arm-lib.s} + {{objdump -Rw arm-lib.r}} + "arm-lib.so"} +} + +set armelftests_nonacl { + {"Simple non-PIC shared library" "-shared" "" {arm-lib.s} + {{objdump -fdw arm-lib.d} {objdump -Rw arm-lib.r}} + "arm-lib.so"} + {"Simple PIC shared library" "-shared" "" {arm-lib-plt32.s} + {{objdump -fdw arm-lib-plt32.d} {objdump -Rw arm-lib-plt32.r}} + "arm-lib-plt32.so"} + {"Simple dynamic application" "tmpdir/arm-lib.so" "" {arm-app.s} + {{objdump -fdw arm-app.d} {objdump -Rw arm-app.r}} + "arm-app"} + {"Simple static application without .rel.plt in linker script" + "-T arm-no-rel-plt.ld" "" {arm-static-app.s} + {{objdump -fdw arm-static-app.d} {objdump -rw arm-static-app.r}} + "arm-static-app"} + {"Simple dynamic application without .rel.plt in linker script" + "tmpdir/arm-lib.so -T arm-no-rel-plt.ld" "" {arm-app.s} + {{ld arm-no-rel-plt.out}} + "arm-app"} + {"Non-pcrel function reference" "tmpdir/arm-lib.so" "" {arm-app-abs32.s} + {{objdump -fdw arm-app-abs32.d} {objdump -Rw arm-app-abs32.r}} + "arm-app-abs32"} + {"Thumb shared library with ARM entry points" "-shared -T arm-lib.ld" "-mthumb-interwork" + {mixed-lib.s} + {{objdump -fdw armthumb-lib.d} {readelf -Ds armthumb-lib.sym}} + "armthumb-lib.so"} + {"Mixed ARM/Thumb shared library" "-shared -T arm-lib.ld -use-blx" "" + {mixed-lib.s} + {{objdump -fdw mixed-lib.d} {objdump -Rw mixed-lib.r} + {readelf -Ds mixed-lib.sym}} + "mixed-lib.so"} + {"Mixed ARM/Thumb dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld" "" + {mixed-app.s} + {{objdump -fdw mixed-app.d} {objdump -Rw mixed-app.r} + {readelf -Ds mixed-app.sym}} + "mixed-app"} + {"Mixed ARM/Thumb arch5 dynamic application" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" + {mixed-app.s} + {{objdump -fdw mixed-app-v5.d} {objdump -Rw mixed-app.r} + {readelf -Ds mixed-app.sym}} + "mixed-app-v5"} + {"Using Thumb lib by another lib" "-shared tmpdir/mixed-lib.so" "" {use-thumb-lib.s} + {{readelf -Ds use-thumb-lib.sym}} + "use-thumb-lib.so"} + {"Preempt Thumb symbol" "tmpdir/mixed-lib.so -T arm-dyn.ld --use-blx" "" + {preempt-app.s} + {{readelf -Ds preempt-app.sym}} + "preempt-app"} + {"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}} + "tls-lib2inline.so"} + {"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}} + "tls-lib-loc.so"} + {"Cortex-A8 erratum fix, b.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" + {cortex-a8-fix-b-plt.s} + {{objdump -dr cortex-a8-fix-b-plt.d}} + "cortex-a8-fix-b-plt"} + {"Cortex-A8 erratum fix, bl.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" + {cortex-a8-fix-bl-plt.s} + {{objdump -dr cortex-a8-fix-bl-plt.d}} + "cortex-a8-fix-bl-plt"} + {"Cortex-A8 erratum fix, bcc.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" + {cortex-a8-fix-bcc-plt.s} + {{objdump -dr cortex-a8-fix-bcc-plt.d}} + "cortex-a8-fix-bcc-plt"} + {"Cortex-A8 erratum fix, blx.w to PLT" + "-EL -Tcortex-a8-fix-plt.ld --fix-cortex-a8 -shared" "-EL" + {cortex-a8-fix-blx-plt.s} + {{objdump -dr cortex-a8-fix-blx-plt.d}} + "cortex-a8-fix-blx-plt"} + {"Cortex-A8 erratum fix, relocate bl.w to PLT" + "-EL --section-start=.plt=0x8e00 -Ttext=0x8f00 --fix-cortex-a8 -shared" + "-EL" {cortex-a8-thumb-target.s cortex-a8-fix-bl-rel.s} + {{objdump -dr cortex-a8-fix-bl-rel-plt.d}} + "cortex-a8-fix-bl-rel-thumb"} {"IFUNC test 1" "-T ifunc-static.ld" "" {ifunc-1.s} {{objdump -d ifunc-1.dd} {objdump {-s -j.data -j.got} ifunc-1.gd} @@ -416,12 +433,13 @@ set armelftests { {objdump {-s -j.data -j.got} ifunc-16.gd} {readelf -r ifunc-16.rd}} "ifunc-16"} - {"abs call" "-T arm.ld" "" {abs-call-1.s} - {{objdump -d abs-call-1.d}} - "abs-call-1"} } -run_ld_link_tests $armelftests +run_ld_link_tests $armelftests_common +if { ![istarget "arm*-*-nacl*"] } { + run_ld_link_tests $armelftests_nonacl +} + run_dump_test "group-relocs-alu-bad" run_dump_test "group-relocs-ldr-bad" run_dump_test "group-relocs-ldrs-bad" @@ -436,7 +454,7 @@ run_dump_test "movw-shared-4" # Exclude non-ARM-EABI targets. -if { ![istarget "arm*-*-*eabi"] } { +if { ![istarget "arm*-*-*eabi"] && ![istarget "arm*-*-nacl*"] } { # Special variants of these tests, as a different farcall stub is # generated for a non-ARM-EABI target: indeed in such a case, # there are no attributes to indicate that blx can be used. @@ -455,7 +473,7 @@ if { ![istarget "arm*-*-*eabi"] } { } # Farcalls stubs are fully supported for ARM-EABI only -set armeabitests { +set armeabitests_common { {"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s} {{readelf -A attr-merge.attr}} "attr-merge"} @@ -530,6 +548,73 @@ set armeabitests { {{objdump -d farcall-arm-arm.d}} "farcall-arm-arm-be"} + {"Multiple farcalls" "-Ttext 0x1000 --section-start .foo=0x2002020" "" {farcall-mix.s} + {{objdump -d farcall-mix.d}} + "farcall-mix"} + {"Multiple farcalls from several sections" "-Ttext 0x1000 --section-start .mytext=0x2000 --section-start .foo=0x2003020" "" {farcall-mix2.s} + {{objdump -d farcall-mix2.d}} + "farcall-mix2"} + + {"Default group size" "-Ttext 0x1000 --section-start .foo=0x2003020" "" {farcall-group.s farcall-group2.s} + {{objdump -d farcall-group.d}} + "farcall-group-default"} + {"Group size=2" "-Ttext 0x1000 --section-start .foo=0x2003020 --stub-group-size=2" "" {farcall-group.s farcall-group2.s} + {{objdump -d farcall-group-size2.d}} + "farcall-group-size2"} + {"Group size limit" "-Ttext 0x1000 --section-start .far=0x2003020" "" {farcall-group3.s farcall-group4.s} + {{objdump -d farcall-group-limit.d}} + "farcall-group-limit"} + + {"Long branch with mixed text and data" "-T arm.ld" "" {farcall-data.s} + {{objdump -dr farcall-data.d}} + "farcall-data"} + + {"R_ARM_THM_JUMP24 Relocation veneers: Short 1" + "--no-fix-arm1176 --section-start destsect=0x00009000 --section-start .text=0x8000" + "-march=armv7-a -mthumb" + {jump-reloc-veneers.s} + {{objdump -d jump-reloc-veneers-short1.d}} + "jump-reloc-veneers-short1"} + {"R_ARM_THM_JUMP24 Relocation veneers: Short 2" + "--no-fix-arm1176 --section-start destsect=0x00900000 --section-start .text=0x8000" + "-march=armv7-a -mthumb" + {jump-reloc-veneers.s} + {{objdump -d jump-reloc-veneers-short2.d}} + "jump-reloc-veneers-short2"} + {"R_ARM_THM_JUMP24 Relocation veneers: Long" + "--no-fix-arm1176 --section-start destsect=0x09000000 --section-start .text=0x8000" + "-march=armv7-a -mthumb" + {jump-reloc-veneers.s} + {{objdump -d jump-reloc-veneers-long.d}} + "jump-reloc-veneers-long"} + + {"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"} +} + +set armeabitests_nonacl { {"ARM-Thumb farcall" "-Ttext 0x1000 --section-start .foo=0x2001014" "" {farcall-arm-thumb.s} {{objdump -d farcall-arm-thumb.d}} "farcall-arm-thumb"} @@ -587,23 +672,6 @@ set armeabitests { {{objdump -d farcall-thumb-arm-pic-veneer.d}} "farcall-thumb-arm-pic-veneer"} - {"Multiple farcalls" "-Ttext 0x1000 --section-start .foo=0x2002020" "" {farcall-mix.s} - {{objdump -d farcall-mix.d}} - "farcall-mix"} - {"Multiple farcalls from several sections" "-Ttext 0x1000 --section-start .mytext=0x2000 --section-start .foo=0x2003020" "" {farcall-mix2.s} - {{objdump -d farcall-mix2.d}} - "farcall-mix2"} - - {"Default group size" "-Ttext 0x1000 --section-start .foo=0x2003020" "" {farcall-group.s farcall-group2.s} - {{objdump -d farcall-group.d}} - "farcall-group-default"} - {"Group size=2" "-Ttext 0x1000 --section-start .foo=0x2003020 --stub-group-size=2" "" {farcall-group.s farcall-group2.s} - {{objdump -d farcall-group-size2.d}} - "farcall-group-size2"} - {"Group size limit" "-Ttext 0x1000 --section-start .far=0x2003020" "" {farcall-group3.s farcall-group4.s} - {{objdump -d farcall-group-limit.d}} - "farcall-group-limit"} - {"Mixed ARM/Thumb dynamic application with farcalls" "tmpdir/mixed-lib.so -T arm-dyn.ld --section-start .far_arm=0x2100000 --section-start .far_thumb=0x2200000" "" {farcall-mixed-app.s} {{objdump -fdw farcall-mixed-app.d} {objdump -Rw farcall-mixed-app.r} @@ -625,28 +693,6 @@ set armeabitests { {{objdump -fdw farcall-mixed-lib.d}} "farcall-mixed-lib.so"} - {"Long branch with mixed text and data" "-T arm.ld" "" {farcall-data.s} - {{objdump -dr farcall-data.d}} - "farcall-data"} - - {"R_ARM_THM_JUMP24 Relocation veneers: Short 1" - "--no-fix-arm1176 --section-start destsect=0x00009000 --section-start .text=0x8000" - "-march=armv7-a -mthumb" - {jump-reloc-veneers.s} - {{objdump -d jump-reloc-veneers-short1.d}} - "jump-reloc-veneers-short1"} - {"R_ARM_THM_JUMP24 Relocation veneers: Short 2" - "--no-fix-arm1176 --section-start destsect=0x00900000 --section-start .text=0x8000" - "-march=armv7-a -mthumb" - {jump-reloc-veneers.s} - {{objdump -d jump-reloc-veneers-short2.d}} - "jump-reloc-veneers-short2"} - {"R_ARM_THM_JUMP24 Relocation veneers: Long" - "--no-fix-arm1176 --section-start destsect=0x09000000 --section-start .text=0x8000" - "-march=armv7-a -mthumb" - {jump-reloc-veneers.s} - {{objdump -d jump-reloc-veneers-long.d}} - "jump-reloc-veneers-long"} {"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}} "tls-lib2.so"} @@ -662,34 +708,25 @@ set armeabitests { {"TLS thumb1" "-shared -T arm-dyn.ld --section-start .foo=0x4001000" "" {tls-thumb1.s} {{objdump -fdw tls-thumb1.d}} "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_common +if { ![istarget "arm*-*-nacl*"] } { + run_ld_link_tests $armeabitests_nonacl } -run_ld_link_tests $armeabitests +run_dump_test "attr-merge-div-00" +run_dump_test "attr-merge-div-01" +run_dump_test "attr-merge-div-10" +run_dump_test "attr-merge-div-01-m3" +run_dump_test "attr-merge-div-10-m3" +run_dump_test "attr-merge-div-11" +run_dump_test "attr-merge-div-12" +run_dump_test "attr-merge-div-120" +run_dump_test "attr-merge-div-21" +run_dump_test "attr-merge-div-22" +run_dump_test "attr-merge-div-02" +run_dump_test "attr-merge-div-20" run_dump_test "attr-merge-wchar-00" run_dump_test "attr-merge-wchar-02" run_dump_test "attr-merge-wchar-04" @@ -732,4 +769,7 @@ run_dump_test "attr-merge-vfp-6" run_dump_test "attr-merge-vfp-6r" run_dump_test "attr-merge-incompatible" run_dump_test "unresolved-1" -run_dump_test "unresolved-1-dyn" +if { ![istarget "arm*-*-nacl*"] } { + run_dump_test "unresolved-1-dyn" +} +run_dump_test "gc-hidden-1" diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-lib-plt32.d b/binutils-2.22/ld/testsuite/ld-arm/arm-lib-plt32.d index 3413dff..279ea5a 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-lib-plt32.d +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-lib-plt32.d @@ -1,6 +1,6 @@ tmpdir/arm-lib-plt32.so: file format elf32-(little|big)arm -architecture: arm, flags 0x00000150: +architecture: armv4t, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-lib.d b/binutils-2.22/ld/testsuite/ld-arm/arm-lib.d index 3a1c777..22e21d5 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-lib.d +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-lib.d @@ -1,6 +1,6 @@ -tmpdir/arm-lib.so: file format elf32-(little|big)arm -architecture: arm, flags 0x00000150: +tmpdir/arm-lib.so: file format elf32-(little|big)arm.* +architecture: armv4t, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-lib.r b/binutils-2.22/ld/testsuite/ld-arm/arm-lib.r index a7dde47..48749d4 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-lib.r +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-lib.r @@ -1,5 +1,5 @@ -tmpdir/arm-lib.so: file format elf32-(little|big)arm +tmpdir/arm-lib.so: file format elf32-(little|big)arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-no-rel-plt.ld b/binutils-2.22/ld/testsuite/ld-arm/arm-no-rel-plt.ld new file mode 100644 index 0000000..439909c --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-no-rel-plt.ld @@ -0,0 +1,233 @@ +/* Script for -z combreloc: combine and sort reloc sections */ +OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", + "elf32-littlearm") +OUTPUT_ARCH(arm) +ENTRY(_start) +SEARCH_DIR("/home/meadori/Code/install/arm-none-eabi/lib"); +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x8000)); . = SEGMENT_START("text-segment", 0x8000); + .interp : { *(.interp) } + .note.gnu.build-id : { *(.note.gnu.build-id) } + .hash : { *(.hash) } + .gnu.hash : { *(.gnu.hash) } + .dynsym : { *(.dynsym) } + .dynstr : { *(.dynstr) } + .gnu.version : { *(.gnu.version) } + .gnu.version_d : { *(.gnu.version_d) } + .gnu.version_r : { *(.gnu.version_r) } + .rel.dyn : + { + *(.rel.init) + *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*) + *(.rel.fini) + *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*) + *(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*) + *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*) + *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) + *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) + *(.rel.ctors) + *(.rel.dtors) + *(.rel.got) + *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) + PROVIDE_HIDDEN (__rel_iplt_start = .); + *(.rel.iplt) + PROVIDE_HIDDEN (__rel_iplt_end = .); + PROVIDE_HIDDEN (__rela_iplt_start = .); + PROVIDE_HIDDEN (__rela_iplt_end = .); + } + .rela.dyn : + { + *(.rela.init) + *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) + *(.rela.fini) + *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) + *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) + *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) + *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) + *(.rela.ctors) + *(.rela.dtors) + *(.rela.got) + *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) + PROVIDE_HIDDEN (__rel_iplt_start = .); + PROVIDE_HIDDEN (__rel_iplt_end = .); + PROVIDE_HIDDEN (__rela_iplt_start = .); + *(.rela.iplt) + PROVIDE_HIDDEN (__rela_iplt_end = .); + } + .init : + { + KEEP (*(.init)) + } + .plt : { *(.plt) } + .iplt : { *(.iplt) } + .text : + { + *(.text.unlikely .text.*_unlikely) + *(.text.exit .text.exit.*) + *(.text.startup .text.startup.*) + *(.text.hot .text.hot.*) + *(.text .stub .text.* .gnu.linkonce.t.*) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx) + } + .fini : + { + KEEP (*(.fini)) + } + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } + .rodata1 : { *(.rodata1) } + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } + PROVIDE_HIDDEN (__exidx_start = .); + .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } + PROVIDE_HIDDEN (__exidx_end = .); + .eh_frame_hdr : { *(.eh_frame_hdr) } + .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) } + .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table + .gcc_except_table.*) } + /* These sections are generated by the Sun/Oracle C++ compiler. */ + .exception_ranges : ONLY_IF_RO { *(.exception_ranges + .exception_ranges*) } + /* Adjust the address for the data segment. We want to adjust up to + the same address within the page on the next page up. */ + . = ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)); + /* Exception handling */ + .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) } + .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } + .exception_ranges : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) } + /* Thread Local Storage sections */ + .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } + .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + } + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + } + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin.o(.ctors)) + KEEP (*crtbegin?.o(.ctors)) + /* We don't want to include the .ctor section from + the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*crtbegin?.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } + .jcr : { KEEP (*(.jcr)) } + .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } + .dynamic : { *(.dynamic) } + .got : { *(.got.plt) *(.igot.plt) *(.got) *(.igot) } + .data : + { + __data_start = . ; + *(.data .data.* .gnu.linkonce.d.*) + SORT(CONSTRUCTORS) + } + .data1 : { *(.data1) } + _edata = .; PROVIDE (edata = .); + . = .; + __bss_start = .; + __bss_start__ = .; + .bss : + { + *(.dynbss) + *(.bss .bss.* .gnu.linkonce.b.*) + *(COMMON) + /* Align here to ensure that the .bss section occupies space up to + _end. Align after .bss to ensure correct alignment even if the + .bss section disappears because there are no input sections. + FIXME: Why do we need it? When there is no .bss section, we don't + pad the .data section. */ + . = ALIGN(. != 0 ? 32 / 8 : 1); + } + _bss_end__ = . ; __bss_end__ = . ; + . = ALIGN(32 / 8); + . = ALIGN(32 / 8); + __end__ = . ; + _end = .; PROVIDE (end = .); + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + .stab.excl 0 : { *(.stab.excl) } + .stab.exclstr 0 : { *(.stab.exclstr) } + .stab.index 0 : { *(.stab.index) } + .stab.indexstr 0 : { *(.stab.indexstr) } + .comment 0 : { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 : { *(.debug_weaknames) } + .debug_funcnames 0 : { *(.debug_funcnames) } + .debug_typenames 0 : { *(.debug_typenames) } + .debug_varnames 0 : { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 : { *(.debug_pubtypes) } + .debug_ranges 0 : { *(.debug_ranges) } + /* DWARF Extension. */ + .debug_macro 0 : { *(.debug_macro) } + .stack 0x80000 : + { + _stack = .; + *(.stack) + } + .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) } + .note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) } + /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } +} diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-no-rel-plt.out b/binutils-2.22/ld/testsuite/ld-arm/arm-no-rel-plt.out new file mode 100644 index 0000000..948d5a5 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-no-rel-plt.out @@ -0,0 +1,2 @@ +.*: error: required section '.rel.plt' not found in the linker script +.*: final link failed: Invalid operation diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-static-app.d b/binutils-2.22/ld/testsuite/ld-arm/arm-static-app.d index f18f3c6..c08c27f 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-static-app.d +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-static-app.d @@ -1,24 +1,24 @@ -tmpdir/arm-static-app: file format elf32-(little|big)arm -architecture: arm, flags 0x00000112: +tmpdir/arm-static-app: file format elf32-(little|big)arm.* +architecture: armv4t, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x.* Disassembly of section .text: .* <_start>: - .*: e1a0c00d mov ip, sp - .*: e92dd800 push {fp, ip, lr, pc} - .*: eb000001 bl .* <app_func> - .*: e89d6800 ldm sp, {fp, sp, lr} - .*: e12fff1e bx lr + +.*: e1a0c00d mov ip, sp + +.*: e92dd800 push {fp, ip, lr, pc} + +.*: eb000001 bl .* <app_func> + +.*: e89d6800 ldm sp, {fp, sp, lr} + +.*: e12fff1e bx lr .* <app_func>: - .*: e1a0c00d mov ip, sp - .*: e92dd800 push {fp, ip, lr, pc} - .*: eb000001 bl .* <app_func2> - .*: e89d6800 ldm sp, {fp, sp, lr} - .*: e12fff1e bx lr + +.*: e1a0c00d mov ip, sp + +.*: e92dd800 push {fp, ip, lr, pc} + +.*: eb000001 bl .* <app_func2> + +.*: e89d6800 ldm sp, {fp, sp, lr} + +.*: e12fff1e bx lr .* <app_func2>: - .*: e12fff1e bx lr + +.*: e12fff1e bx lr diff --git a/binutils-2.22/ld/testsuite/ld-arm/arm-static-app.r b/binutils-2.22/ld/testsuite/ld-arm/arm-static-app.r index 6034b7f..92df70e 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/arm-static-app.r +++ b/binutils-2.22/ld/testsuite/ld-arm/arm-static-app.r @@ -1,3 +1,3 @@ -tmpdir/arm-static-app: file format elf32-(little|big)arm +tmpdir/arm-static-app: file format elf32-(little|big)arm.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.d b/binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.d index 6486ad5..dae72ed 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.d +++ b/binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.d @@ -1,6 +1,6 @@ tmpdir/armthumb-lib.so: file format elf32-(little|big)arm -architecture: arm, flags 0x00000150: +architecture: armv4t, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.sym b/binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.sym index c7f4728..f1358e2 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.sym +++ b/binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.sym @@ -1,15 +1,15 @@ Symbol table for image: +Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end +.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +9 data_obj - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__ +.. +..: .......0 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1 +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __end__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start +.. +..: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND app_func2 +.. +..: .......0 +2 +FUNC +GLOBAL +DEFAULT +6 lib_func2 - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__ diff --git a/binutils-2.22/ld/testsuite/ld-arm/armv4-bx.d b/binutils-2.22/ld/testsuite/ld-arm/armv4-bx.d index b30af8c..be2a4da 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/armv4-bx.d +++ b/binutils-2.22/ld/testsuite/ld-arm/armv4-bx.d @@ -1,5 +1,5 @@ -.*: .*file format elf32-(big|little)arm +.*: .*file format elf32-(big|little)arm.* Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2.attr index e34111b..578333b 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2.attr @@ -12,4 +12,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Allowed in v7-A with integer division extension diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2a.s b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2a.s index 9d9ae18..0303163 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2a.s +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2a.s @@ -7,5 +7,4 @@ .eabi_attribute 25, 1 .eabi_attribute 26, 1 .eabi_attribute 30, 6 - .eabi_attribute Tag_DIV_use, 1 .file "attr-merge-2a.s" diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2b.s b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2b.s index 6aa8da9..047890a 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2b.s +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-2b.s @@ -8,5 +8,4 @@ .eabi_attribute 26, 1 .eabi_attribute 30, 6 .eabi_attribute 18, 4 - .eabi_attribute Tag_DIV_use, 2 .file "attr-merge-2b.s" diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-3.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-3.attr index b0f8ef9..8d7d1c3 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-3.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-3.attr @@ -27,5 +27,6 @@ File Attributes Tag_CPU_unaligned_access: v6 Tag_FP_HP_extension: Allowed Tag_MPextension_use: Allowed + Tag_DIV_use: Not allowed Tag_T2EE_use: Allowed Tag_Virtualization_use: TrustZone diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-4.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-4.attr index c8fc7ec..75fd063 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-4.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-4.attr @@ -5,5 +5,4 @@ File Attributes Tag_CPU_arch_profile: Microcontroller Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 - Tag_DIV_use: Not allowed Tag_also_compatible_with: v6-M diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-5.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-5.attr index f016708..9d3e971 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-5.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-5.attr @@ -3,4 +3,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_compatibility: flag = 1, vendor = gnu - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-6.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-6.attr index 9e2324f..0af32f7 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-6.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-6.attr @@ -6,5 +6,4 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-2 Tag_MPextension_use: Allowed - Tag_DIV_use: Not allowed Tag_Virtualization_use: TrustZone diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-7.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-7.attr index 9e2324f..0af32f7 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-7.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-7.attr @@ -6,5 +6,4 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-2 Tag_MPextension_use: Allowed - Tag_DIV_use: Not allowed Tag_Virtualization_use: TrustZone diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-1.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-1.attr index b39634f..f69f1e7 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-1.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-1.attr @@ -4,4 +4,3 @@ File Attributes Tag_CPU_arch: v7 Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-2 - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-2.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-2.attr index ab8916b..55f6965 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-2.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-2.attr @@ -5,4 +5,3 @@ File Attributes Tag_CPU_arch: v6K Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-0.s b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-0.s new file mode 100644 index 0000000..2ebcfd8 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-0.s @@ -0,0 +1 @@ + .eabi_attribute Tag_DIV_use, 0 diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-00.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-00.d new file mode 100644 index 0000000..942662e --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-00.d @@ -0,0 +1,12 @@ +#source: attr-merge-div-0.s +#source: attr-merge-div-0.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-01-m3.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-01-m3.d new file mode 100644 index 0000000..c0cdd49 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-01-m3.d @@ -0,0 +1,14 @@ +#source: attr-merge-div-0.s +#source: attr-merge-div-1.s +#as: -mcpu=cortex-m3 +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "Cortex-M3" + Tag_CPU_arch: v7 + Tag_CPU_arch_profile: Microcontroller + Tag_THUMB_ISA_use: Thumb-2 diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-01.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-01.d new file mode 100644 index 0000000..f81a81e --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-01.d @@ -0,0 +1,13 @@ +#source: attr-merge-div-0.s +#source: attr-merge-div-1.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-02.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-02.d new file mode 100644 index 0000000..3684950 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-02.d @@ -0,0 +1,13 @@ +#source: attr-merge-div-0.s +#source: attr-merge-div-2.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Allowed in v7-A with integer division extension diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-1.s b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-1.s new file mode 100644 index 0000000..d74812d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-1.s @@ -0,0 +1 @@ + .eabi_attribute Tag_DIV_use, 1 diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-10-m3.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-10-m3.d new file mode 100644 index 0000000..3736e59 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-10-m3.d @@ -0,0 +1,14 @@ +#source: attr-merge-div-1.s +#source: attr-merge-div-0.s +#as: -mcpu=cortex-m3 +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "Cortex-M3" + Tag_CPU_arch: v7 + Tag_CPU_arch_profile: Microcontroller + Tag_THUMB_ISA_use: Thumb-2 diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-10.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-10.d new file mode 100644 index 0000000..32614ee --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-10.d @@ -0,0 +1,13 @@ +#source: attr-merge-div-1.s +#source: attr-merge-div-0.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-11.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-11.d new file mode 100644 index 0000000..95dc8db --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-11.d @@ -0,0 +1,13 @@ +#source: attr-merge-div-1.s +#source: attr-merge-div-1.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-12.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-12.d new file mode 100644 index 0000000..73d70ff --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-12.d @@ -0,0 +1,13 @@ +#source: attr-merge-div-1.s +#source: attr-merge-div-2.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Allowed in v7-A with integer division extension diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-120.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-120.d new file mode 100644 index 0000000..8891e4b --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-120.d @@ -0,0 +1,16 @@ +#source: attr-merge-div-1.s +#source: attr-merge-div-2.s +#source: attr-merge-div-0.s +#as: -mcpu=cortex-m3 +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "Cortex-M3" + Tag_CPU_arch: v7 + Tag_CPU_arch_profile: Microcontroller + Tag_THUMB_ISA_use: Thumb-2 + Tag_DIV_use: Allowed in v7-A with integer division extension diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-2.s b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-2.s new file mode 100644 index 0000000..20394c8 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-2.s @@ -0,0 +1 @@ + .eabi_attribute Tag_DIV_use, 2 diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-20.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-20.d new file mode 100644 index 0000000..fd494bb --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-20.d @@ -0,0 +1,13 @@ +#source: attr-merge-div-2.s +#source: attr-merge-div-0.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Allowed in v7-A with integer division extension diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-21.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-21.d new file mode 100644 index 0000000..afd0f8d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-21.d @@ -0,0 +1,13 @@ +#source: attr-merge-div-2.s +#source: attr-merge-div-1.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Allowed in v7-A with integer division extension diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-22.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-22.d new file mode 100644 index 0000000..c70da03 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-22.d @@ -0,0 +1,13 @@ +#source: attr-merge-div-2.s +#source: attr-merge-div-2.s +#as: +#ld: -r +#readelf: -A +# This test is only valid on ELF based ports. +# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* + +Attribute Section: aeabi +File Attributes + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-1 + Tag_DIV_use: Allowed in v7-A with integer division extension diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2.d index 5755803..bf44f43 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2.d @@ -11,4 +11,3 @@ Attribute Section: aeabi File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2r.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2r.d index d950b3e..6d523fb 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2r.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2r.d @@ -11,4 +11,3 @@ Attribute Section: aeabi File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-3.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-3.d index c210a06..b02ba6d 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-3.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-3.d @@ -11,5 +11,4 @@ Attribute Section: aeabi File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 - Tag_DIV_use: Not allowed Tag_unknown_82: 1 \(0x1\) diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1.d index 99fc8e4..8625735 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv3-D16 - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1r.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1r.d index 42bfe99..d7a15d7 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1r.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1r.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv3-D16 - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2.d index 3161e11..6444bd0 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv3 - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2r.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2r.d index 9c6367f..1d36983 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2r.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2r.d @@ -11,4 +11,3 @@ File Attributes Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv3 - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3.d index 9853879..ee89384 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3.d @@ -12,4 +12,3 @@ File Attributes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4-D16 Tag_FP_HP_extension: Allowed - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3r.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3r.d index 24df972..d06bd27 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3r.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3r.d @@ -12,4 +12,3 @@ File Attributes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4-D16 Tag_FP_HP_extension: Allowed - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4.d index 469fc9b..c18d672 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4.d @@ -12,4 +12,3 @@ File Attributes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4 Tag_FP_HP_extension: Allowed - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4r.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4r.d index c84e508..327e0c3 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4r.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4r.d @@ -12,4 +12,3 @@ File Attributes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4 Tag_FP_HP_extension: Allowed - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5.d index dc0c6ee..cd55a86 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5.d @@ -12,4 +12,3 @@ File Attributes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4 Tag_FP_HP_extension: Allowed - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5r.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5r.d index 5e1d23a..505c31b 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5r.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5r.d @@ -12,4 +12,3 @@ File Attributes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv4 Tag_FP_HP_extension: Allowed - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6.d index ca89181..54d063f 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6.d @@ -12,4 +12,3 @@ File Attributes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv3 Tag_ABI_HardFP_use: SP and DP - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6r.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6r.d index f533632..f32d4fc 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6r.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6r.d @@ -12,4 +12,3 @@ File Attributes Tag_THUMB_ISA_use: Thumb-1 Tag_FP_arch: VFPv3 Tag_ABI_HardFP_use: SP and DP - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d index 88e5d25..8a01f2d 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d @@ -19,4 +19,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00.d index 73df821..4242822 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00.d @@ -19,4 +19,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d index f55bf52..f393516 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02.d index 500b6a9..f662120 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d index c1d4efd..16cc469 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04.d index cd11980..41413b9 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d index b60e458..c0b1248 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20.d index 96738b1..b81fb15 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d index 22539de..e9a1e94 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22.d index c0e67dc..bf75660 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d index e7f2566..0c9b33e 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d index efeafcc..54f0c54 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40.d index 39cb58a..46be48c 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d index b989f35..cc72d3e 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d index 988dd6e..35eb756 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44.d b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44.d index acda7e7..c0fba85 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44.d +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44.d @@ -20,4 +20,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/attr-merge.attr b/binutils-2.22/ld/testsuite/ld-arm/attr-merge.attr index f07930e..578333b 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/attr-merge.attr +++ b/binutils-2.22/ld/testsuite/ld-arm/attr-merge.attr @@ -12,4 +12,3 @@ File Attributes Tag_ABI_align_preserved: 8-byte, except leaf SP Tag_ABI_enum_size: small Tag_ABI_optimization_goals: Aggressive Debug - Tag_DIV_use: Not allowed diff --git a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d index 59efecb..4f1078d 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d +++ b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d @@ -12,8 +12,8 @@ Disassembly of section \.plt: 8010: 00000ffc \.word 0x00000ffc 8014: 4778 bx pc 8016: 46c0 nop ; \(mov r8, r8\) - 8018: e28fc600 add ip, pc, #0 - 801c: e28cca00 add ip, ip, #0 + 8018: e28fc600 add ip, pc, #0, 12 + 801c: e28cca00 add ip, ip, #0, 20 8020: e5bcfff8 ldr pc, \[ip, #4088\]! ; 0xff8 Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d index 7862008..1e0cab2 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d +++ b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d @@ -12,7 +12,7 @@ Disassembly of section \.plt: 8010: 00001004 \.word 0x00001004 8014: 4778 bx pc 8016: 46c0 nop ; \(mov r8, r8\) - 8018: e28fc600 add ip, pc, #0 + 8018: e28fc600 add ip, pc, #0, 12 801c: e28cca01 add ip, ip, #4096 ; 0x1000 8020: e5bcf000 ldr pc, \[ip, #0\]! diff --git a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d index 17cb9ac..ebb480f 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d +++ b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d @@ -10,8 +10,8 @@ Disassembly of section \.plt: 8008: e08fe00e add lr, pc, lr 800c: e5bef008 ldr pc, \[lr, #8\]! 8010: 00000ffc \.word 0x00000ffc - 8014: e28fc600 add ip, pc, #0 - 8018: e28cca00 add ip, ip, #0 + 8014: e28fc600 add ip, pc, #0, 12 + 8018: e28cca00 add ip, ip, #0, 20 801c: e5bcfffc ldr pc, \[ip, #4092\]! ; 0xffc Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d index e885a17..f8a9c24 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d +++ b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d @@ -10,8 +10,8 @@ Disassembly of section \.plt: 8e08: e08fe00e add lr, pc, lr 8e0c: e5bef008 ldr pc, \[lr, #8\]! 8e10: 0000827c \.word 0x0000827c - 8e14: e28fc600 add ip, pc, #0 - 8e18: e28cca08 add ip, ip, #32768 ; 0x8000 + 8e14: e28fc600 add ip, pc, #0, 12 + 8e18: e28cca08 add ip, ip, #8, 20 ; 0x8000 8e1c: e5bcf27c ldr pc, \[ip, #636\]! ; 0x27c Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d index 17cb9ac..ebb480f 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d +++ b/binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d @@ -10,8 +10,8 @@ Disassembly of section \.plt: 8008: e08fe00e add lr, pc, lr 800c: e5bef008 ldr pc, \[lr, #8\]! 8010: 00000ffc \.word 0x00000ffc - 8014: e28fc600 add ip, pc, #0 - 8018: e28cca00 add ip, ip, #0 + 8014: e28fc600 add ip, pc, #0, 12 + 8018: e28cca00 add ip, ip, #0, 20 801c: e5bcfffc ldr pc, \[ip, #4092\]! ; 0xffc Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/data-only-map.d b/binutils-2.22/ld/testsuite/ld-arm/data-only-map.d index 39eed87..706e709 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/data-only-map.d +++ b/binutils-2.22/ld/testsuite/ld-arm/data-only-map.d @@ -1,5 +1,5 @@ -[^:]*: file format elf32-littlearm +[^:]*: file format elf32-littlearm.* Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/emit-relocs1-vxworks.d b/binutils-2.22/ld/testsuite/ld-arm/emit-relocs1-vxworks.d index 6d84a4c..2ea2e9a 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/emit-relocs1-vxworks.d +++ b/binutils-2.22/ld/testsuite/ld-arm/emit-relocs1-vxworks.d @@ -7,6 +7,6 @@ +10008: e1a00000 nop .* +1000c: e1a00000 nop .* +10010: eaffeffa b c000 <target> - +10010: R_ARM_PC24 target\+0xf+8 + +10010: R_ARM_PC24 target-0x8 +10014: eaffeffd b c010 <target\+0x10> +10014: R_ARM_PC24 target\+0x8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/farcall-group.d b/binutils-2.22/ld/testsuite/ld-arm/farcall-group.d index 75514f4..da811e7 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/farcall-group.d +++ b/binutils-2.22/ld/testsuite/ld-arm/farcall-group.d @@ -3,54 +3,54 @@ Disassembly of section .text: -00001000 <_start>: - 1000: eb00000c bl 1038 <__bar_from_arm> - 1004: eb00000e bl 1044 <__bar2_veneer> - -00001008 <myfunc>: - 1008: eb000008 bl 1030 <__bar3_veneer> - 100c: eb000004 bl 1024 <__bar4_from_arm> - 1010: eb000000 bl 1018 <__bar5_from_arm> - 1014: 00000000 andeq r0, r0, r0 - -00001018 <__bar5_from_arm>: - 1018: e59fc000 ldr ip, \[pc\] ; 1020 <__bar5_from_arm\+0x8> - 101c: e12fff1c bx ip - 1020: 0200302f .word 0x0200302f - -00001024 <__bar4_from_arm>: - 1024: e59fc000 ldr ip, \[pc\] ; 102c <__bar4_from_arm\+0x8> - 1028: e12fff1c bx ip - 102c: 0200302d .word 0x0200302d - -00001030 <__bar3_veneer>: - 1030: e51ff004 ldr pc, \[pc, #-4\] ; 1034 <__bar3_veneer\+0x4> - 1034: 02003028 .word 0x02003028 - -00001038 <__bar_from_arm>: - 1038: e59fc000 ldr ip, \[pc\] ; 1040 <__bar_from_arm\+0x8> - 103c: e12fff1c bx ip - 1040: 02003021 .word 0x02003021 - -00001044 <__bar2_veneer>: - 1044: e51ff004 ldr pc, \[pc, #-4\] ; 1048 <__bar2_veneer\+0x4> - 1048: 02003024 .word 0x02003024 +[0-9a-f]+ <_start>: + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar_from_arm> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar2_veneer> + +[0-9a-f]+ <myfunc>: + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar3_veneer> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar4_from_arm> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar5_from_arm> + +[0-9a-f]+: 00000000 andeq r0, r0, r0 + +[0-9a-f]+ <__bar5_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar5_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200302f .word 0x0200302f + +[0-9a-f]+ <__bar4_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar4_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200302d .word 0x0200302d + +[0-9a-f]+ <__bar3_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar3_veneer\+0x4> + +[0-9a-f]+: 02003028 .word 0x02003028 + +[0-9a-f]+ <__bar_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 02003021 .word 0x02003021 + +[0-9a-f]+ <__bar2_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar2_veneer\+0x4> + +[0-9a-f]+: 02003024 .word 0x02003024 ... Disassembly of section .foo: -02003020 <bar>: - 2003020: 4770 bx lr +[0-9a-f]+ <bar>: + +[0-9a-f]+: 4770 bx lr ... -02003024 <bar2>: - 2003024: e12fff1e bx lr +[0-9a-f]+ <bar2>: + +[0-9a-f]+: e12fff1e bx lr -02003028 <bar3>: - 2003028: e12fff1e bx lr +[0-9a-f]+ <bar3>: + +[0-9a-f]+: e12fff1e bx lr -0200302c <bar4>: - 200302c: 4770 bx lr +[0-9a-f]+ <bar4>: + +[0-9a-f]+: 4770 bx lr -0200302e <bar5>: - 200302e: 4770 bx lr +[0-9a-f]+ <bar5>: + +[0-9a-f]+: 4770 bx lr diff --git a/binutils-2.22/ld/testsuite/ld-arm/farcall-mix.d b/binutils-2.22/ld/testsuite/ld-arm/farcall-mix.d index 227cd83..ffeffb9 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/farcall-mix.d +++ b/binutils-2.22/ld/testsuite/ld-arm/farcall-mix.d @@ -3,49 +3,49 @@ Disassembly of section .text: -00001000 <_start>: - 1000: eb000004 bl 1018 <__bar_from_arm> - 1004: eb00000e bl 1044 <__bar2_veneer> - 1008: eb000005 bl 1024 <__bar3_veneer> - 100c: eb000009 bl 1038 <__bar4_from_arm> - 1010: eb000005 bl 102c <__bar5_from_arm> - 1014: 00000000 andeq r0, r0, r0 - -00001018 <__bar_from_arm>: - 1018: e59fc000 ldr ip, \[pc\] ; 1020 <__bar_from_arm\+0x8> - 101c: e12fff1c bx ip - 1020: 02002021 .word 0x02002021 -00001024 <__bar3_veneer>: - 1024: e51ff004 ldr pc, \[pc, #-4\] ; 1028 <__bar3_veneer\+0x4> - 1028: 02002028 .word 0x02002028 -0000102c <__bar5_from_arm>: - 102c: e59fc000 ldr ip, \[pc\] ; 1034 <__bar5_from_arm\+0x8> - 1030: e12fff1c bx ip - 1034: 0200202f .word 0x0200202f -00001038 <__bar4_from_arm>: - 1038: e59fc000 ldr ip, \[pc\] ; 1040 <__bar4_from_arm\+0x8> - 103c: e12fff1c bx ip - 1040: 0200202d .word 0x0200202d - -00001044 <__bar2_veneer>: - 1044: e51ff004 ldr pc, \[pc, #-4\] ; 1048 <__bar2_veneer\+0x4> - 1048: 02002024 .word 0x02002024 +[0-9a-f]+ <_start>: + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar_from_arm> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar2_veneer> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar3_veneer> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar4_from_arm> + +[0-9a-f]+: [0-9a-f]{8} bl [0-9a-f]+ <__bar5_from_arm> + +[0-9a-f]+: 00000000 andeq r0, r0, r0 + +[0-9a-f]+ <__bar_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 02002021 .word 0x02002021 +[0-9a-f]+ <__bar3_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar3_veneer\+0x4> + +[0-9a-f]+: 02002028 .word 0x02002028 +[0-9a-f]+ <__bar5_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar5_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200202f .word 0x0200202f +[0-9a-f]+ <__bar4_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar4_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200202d .word 0x0200202d + +[0-9a-f]+ <__bar2_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar2_veneer\+0x4> + +[0-9a-f]+: 02002024 .word 0x02002024 ... Disassembly of section .foo: -02002020 <bar>: - 2002020: 4770 bx lr +[0-9a-f]+ <bar>: + +[0-9a-f]+: 4770 bx lr ... -02002024 <bar2>: - 2002024: e12fff1e bx lr +[0-9a-f]+ <bar2>: + +[0-9a-f]+: e12fff1e bx lr -02002028 <bar3>: - 2002028: e12fff1e bx lr +[0-9a-f]+ <bar3>: + +[0-9a-f]+: e12fff1e bx lr -0200202c <bar4>: - 200202c: 4770 bx lr +[0-9a-f]+ <bar4>: + +[0-9a-f]+: 4770 bx lr -0200202e <bar5>: - 200202e: 4770 bx lr +[0-9a-f]+ <bar5>: + +[0-9a-f]+: 4770 bx lr diff --git a/binutils-2.22/ld/testsuite/ld-arm/farcall-mix2.d b/binutils-2.22/ld/testsuite/ld-arm/farcall-mix2.d index f9b66a3..192a2a0 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/farcall-mix2.d +++ b/binutils-2.22/ld/testsuite/ld-arm/farcall-mix2.d @@ -3,54 +3,54 @@ Disassembly of section .text: -00001000 <_start>: - 1000: eb000000 bl 1008 <__bar_from_arm> - 1004: eb000002 bl 1014 <__bar2_veneer> - -00001008 <__bar_from_arm>: - 1008: e59fc000 ldr ip, \[pc\] ; 1010 <__bar_from_arm\+0x8> - 100c: e12fff1c bx ip - 1010: 02003021 .word 0x02003021 -00001014 <__bar2_veneer>: - 1014: e51ff004 ldr pc, \[pc, #-4\] ; 1018 <__bar2_veneer\+0x4> - 1018: 02003024 .word 0x02003024 - 101c: 00000000 .word 0x00000000 +[0-9a-f]+ <_start>: + +[0-9a-f]+: eb000000 bl [0-9a-f]+ <__bar_from_arm> + +[0-9a-f]+: eb000002 bl [0-9a-f]+ <__bar2_veneer> + +[0-9a-f]+ <__bar_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 02003021 .word 0x02003021 +[0-9a-f]+ <__bar2_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar2_veneer\+0x4> + +[0-9a-f]+: 02003024 .word 0x02003024 + +[0-9a-f]+: 00000000 .word 0x00000000 Disassembly of section .mytext: -00002000 <__bar3_veneer-0x10>: - 2000: eb000002 bl 2010 <__bar3_veneer> - 2004: eb000003 bl 2018 <__bar4_from_arm> - 2008: eb000005 bl 2024 <__bar5_from_arm> - 200c: 00000000 andeq r0, r0, r0 - -00002010 <__bar3_veneer>: - 2010: e51ff004 ldr pc, \[pc, #-4\] ; 2014 <__bar3_veneer\+0x4> - 2014: 02003028 .word 0x02003028 - -00002018 <__bar4_from_arm>: - 2018: e59fc000 ldr ip, \[pc\] ; 2020 <__bar4_from_arm\+0x8> - 201c: e12fff1c bx ip - 2020: 0200302d .word 0x0200302d - -00002024 <__bar5_from_arm>: - 2024: e59fc000 ldr ip, \[pc\] ; 202c <__bar5_from_arm\+0x8> - 2028: e12fff1c bx ip - 202c: 0200302f .word 0x0200302f +[0-9a-f]+ <__bar3_veneer-0x10>: + +[0-9a-f]+: eb000002 bl [0-9a-f]+ <__bar3_veneer> + +[0-9a-f]+: eb000003 bl [0-9a-f]+ <__bar4_from_arm> + +[0-9a-f]+: eb000005 bl [0-9a-f]+ <__bar5_from_arm> + +[0-9a-f]+: 00000000 andeq r0, r0, r0 + +[0-9a-f]+ <__bar3_veneer>: + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; [0-9a-f]+ <__bar3_veneer\+0x4> + +[0-9a-f]+: 02003028 .word 0x02003028 + +[0-9a-f]+ <__bar4_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar4_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200302d .word 0x0200302d + +[0-9a-f]+ <__bar5_from_arm>: + +[0-9a-f]+: e59fc000 ldr ip, \[pc\] ; [0-9a-f]+ <__bar5_from_arm\+0x8> + +[0-9a-f]+: e12fff1c bx ip + +[0-9a-f]+: 0200302f .word 0x0200302f ... Disassembly of section .foo: -02003020 <bar>: - 2003020: 4770 bx lr +[0-9a-f]+ <bar>: + +[0-9a-f]+: 4770 bx lr ... -02003024 <bar2>: - 2003024: e12fff1e bx lr +[0-9a-f]+ <bar2>: + +[0-9a-f]+: e12fff1e bx lr -02003028 <bar3>: - 2003028: e12fff1e bx lr +[0-9a-f]+ <bar3>: + +[0-9a-f]+: e12fff1e bx lr -0200302c <bar4>: - 200302c: 4770 bx lr +[0-9a-f]+ <bar4>: + +[0-9a-f]+: 4770 bx lr -0200302e <bar5>: - 200302e: 4770 bx lr +[0-9a-f]+ <bar5>: + +[0-9a-f]+: 4770 bx lr diff --git a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app-v5.d b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app-v5.d index ec8312f..781b972 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app-v5.d +++ b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app-v5.d @@ -1,6 +1,6 @@ tmpdir/farcall-mixed-app-v5: file format elf32-(little|big)arm -architecture: arm, flags 0x00000112: +architecture: armv4t, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.d b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.d index c7aff3e..b6cc2d0 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.d +++ b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.d @@ -1,6 +1,6 @@ tmpdir/farcall-mixed-app: file format elf32-(little|big)arm -architecture: arm, flags 0x00000112: +architecture: armv4t, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.sym b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.sym index 8e04cc3..093397c 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.sym +++ b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.sym @@ -1,15 +1,15 @@ Symbol table for image: +Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end +.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__ +.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1 +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __end__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +.. +..: .......0 +0 +FUNC +GLOBAL +DEFAULT +14 app_func2 +.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2 - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__ diff --git a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d index feb109d..3be297b 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d +++ b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d @@ -1,5 +1,5 @@ tmpdir/farcall-mixed-lib.so: file format elf32-(little|big)arm -architecture: arm, flags 0x00000150: +architecture: armv4t, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib.d b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib.d index e7cdbc9..05578f4 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib.d +++ b/binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib.d @@ -1,5 +1,5 @@ tmpdir/farcall-mixed-lib.so: file format elf32-(little|big)arm -architecture: arm, flags 0x00000150: +architecture: armv5t, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-off.d b/binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-off.d index 3b45a3b..89f01e2 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-off.d +++ b/binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-off.d @@ -1,17 +1,17 @@ -.*: file format elf32-littlearm +.*: file format elf32-littlearm.* Disassembly of section .foo: [0-9a-f]+ <_start>: - [0-9a-f]+: f000 e800 blx 2001018 <__func_to_branch_to_veneer> + +[0-9a-f]+: f000 e800 blx 2001018 <__func_to_branch_to_veneer> [0-9a-f]+ <__func_to_branch_to_veneer>: - [0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 200101c <__func_to_branch_to_veneer\+0x4> - [0-9a-f]+: 00008000 .word 0x00008000 + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 200101c <__func_to_branch_to_veneer\+0x4> + +[0-9a-f]+: ........ .word 0x........ Disassembly of section .text: [0-9a-f]+ <func_to_branch_to>: - [0-9a-f]+: e12fff1e bx lr + +[0-9a-f]+: e12fff1e bx lr diff --git a/binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-on.d b/binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-on.d index c4e7870..6417a33 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-on.d +++ b/binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-on.d @@ -1,20 +1,20 @@ -.+: file format elf32-littlearm +.+: file format elf32-littlearm.* Disassembly of section .foo: [0-9a-f]+ <_start>: - [0-9a-f]+: f000 f800 bl 2001018 <__func_to_branch_to_veneer> + +[0-9a-f]+: f000 f800 bl 2001018 <__func_to_branch_to_veneer> [0-9a-f]+ <__func_to_branch_to_veneer>: - [0-9a-f]+: 4778 bx pc - [0-9a-f]+: 46c0 nop ; \(mov r8, r8\) - [0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 2001020 <__func_to_branch_to_veneer\+0x8> - [0-9a-f]+: 00008000 .word 0x00008000 - [0-9a-f]+: 00000000 .word 0x00000000 + +[0-9a-f]+: 4778 bx pc + +[0-9a-f]+: 46c0 nop ; \(mov r8, r8\) + +[0-9a-f]+: e51ff004 ldr pc, \[pc, #-4\] ; 2001020 <__func_to_branch_to_veneer\+0x8> + +[0-9a-f]+: ........ .word 0x........ + +[0-9a-f]+: 00000000 .word 0x00000000 Disassembly of section .text: [0-9a-f]+ <func_to_branch_to>: - [0-9a-f]+: e12fff1e bx lr + +[0-9a-f]+: e12fff1e bx lr diff --git a/binutils-2.22/ld/testsuite/ld-arm/gc-hidden-1.d b/binutils-2.22/ld/testsuite/ld-arm/gc-hidden-1.d new file mode 100644 index 0000000..7d84952 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/gc-hidden-1.d @@ -0,0 +1,25 @@ +#target: arm*-*-*eabi +#source: main.s +#source: gcdfn.s +#source: hidfn.s +#ld: --gc-sections --shared --version-script hideall.ld +#objdump: -dRT + +# See PR ld/13990: a forced-local PLT reference to a +# forced-local symbol is GC'ed, trigging a BFD_ASSERT. + +.*: file format elf32-.* + +DYNAMIC SYMBOL TABLE: +0+124 l d .text 0+ .text +0+ g DO \*ABS\* 0+ NS NS + +Disassembly of section .text: + +0+124 <_start>: + 124: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\) + 128: eb000000 bl 130 <hidfn> + 12c: e8bd8000 ldmfd sp!, {pc} + +0+130 <hidfn>: + 130: e8bd8000 ldmfd sp!, {pc} diff --git a/binutils-2.22/ld/testsuite/ld-arm/gcdfn.s b/binutils-2.22/ld/testsuite/ld-arm/gcdfn.s new file mode 100644 index 0000000..f2afae7 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/gcdfn.s @@ -0,0 +1,8 @@ + .text + .globl gcdfn + .type gcdfn, %function +gcdfn: + str lr, [sp, #-4]! + bl hidfn(PLT) + ldmfd sp!, {pc} + .size gcdfn, . - gcdfn diff --git a/binutils-2.22/ld/testsuite/ld-arm/group-relocs.d b/binutils-2.22/ld/testsuite/ld-arm/group-relocs.d index e81739d..7d6f102 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/group-relocs.d +++ b/binutils-2.22/ld/testsuite/ld-arm/group-relocs.d @@ -1,5 +1,5 @@ -tmpdir/group-relocs: file format elf32-(little|big)arm +tmpdir/group-relocs: file format elf32-(little|big)arm.* Disassembly of section .text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/hideall.ld b/binutils-2.22/ld/testsuite/ld-arm/hideall.ld new file mode 100644 index 0000000..077d6b5 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/hideall.ld @@ -0,0 +1 @@ +NS { local: *; }; diff --git a/binutils-2.22/ld/testsuite/ld-arm/hidfn.s b/binutils-2.22/ld/testsuite/ld-arm/hidfn.s new file mode 100644 index 0000000..a66b558 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/hidfn.s @@ -0,0 +1,7 @@ + .text + .globl hidfn + .hidden hidfn + .type hidfn, %function +hidfn: + ldmfd sp!, {pc} + .size hidfn, . - hidfn diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-1.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-1.dd index de6d813..14b1482 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-1.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-1.dd @@ -8,17 +8,17 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 9000: e28fc600 add ip, pc, #0 - 9004: e28cca08 add ip, ip, #32768 ; 0x8000 + 9000: e28fc600 add ip, pc, #0, 12 + 9004: e28cca08 add ip, ip, #8, 20 ; 0x8000 9008: e5bcf004 ldr pc, \[ip, #4\]! 0000900c <f3>: - 900c: e28fc600 add ip, pc, #0 + 900c: e28fc600 add ip, pc, #0, 12 9010: e28cca07 add ip, ip, #28672 ; 0x7000 9014: e5bcfffc ldr pc, \[ip, #4092\]! ; 0xffc 00009018 <f2>: - 9018: e28fc600 add ip, pc, #0 + 9018: e28fc600 add ip, pc, #0, 12 901c: e28cca07 add ip, ip, #28672 ; 0x7000 9020: e5bcfff4 ldr pc, \[ip, #4084\]! ; 0xff4 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-10.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-10.dd index f9bfd09..105b09b 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-10.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-10.dd @@ -21,13 +21,13 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ atf2's .plt entry #------------------------------------------------------------------------------ - 9018: e28fc600 add ip, pc, #0 + 9018: e28fc600 add ip, pc, #0, 12 901c: e28cca07 add ip, ip, #28672 ; 0x7000 9020: e5bcffec ldr pc, \[ip, #4076\]! ; 0xfec #------------------------------------------------------------------------------ #------ aaf4's .plt entry #------------------------------------------------------------------------------ - 9024: e28fc600 add ip, pc, #0 + 9024: e28fc600 add ip, pc, #0, 12 9028: e28cca07 add ip, ip, #28672 ; 0x7000 902c: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4 #------------------------------------------------------------------------------ @@ -38,7 +38,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ ttf2's .plt entry #------------------------------------------------------------------------------ - 9034: e28fc600 add ip, pc, #0 + 9034: e28fc600 add ip, pc, #0, 12 9038: e28cca07 add ip, ip, #28672 ; 0x7000 903c: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8 #------------------------------------------------------------------------------ @@ -49,19 +49,19 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ tbf2's .plt entry #------------------------------------------------------------------------------ - 9044: e28fc600 add ip, pc, #0 + 9044: e28fc600 add ip, pc, #0, 12 9048: e28cca07 add ip, ip, #28672 ; 0x7000 904c: e5bcffcc ldr pc, \[ip, #4044\]! ; 0xfcc #------------------------------------------------------------------------------ #------ taf2's .plt entry #------------------------------------------------------------------------------ - 9050: e28fc600 add ip, pc, #0 + 9050: e28fc600 add ip, pc, #0, 12 9054: e28cca07 add ip, ip, #28672 ; 0x7000 9058: e5bcffc4 ldr pc, \[ip, #4036\]! ; 0xfc4 #------------------------------------------------------------------------------ #------ aaf2's .plt entry #------------------------------------------------------------------------------ - 905c: e28fc600 add ip, pc, #0 + 905c: e28fc600 add ip, pc, #0, 12 9060: e28cca07 add ip, ip, #28672 ; 0x7000 9064: e5bcffbc ldr pc, \[ip, #4028\]! ; 0xfbc #------------------------------------------------------------------------------ @@ -72,7 +72,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ abf4's .plt entry #------------------------------------------------------------------------------ - 906c: e28fc600 add ip, pc, #0 + 906c: e28fc600 add ip, pc, #0, 12 9070: e28cca07 add ip, ip, #28672 ; 0x7000 9074: e5bcffb0 ldr pc, \[ip, #4016\]! ; 0xfb0 #------------------------------------------------------------------------------ @@ -83,7 +83,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ tbf4's .plt entry #------------------------------------------------------------------------------ - 907c: e28fc600 add ip, pc, #0 + 907c: e28fc600 add ip, pc, #0, 12 9080: e28cca07 add ip, ip, #28672 ; 0x7000 9084: e5bcffa4 ldr pc, \[ip, #4004\]! ; 0xfa4 #------------------------------------------------------------------------------ @@ -94,7 +94,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ ttf4's .plt entry #------------------------------------------------------------------------------ - 908c: e28fc600 add ip, pc, #0 + 908c: e28fc600 add ip, pc, #0, 12 9090: e28cca07 add ip, ip, #28672 ; 0x7000 9094: e5bcff98 ldr pc, \[ip, #3992\]! ; 0xf98 #------------------------------------------------------------------------------ @@ -105,13 +105,13 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ atf4's .plt entry #------------------------------------------------------------------------------ - 909c: e28fc600 add ip, pc, #0 + 909c: e28fc600 add ip, pc, #0, 12 90a0: e28cca07 add ip, ip, #28672 ; 0x7000 90a4: e5bcff8c ldr pc, \[ip, #3980\]! ; 0xf8c #------------------------------------------------------------------------------ #------ taf4's .plt entry #------------------------------------------------------------------------------ - 90a8: e28fc600 add ip, pc, #0 + 90a8: e28fc600 add ip, pc, #0, 12 90ac: e28cca07 add ip, ip, #28672 ; 0x7000 90b0: e5bcff84 ldr pc, \[ip, #3972\]! ; 0xf84 #------------------------------------------------------------------------------ @@ -122,7 +122,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ abf2's .plt entry #------------------------------------------------------------------------------ - 90b8: e28fc600 add ip, pc, #0 + 90b8: e28fc600 add ip, pc, #0, 12 90bc: e28cca07 add ip, ip, #28672 ; 0x7000 90c0: e5bcff78 ldr pc, \[ip, #3960\]! ; 0xf78 @@ -132,7 +132,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ aaf1's .iplt entry #------------------------------------------------------------------------------ - 90c4: e28fc600 add ip, pc, #0 + 90c4: e28fc600 add ip, pc, #0, 12 90c8: e28cca07 add ip, ip, #28672 ; 0x7000 90cc: e5bcff70 ldr pc, \[ip, #3952\]! ; 0xf70 #------------------------------------------------------------------------------ @@ -143,7 +143,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ atf1's .iplt entry #------------------------------------------------------------------------------ - 90d4: e28fc600 add ip, pc, #0 + 90d4: e28fc600 add ip, pc, #0, 12 90d8: e28cca07 add ip, ip, #28672 ; 0x7000 90dc: e5bcff64 ldr pc, \[ip, #3940\]! ; 0xf64 #------------------------------------------------------------------------------ @@ -154,13 +154,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ abf1's .iplt entry #------------------------------------------------------------------------------ - 90e4: e28fc600 add ip, pc, #0 + 90e4: e28fc600 add ip, pc, #0, 12 90e8: e28cca07 add ip, ip, #28672 ; 0x7000 90ec: e5bcff58 ldr pc, \[ip, #3928\]! ; 0xf58 #------------------------------------------------------------------------------ #------ taf1's .iplt entry #------------------------------------------------------------------------------ - 90f0: e28fc600 add ip, pc, #0 + 90f0: e28fc600 add ip, pc, #0, 12 90f4: e28cca07 add ip, ip, #28672 ; 0x7000 90f8: e5bcff50 ldr pc, \[ip, #3920\]! ; 0xf50 #------------------------------------------------------------------------------ @@ -171,7 +171,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ ttf1's .iplt entry #------------------------------------------------------------------------------ - 9100: e28fc600 add ip, pc, #0 + 9100: e28fc600 add ip, pc, #0, 12 9104: e28cca07 add ip, ip, #28672 ; 0x7000 9108: e5bcff44 ldr pc, \[ip, #3908\]! ; 0xf44 #------------------------------------------------------------------------------ @@ -182,7 +182,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ tbf1's .iplt entry #------------------------------------------------------------------------------ - 9110: e28fc600 add ip, pc, #0 + 9110: e28fc600 add ip, pc, #0, 12 9114: e28cca07 add ip, ip, #28672 ; 0x7000 9118: e5bcff38 ldr pc, \[ip, #3896\]! ; 0xf38 #------------------------------------------------------------------------------ @@ -192,7 +192,7 @@ Disassembly of section \.iplt: 911e: 46c0 nop ; \(mov r8, r8\) 00009120 <atf3>: - 9120: e28fc600 add ip, pc, #0 + 9120: e28fc600 add ip, pc, #0, 12 9124: e28cca07 add ip, ip, #28672 ; 0x7000 9128: e5bcff2c ldr pc, \[ip, #3884\]! ; 0xf2c #------------------------------------------------------------------------------ @@ -202,7 +202,7 @@ Disassembly of section \.iplt: 912e: 46c0 nop ; \(mov r8, r8\) 00009130 <abf3>: - 9130: e28fc600 add ip, pc, #0 + 9130: e28fc600 add ip, pc, #0, 12 9134: e28cca07 add ip, ip, #28672 ; 0x7000 9138: e5bcff20 ldr pc, \[ip, #3872\]! ; 0xf20 #------------------------------------------------------------------------------ @@ -212,7 +212,7 @@ Disassembly of section \.iplt: 913e: 46c0 nop ; \(mov r8, r8\) 00009140 <ttf3>: - 9140: e28fc600 add ip, pc, #0 + 9140: e28fc600 add ip, pc, #0, 12 9144: e28cca07 add ip, ip, #28672 ; 0x7000 9148: e5bcff14 ldr pc, \[ip, #3860\]! ; 0xf14 #------------------------------------------------------------------------------ @@ -222,17 +222,17 @@ Disassembly of section \.iplt: 914e: 46c0 nop ; \(mov r8, r8\) 00009150 <tbf3>: - 9150: e28fc600 add ip, pc, #0 + 9150: e28fc600 add ip, pc, #0, 12 9154: e28cca07 add ip, ip, #28672 ; 0x7000 9158: e5bcff08 ldr pc, \[ip, #3848\]! ; 0xf08 0000915c <taf3>: - 915c: e28fc600 add ip, pc, #0 + 915c: e28fc600 add ip, pc, #0, 12 9160: e28cca07 add ip, ip, #28672 ; 0x7000 9164: e5bcff00 ldr pc, \[ip, #3840\]! ; 0xf00 00009168 <aaf3>: - 9168: e28fc600 add ip, pc, #0 + 9168: e28fc600 add ip, pc, #0, 12 916c: e28cca07 add ip, ip, #28672 ; 0x7000 9170: e5bcfef8 ldr pc, \[ip, #3832\]! ; 0xef8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-14.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-14.dd index 8df338a..861f687 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-14.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-14.dd @@ -16,13 +16,13 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ f2t's .plt entry #------------------------------------------------------------------------------ - 9014: e28fc600 add ip, pc, #0 + 9014: e28fc600 add ip, pc, #0, 12 9018: e28cca07 add ip, ip, #28672 ; 0x7000 901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0 #------------------------------------------------------------------------------ #------ f2's .plt entry #------------------------------------------------------------------------------ - 9020: e28fc600 add ip, pc, #0 + 9020: e28fc600 add ip, pc, #0, 12 9024: e28cca07 add ip, ip, #28672 ; 0x7000 9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8 @@ -32,23 +32,23 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 902c: e28fc600 add ip, pc, #0 + 902c: e28fc600 add ip, pc, #0, 12 9030: e28cca07 add ip, ip, #28672 ; 0x7000 9034: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0 #------------------------------------------------------------------------------ #------ f1t's .iplt entry #------------------------------------------------------------------------------ - 9038: e28fc600 add ip, pc, #0 + 9038: e28fc600 add ip, pc, #0, 12 903c: e28cca07 add ip, ip, #28672 ; 0x7000 9040: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8 00009044 <f3>: - 9044: e28fc600 add ip, pc, #0 + 9044: e28fc600 add ip, pc, #0, 12 9048: e28cca07 add ip, ip, #28672 ; 0x7000 904c: e5bcffd0 ldr pc, \[ip, #4048\]! ; 0xfd0 00009050 <f3t>: - 9050: e28fc600 add ip, pc, #0 + 9050: e28fc600 add ip, pc, #0, 12 9054: e28cca07 add ip, ip, #28672 ; 0x7000 9058: e5bcffc8 ldr pc, \[ip, #4040\]! ; 0xfc8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-15.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-15.dd index 886d355..d764841 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-15.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-15.dd @@ -16,13 +16,13 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ f2t's .plt entry #------------------------------------------------------------------------------ - 9014: e28fc600 add ip, pc, #0 + 9014: e28fc600 add ip, pc, #0, 12 9018: e28cca07 add ip, ip, #28672 ; 0x7000 901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0 #------------------------------------------------------------------------------ #------ f2's .plt entry #------------------------------------------------------------------------------ - 9020: e28fc600 add ip, pc, #0 + 9020: e28fc600 add ip, pc, #0, 12 9024: e28cca07 add ip, ip, #28672 ; 0x7000 9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8 @@ -32,23 +32,23 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 902c: e28fc600 add ip, pc, #0 + 902c: e28fc600 add ip, pc, #0, 12 9030: e28cca07 add ip, ip, #28672 ; 0x7000 9034: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0 #------------------------------------------------------------------------------ #------ f1t's .iplt entry #------------------------------------------------------------------------------ - 9038: e28fc600 add ip, pc, #0 + 9038: e28fc600 add ip, pc, #0, 12 903c: e28cca07 add ip, ip, #28672 ; 0x7000 9040: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8 00009044 <f3>: - 9044: e28fc600 add ip, pc, #0 + 9044: e28fc600 add ip, pc, #0, 12 9048: e28cca07 add ip, ip, #28672 ; 0x7000 904c: e5bcffd0 ldr pc, \[ip, #4048\]! ; 0xfd0 00009050 <f3t>: - 9050: e28fc600 add ip, pc, #0 + 9050: e28fc600 add ip, pc, #0, 12 9054: e28cca07 add ip, ip, #28672 ; 0x7000 9058: e5bcffc8 ldr pc, \[ip, #4040\]! ; 0xfc8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-16.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-16.dd index d3b39bd..16c2a97 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-16.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-16.dd @@ -8,33 +8,33 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 9000: e28fc600 add ip, pc, #0 - 9004: e28cca08 add ip, ip, #32768 ; 0x8000 + 9000: e28fc600 add ip, pc, #0, 12 + 9004: e28cca08 add ip, ip, #8, 20 ; 0x8000 9008: e5bcf004 ldr pc, \[ip, #4\]! #------------------------------------------------------------------------------ #------ f1t's .iplt entry #------------------------------------------------------------------------------ - 900c: e28fc600 add ip, pc, #0 + 900c: e28fc600 add ip, pc, #0, 12 9010: e28cca07 add ip, ip, #28672 ; 0x7000 9014: e5bcfffc ldr pc, \[ip, #4092\]! ; 0xffc 00009018 <f2t>: - 9018: e28fc600 add ip, pc, #0 + 9018: e28fc600 add ip, pc, #0, 12 901c: e28cca07 add ip, ip, #28672 ; 0x7000 9020: e5bcfff4 ldr pc, \[ip, #4084\]! ; 0xff4 00009024 <f3>: - 9024: e28fc600 add ip, pc, #0 + 9024: e28fc600 add ip, pc, #0, 12 9028: e28cca07 add ip, ip, #28672 ; 0x7000 902c: e5bcffec ldr pc, \[ip, #4076\]! ; 0xfec 00009030 <f2>: - 9030: e28fc600 add ip, pc, #0 + 9030: e28fc600 add ip, pc, #0, 12 9034: e28cca07 add ip, ip, #28672 ; 0x7000 9038: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4 0000903c <f3t>: - 903c: e28fc600 add ip, pc, #0 + 903c: e28fc600 add ip, pc, #0, 12 9040: e28cca07 add ip, ip, #28672 ; 0x7000 9044: e5bcffdc ldr pc, \[ip, #4060\]! ; 0xfdc diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-2.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-2.dd index 994069c..f6d57fa 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-2.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-2.dd @@ -8,13 +8,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 9000: e28fc600 add ip, pc, #0 - 9004: e28cca08 add ip, ip, #32768 ; 0x8000 + 9000: e28fc600 add ip, pc, #0, 12 + 9004: e28cca08 add ip, ip, #8, 20 ; 0x8000 9008: e5bcf004 ldr pc, \[ip, #4\]! #------------------------------------------------------------------------------ #------ f2's .iplt entry #------------------------------------------------------------------------------ - 900c: e28fc600 add ip, pc, #0 + 900c: e28fc600 add ip, pc, #0, 12 9010: e28cca07 add ip, ip, #28672 ; 0x7000 9014: e5bcfffc ldr pc, \[ip, #4092\]! ; 0xffc #------------------------------------------------------------------------------ @@ -25,7 +25,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f3's .iplt entry #------------------------------------------------------------------------------ - 901c: e28fc600 add ip, pc, #0 + 901c: e28fc600 add ip, pc, #0, 12 9020: e28cca07 add ip, ip, #28672 ; 0x7000 9024: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0 #------------------------------------------------------------------------------ @@ -36,7 +36,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f4's .iplt entry #------------------------------------------------------------------------------ - 902c: e28fc600 add ip, pc, #0 + 902c: e28fc600 add ip, pc, #0, 12 9030: e28cca07 add ip, ip, #28672 ; 0x7000 9034: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4 #------------------------------------------------------------------------------ @@ -46,12 +46,12 @@ Disassembly of section \.iplt: 903a: 46c0 nop ; \(mov r8, r8\) 0000903c <f7>: - 903c: e28fc600 add ip, pc, #0 + 903c: e28fc600 add ip, pc, #0, 12 9040: e28cca07 add ip, ip, #28672 ; 0x7000 9044: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8 00009048 <f5>: - 9048: e28fc600 add ip, pc, #0 + 9048: e28fc600 add ip, pc, #0, 12 904c: e28cca07 add ip, ip, #28672 ; 0x7000 9050: e5bcffd0 ldr pc, \[ip, #4048\]! ; 0xfd0 #------------------------------------------------------------------------------ @@ -61,12 +61,12 @@ Disassembly of section \.iplt: 9056: 46c0 nop ; \(mov r8, r8\) 00009058 <f8>: - 9058: e28fc600 add ip, pc, #0 + 9058: e28fc600 add ip, pc, #0, 12 905c: e28cca07 add ip, ip, #28672 ; 0x7000 9060: e5bcffc4 ldr pc, \[ip, #4036\]! ; 0xfc4 00009064 <f6>: - 9064: e28fc600 add ip, pc, #0 + 9064: e28fc600 add ip, pc, #0, 12 9068: e28cca07 add ip, ip, #28672 ; 0x7000 906c: e5bcffbc ldr pc, \[ip, #4028\]! ; 0xfbc diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-3.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-3.dd index 824d516..a1fb37a 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-3.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-3.dd @@ -16,7 +16,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ f2's .plt entry #------------------------------------------------------------------------------ - 9014: e28fc600 add ip, pc, #0 + 9014: e28fc600 add ip, pc, #0, 12 9018: e28cca07 add ip, ip, #28672 ; 0x7000 901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0 @@ -26,19 +26,19 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 9020: e28fc600 add ip, pc, #0 + 9020: e28fc600 add ip, pc, #0, 12 9024: e28cca07 add ip, ip, #28672 ; 0x7000 9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8 #------------------------------------------------------------------------------ #------ f3's .iplt entry #------------------------------------------------------------------------------ - 902c: e28fc600 add ip, pc, #0 + 902c: e28fc600 add ip, pc, #0, 12 9030: e28cca07 add ip, ip, #28672 ; 0x7000 9034: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0 #------------------------------------------------------------------------------ #------ f4's .iplt entry #------------------------------------------------------------------------------ - 9038: e28fc600 add ip, pc, #0 + 9038: e28fc600 add ip, pc, #0, 12 903c: e28cca07 add ip, ip, #28672 ; 0x7000 9040: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-4.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-4.dd index afac397..f5a4d91 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-4.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-4.dd @@ -21,7 +21,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ atf2's .plt entry #------------------------------------------------------------------------------ - 9018: e28fc600 add ip, pc, #0 + 9018: e28fc600 add ip, pc, #0, 12 901c: e28cca07 add ip, ip, #28672 ; 0x7000 9020: e5bcffec ldr pc, \[ip, #4076\]! ; 0xfec #------------------------------------------------------------------------------ @@ -32,7 +32,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ ttf2's .plt entry #------------------------------------------------------------------------------ - 9028: e28fc600 add ip, pc, #0 + 9028: e28fc600 add ip, pc, #0, 12 902c: e28cca07 add ip, ip, #28672 ; 0x7000 9030: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0 #------------------------------------------------------------------------------ @@ -43,19 +43,19 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ tbf2's .plt entry #------------------------------------------------------------------------------ - 9038: e28fc600 add ip, pc, #0 + 9038: e28fc600 add ip, pc, #0, 12 903c: e28cca07 add ip, ip, #28672 ; 0x7000 9040: e5bcffd4 ldr pc, \[ip, #4052\]! ; 0xfd4 #------------------------------------------------------------------------------ #------ taf2's .plt entry #------------------------------------------------------------------------------ - 9044: e28fc600 add ip, pc, #0 + 9044: e28fc600 add ip, pc, #0, 12 9048: e28cca07 add ip, ip, #28672 ; 0x7000 904c: e5bcffcc ldr pc, \[ip, #4044\]! ; 0xfcc #------------------------------------------------------------------------------ #------ aaf2's .plt entry #------------------------------------------------------------------------------ - 9050: e28fc600 add ip, pc, #0 + 9050: e28fc600 add ip, pc, #0, 12 9054: e28cca07 add ip, ip, #28672 ; 0x7000 9058: e5bcffc4 ldr pc, \[ip, #4036\]! ; 0xfc4 #------------------------------------------------------------------------------ @@ -66,7 +66,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ abf2's .plt entry #------------------------------------------------------------------------------ - 9060: e28fc600 add ip, pc, #0 + 9060: e28fc600 add ip, pc, #0, 12 9064: e28cca07 add ip, ip, #28672 ; 0x7000 9068: e5bcffb8 ldr pc, \[ip, #4024\]! ; 0xfb8 @@ -76,7 +76,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ aaf1's .iplt entry #------------------------------------------------------------------------------ - 906c: e28fc600 add ip, pc, #0 + 906c: e28fc600 add ip, pc, #0, 12 9070: e28cca07 add ip, ip, #28672 ; 0x7000 9074: e5bcffb0 ldr pc, \[ip, #4016\]! ; 0xfb0 #------------------------------------------------------------------------------ @@ -87,7 +87,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ atf1's .iplt entry #------------------------------------------------------------------------------ - 907c: e28fc600 add ip, pc, #0 + 907c: e28fc600 add ip, pc, #0, 12 9080: e28cca07 add ip, ip, #28672 ; 0x7000 9084: e5bcffa4 ldr pc, \[ip, #4004\]! ; 0xfa4 #------------------------------------------------------------------------------ @@ -98,13 +98,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ abf1's .iplt entry #------------------------------------------------------------------------------ - 908c: e28fc600 add ip, pc, #0 + 908c: e28fc600 add ip, pc, #0, 12 9090: e28cca07 add ip, ip, #28672 ; 0x7000 9094: e5bcff98 ldr pc, \[ip, #3992\]! ; 0xf98 #------------------------------------------------------------------------------ #------ taf1's .iplt entry #------------------------------------------------------------------------------ - 9098: e28fc600 add ip, pc, #0 + 9098: e28fc600 add ip, pc, #0, 12 909c: e28cca07 add ip, ip, #28672 ; 0x7000 90a0: e5bcff90 ldr pc, \[ip, #3984\]! ; 0xf90 #------------------------------------------------------------------------------ @@ -115,7 +115,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ ttf1's .iplt entry #------------------------------------------------------------------------------ - 90a8: e28fc600 add ip, pc, #0 + 90a8: e28fc600 add ip, pc, #0, 12 90ac: e28cca07 add ip, ip, #28672 ; 0x7000 90b0: e5bcff84 ldr pc, \[ip, #3972\]! ; 0xf84 #------------------------------------------------------------------------------ @@ -126,13 +126,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ tbf1's .iplt entry #------------------------------------------------------------------------------ - 90b8: e28fc600 add ip, pc, #0 + 90b8: e28fc600 add ip, pc, #0, 12 90bc: e28cca07 add ip, ip, #28672 ; 0x7000 90c0: e5bcff78 ldr pc, \[ip, #3960\]! ; 0xf78 #------------------------------------------------------------------------------ #------ aaf4's .iplt entry #------------------------------------------------------------------------------ - 90c4: e28fc600 add ip, pc, #0 + 90c4: e28fc600 add ip, pc, #0, 12 90c8: e28cca07 add ip, ip, #28672 ; 0x7000 90cc: e5bcff70 ldr pc, \[ip, #3952\]! ; 0xf70 #------------------------------------------------------------------------------ @@ -143,7 +143,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ atf3's .iplt entry #------------------------------------------------------------------------------ - 90d4: e28fc600 add ip, pc, #0 + 90d4: e28fc600 add ip, pc, #0, 12 90d8: e28cca07 add ip, ip, #28672 ; 0x7000 90dc: e5bcff64 ldr pc, \[ip, #3940\]! ; 0xf64 #------------------------------------------------------------------------------ @@ -154,7 +154,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ abf3's .iplt entry #------------------------------------------------------------------------------ - 90e4: e28fc600 add ip, pc, #0 + 90e4: e28fc600 add ip, pc, #0, 12 90e8: e28cca07 add ip, ip, #28672 ; 0x7000 90ec: e5bcff58 ldr pc, \[ip, #3928\]! ; 0xf58 #------------------------------------------------------------------------------ @@ -165,7 +165,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ ttf3's .iplt entry #------------------------------------------------------------------------------ - 90f4: e28fc600 add ip, pc, #0 + 90f4: e28fc600 add ip, pc, #0, 12 90f8: e28cca07 add ip, ip, #28672 ; 0x7000 90fc: e5bcff4c ldr pc, \[ip, #3916\]! ; 0xf4c #------------------------------------------------------------------------------ @@ -176,13 +176,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ tbf3's .iplt entry #------------------------------------------------------------------------------ - 9104: e28fc600 add ip, pc, #0 + 9104: e28fc600 add ip, pc, #0, 12 9108: e28cca07 add ip, ip, #28672 ; 0x7000 910c: e5bcff40 ldr pc, \[ip, #3904\]! ; 0xf40 #------------------------------------------------------------------------------ #------ taf3's .iplt entry #------------------------------------------------------------------------------ - 9110: e28fc600 add ip, pc, #0 + 9110: e28fc600 add ip, pc, #0, 12 9114: e28cca07 add ip, ip, #28672 ; 0x7000 9118: e5bcff38 ldr pc, \[ip, #3896\]! ; 0xf38 #------------------------------------------------------------------------------ @@ -193,7 +193,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ abf4's .iplt entry #------------------------------------------------------------------------------ - 9120: e28fc600 add ip, pc, #0 + 9120: e28fc600 add ip, pc, #0, 12 9124: e28cca07 add ip, ip, #28672 ; 0x7000 9128: e5bcff2c ldr pc, \[ip, #3884\]! ; 0xf2c #------------------------------------------------------------------------------ @@ -204,7 +204,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ tbf4's .iplt entry #------------------------------------------------------------------------------ - 9130: e28fc600 add ip, pc, #0 + 9130: e28fc600 add ip, pc, #0, 12 9134: e28cca07 add ip, ip, #28672 ; 0x7000 9138: e5bcff20 ldr pc, \[ip, #3872\]! ; 0xf20 #------------------------------------------------------------------------------ @@ -215,13 +215,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ ttf4's .iplt entry #------------------------------------------------------------------------------ - 9140: e28fc600 add ip, pc, #0 + 9140: e28fc600 add ip, pc, #0, 12 9144: e28cca07 add ip, ip, #28672 ; 0x7000 9148: e5bcff14 ldr pc, \[ip, #3860\]! ; 0xf14 #------------------------------------------------------------------------------ #------ aaf3's .iplt entry #------------------------------------------------------------------------------ - 914c: e28fc600 add ip, pc, #0 + 914c: e28fc600 add ip, pc, #0, 12 9150: e28cca07 add ip, ip, #28672 ; 0x7000 9154: e5bcff0c ldr pc, \[ip, #3852\]! ; 0xf0c #------------------------------------------------------------------------------ @@ -232,13 +232,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ atf4's .iplt entry #------------------------------------------------------------------------------ - 915c: e28fc600 add ip, pc, #0 + 915c: e28fc600 add ip, pc, #0, 12 9160: e28cca07 add ip, ip, #28672 ; 0x7000 9164: e5bcff00 ldr pc, \[ip, #3840\]! ; 0xf00 #------------------------------------------------------------------------------ #------ taf4's .iplt entry #------------------------------------------------------------------------------ - 9168: e28fc600 add ip, pc, #0 + 9168: e28fc600 add ip, pc, #0, 12 916c: e28cca07 add ip, ip, #28672 ; 0x7000 9170: e5bcfef8 ldr pc, \[ip, #3832\]! ; 0xef8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-5.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-5.dd index 0fe8255..b0bf597 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-5.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-5.dd @@ -8,19 +8,19 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 9000: e28fc600 add ip, pc, #0 - 9004: e28cca08 add ip, ip, #32768 ; 0x8000 + 9000: e28fc600 add ip, pc, #0, 12 + 9004: e28cca08 add ip, ip, #8, 20 ; 0x8000 9008: e5bcf004 ldr pc, \[ip, #4\]! #------------------------------------------------------------------------------ #------ f3's .iplt entry #------------------------------------------------------------------------------ - 900c: e28fc600 add ip, pc, #0 + 900c: e28fc600 add ip, pc, #0, 12 9010: e28cca07 add ip, ip, #28672 ; 0x7000 9014: e5bcfffc ldr pc, \[ip, #4092\]! ; 0xffc #------------------------------------------------------------------------------ #------ f2's .iplt entry #------------------------------------------------------------------------------ - 9018: e28fc600 add ip, pc, #0 + 9018: e28fc600 add ip, pc, #0, 12 901c: e28cca07 add ip, ip, #28672 ; 0x7000 9020: e5bcfff4 ldr pc, \[ip, #4084\]! ; 0xff4 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-6.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-6.dd index c78c8d4..3c9cbd5 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-6.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-6.dd @@ -13,13 +13,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f3's .iplt entry #------------------------------------------------------------------------------ - 9004: e28fc600 add ip, pc, #0 - 9008: e28cca08 add ip, ip, #32768 ; 0x8000 + 9004: e28fc600 add ip, pc, #0, 12 + 9008: e28cca08 add ip, ip, #8, 20 ; 0x8000 900c: e5bcf000 ldr pc, \[ip, #0\]! #------------------------------------------------------------------------------ #------ f2's .iplt entry #------------------------------------------------------------------------------ - 9010: e28fc600 add ip, pc, #0 + 9010: e28fc600 add ip, pc, #0, 12 9014: e28cca07 add ip, ip, #28672 ; 0x7000 9018: e5bcfff8 ldr pc, \[ip, #4088\]! ; 0xff8 #------------------------------------------------------------------------------ @@ -30,13 +30,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f4's .iplt entry #------------------------------------------------------------------------------ - 9020: e28fc600 add ip, pc, #0 + 9020: e28fc600 add ip, pc, #0, 12 9024: e28cca07 add ip, ip, #28672 ; 0x7000 9028: e5bcffec ldr pc, \[ip, #4076\]! ; 0xfec #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 902c: e28fc600 add ip, pc, #0 + 902c: e28fc600 add ip, pc, #0, 12 9030: e28cca07 add ip, ip, #28672 ; 0x7000 9034: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-7.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-7.dd index 5db88fb..e9a9681 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-7.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-7.dd @@ -16,13 +16,13 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ f2's .plt entry #------------------------------------------------------------------------------ - 9014: e28fc600 add ip, pc, #0 + 9014: e28fc600 add ip, pc, #0, 12 9018: e28cca07 add ip, ip, #28672 ; 0x7000 901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0 #------------------------------------------------------------------------------ #------ f4's .plt entry #------------------------------------------------------------------------------ - 9020: e28fc600 add ip, pc, #0 + 9020: e28fc600 add ip, pc, #0, 12 9024: e28cca07 add ip, ip, #28672 ; 0x7000 9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8 @@ -32,13 +32,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 902c: e28fc600 add ip, pc, #0 + 902c: e28fc600 add ip, pc, #0, 12 9030: e28cca07 add ip, ip, #28672 ; 0x7000 9034: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0 #------------------------------------------------------------------------------ #------ f3's .iplt entry #------------------------------------------------------------------------------ - 9038: e28fc600 add ip, pc, #0 + 9038: e28fc600 add ip, pc, #0, 12 903c: e28cca07 add ip, ip, #28672 ; 0x7000 9040: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-8.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-8.dd index f14ab34..5b255e2 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-8.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-8.dd @@ -21,13 +21,13 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ atf2's .plt entry #------------------------------------------------------------------------------ - 9018: e28fc600 add ip, pc, #0 + 9018: e28fc600 add ip, pc, #0, 12 901c: e28cca07 add ip, ip, #28672 ; 0x7000 9020: e5bcffec ldr pc, \[ip, #4076\]! ; 0xfec #------------------------------------------------------------------------------ #------ aaf4's .plt entry #------------------------------------------------------------------------------ - 9024: e28fc600 add ip, pc, #0 + 9024: e28fc600 add ip, pc, #0, 12 9028: e28cca07 add ip, ip, #28672 ; 0x7000 902c: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4 #------------------------------------------------------------------------------ @@ -38,7 +38,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ ttf2's .plt entry #------------------------------------------------------------------------------ - 9034: e28fc600 add ip, pc, #0 + 9034: e28fc600 add ip, pc, #0, 12 9038: e28cca07 add ip, ip, #28672 ; 0x7000 903c: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8 #------------------------------------------------------------------------------ @@ -49,19 +49,19 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ tbf2's .plt entry #------------------------------------------------------------------------------ - 9044: e28fc600 add ip, pc, #0 + 9044: e28fc600 add ip, pc, #0, 12 9048: e28cca07 add ip, ip, #28672 ; 0x7000 904c: e5bcffcc ldr pc, \[ip, #4044\]! ; 0xfcc #------------------------------------------------------------------------------ #------ taf2's .plt entry #------------------------------------------------------------------------------ - 9050: e28fc600 add ip, pc, #0 + 9050: e28fc600 add ip, pc, #0, 12 9054: e28cca07 add ip, ip, #28672 ; 0x7000 9058: e5bcffc4 ldr pc, \[ip, #4036\]! ; 0xfc4 #------------------------------------------------------------------------------ #------ aaf2's .plt entry #------------------------------------------------------------------------------ - 905c: e28fc600 add ip, pc, #0 + 905c: e28fc600 add ip, pc, #0, 12 9060: e28cca07 add ip, ip, #28672 ; 0x7000 9064: e5bcffbc ldr pc, \[ip, #4028\]! ; 0xfbc #------------------------------------------------------------------------------ @@ -72,7 +72,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ abf4's .plt entry #------------------------------------------------------------------------------ - 906c: e28fc600 add ip, pc, #0 + 906c: e28fc600 add ip, pc, #0, 12 9070: e28cca07 add ip, ip, #28672 ; 0x7000 9074: e5bcffb0 ldr pc, \[ip, #4016\]! ; 0xfb0 #------------------------------------------------------------------------------ @@ -83,7 +83,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ tbf4's .plt entry #------------------------------------------------------------------------------ - 907c: e28fc600 add ip, pc, #0 + 907c: e28fc600 add ip, pc, #0, 12 9080: e28cca07 add ip, ip, #28672 ; 0x7000 9084: e5bcffa4 ldr pc, \[ip, #4004\]! ; 0xfa4 #------------------------------------------------------------------------------ @@ -94,7 +94,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ ttf4's .plt entry #------------------------------------------------------------------------------ - 908c: e28fc600 add ip, pc, #0 + 908c: e28fc600 add ip, pc, #0, 12 9090: e28cca07 add ip, ip, #28672 ; 0x7000 9094: e5bcff98 ldr pc, \[ip, #3992\]! ; 0xf98 #------------------------------------------------------------------------------ @@ -105,13 +105,13 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ atf4's .plt entry #------------------------------------------------------------------------------ - 909c: e28fc600 add ip, pc, #0 + 909c: e28fc600 add ip, pc, #0, 12 90a0: e28cca07 add ip, ip, #28672 ; 0x7000 90a4: e5bcff8c ldr pc, \[ip, #3980\]! ; 0xf8c #------------------------------------------------------------------------------ #------ taf4's .plt entry #------------------------------------------------------------------------------ - 90a8: e28fc600 add ip, pc, #0 + 90a8: e28fc600 add ip, pc, #0, 12 90ac: e28cca07 add ip, ip, #28672 ; 0x7000 90b0: e5bcff84 ldr pc, \[ip, #3972\]! ; 0xf84 #------------------------------------------------------------------------------ @@ -122,7 +122,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ abf2's .plt entry #------------------------------------------------------------------------------ - 90b8: e28fc600 add ip, pc, #0 + 90b8: e28fc600 add ip, pc, #0, 12 90bc: e28cca07 add ip, ip, #28672 ; 0x7000 90c0: e5bcff78 ldr pc, \[ip, #3960\]! ; 0xf78 @@ -132,7 +132,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ aaf1's .iplt entry #------------------------------------------------------------------------------ - 90c4: e28fc600 add ip, pc, #0 + 90c4: e28fc600 add ip, pc, #0, 12 90c8: e28cca07 add ip, ip, #28672 ; 0x7000 90cc: e5bcff70 ldr pc, \[ip, #3952\]! ; 0xf70 #------------------------------------------------------------------------------ @@ -143,7 +143,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ atf1's .iplt entry #------------------------------------------------------------------------------ - 90d4: e28fc600 add ip, pc, #0 + 90d4: e28fc600 add ip, pc, #0, 12 90d8: e28cca07 add ip, ip, #28672 ; 0x7000 90dc: e5bcff64 ldr pc, \[ip, #3940\]! ; 0xf64 #------------------------------------------------------------------------------ @@ -154,13 +154,13 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ abf1's .iplt entry #------------------------------------------------------------------------------ - 90e4: e28fc600 add ip, pc, #0 + 90e4: e28fc600 add ip, pc, #0, 12 90e8: e28cca07 add ip, ip, #28672 ; 0x7000 90ec: e5bcff58 ldr pc, \[ip, #3928\]! ; 0xf58 #------------------------------------------------------------------------------ #------ taf1's .iplt entry #------------------------------------------------------------------------------ - 90f0: e28fc600 add ip, pc, #0 + 90f0: e28fc600 add ip, pc, #0, 12 90f4: e28cca07 add ip, ip, #28672 ; 0x7000 90f8: e5bcff50 ldr pc, \[ip, #3920\]! ; 0xf50 #------------------------------------------------------------------------------ @@ -171,7 +171,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ ttf1's .iplt entry #------------------------------------------------------------------------------ - 9100: e28fc600 add ip, pc, #0 + 9100: e28fc600 add ip, pc, #0, 12 9104: e28cca07 add ip, ip, #28672 ; 0x7000 9108: e5bcff44 ldr pc, \[ip, #3908\]! ; 0xf44 #------------------------------------------------------------------------------ @@ -182,7 +182,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ tbf1's .iplt entry #------------------------------------------------------------------------------ - 9110: e28fc600 add ip, pc, #0 + 9110: e28fc600 add ip, pc, #0, 12 9114: e28cca07 add ip, ip, #28672 ; 0x7000 9118: e5bcff38 ldr pc, \[ip, #3896\]! ; 0xf38 #------------------------------------------------------------------------------ @@ -193,7 +193,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ atf3's .iplt entry #------------------------------------------------------------------------------ - 9120: e28fc600 add ip, pc, #0 + 9120: e28fc600 add ip, pc, #0, 12 9124: e28cca07 add ip, ip, #28672 ; 0x7000 9128: e5bcff2c ldr pc, \[ip, #3884\]! ; 0xf2c #------------------------------------------------------------------------------ @@ -204,7 +204,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ abf3's .iplt entry #------------------------------------------------------------------------------ - 9130: e28fc600 add ip, pc, #0 + 9130: e28fc600 add ip, pc, #0, 12 9134: e28cca07 add ip, ip, #28672 ; 0x7000 9138: e5bcff20 ldr pc, \[ip, #3872\]! ; 0xf20 #------------------------------------------------------------------------------ @@ -215,7 +215,7 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ ttf3's .iplt entry #------------------------------------------------------------------------------ - 9140: e28fc600 add ip, pc, #0 + 9140: e28fc600 add ip, pc, #0, 12 9144: e28cca07 add ip, ip, #28672 ; 0x7000 9148: e5bcff14 ldr pc, \[ip, #3860\]! ; 0xf14 #------------------------------------------------------------------------------ @@ -226,19 +226,19 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ tbf3's .iplt entry #------------------------------------------------------------------------------ - 9150: e28fc600 add ip, pc, #0 + 9150: e28fc600 add ip, pc, #0, 12 9154: e28cca07 add ip, ip, #28672 ; 0x7000 9158: e5bcff08 ldr pc, \[ip, #3848\]! ; 0xf08 #------------------------------------------------------------------------------ #------ taf3's .iplt entry #------------------------------------------------------------------------------ - 915c: e28fc600 add ip, pc, #0 + 915c: e28fc600 add ip, pc, #0, 12 9160: e28cca07 add ip, ip, #28672 ; 0x7000 9164: e5bcff00 ldr pc, \[ip, #3840\]! ; 0xf00 #------------------------------------------------------------------------------ #------ aaf3's .iplt entry #------------------------------------------------------------------------------ - 9168: e28fc600 add ip, pc, #0 + 9168: e28fc600 add ip, pc, #0, 12 916c: e28cca07 add ip, ip, #28672 ; 0x7000 9170: e5bcfef8 ldr pc, \[ip, #3832\]! ; 0xef8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/ifunc-9.dd b/binutils-2.22/ld/testsuite/ld-arm/ifunc-9.dd index be8f3d0..36139d9 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/ifunc-9.dd +++ b/binutils-2.22/ld/testsuite/ld-arm/ifunc-9.dd @@ -16,7 +16,7 @@ Disassembly of section \.plt: #------------------------------------------------------------------------------ #------ f2's .plt entry #------------------------------------------------------------------------------ - 9014: e28fc600 add ip, pc, #0 + 9014: e28fc600 add ip, pc, #0, 12 9018: e28cca07 add ip, ip, #28672 ; 0x7000 901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0 @@ -26,12 +26,12 @@ Disassembly of section \.iplt: #------------------------------------------------------------------------------ #------ f1's .iplt entry #------------------------------------------------------------------------------ - 9020: e28fc600 add ip, pc, #0 + 9020: e28fc600 add ip, pc, #0, 12 9024: e28cca07 add ip, ip, #28672 ; 0x7000 9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8 0000902c <f3>: - 902c: e28fc600 add ip, pc, #0 + 902c: e28fc600 add ip, pc, #0, 12 9030: e28cca07 add ip, ip, #28672 ; 0x7000 9034: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0 diff --git a/binutils-2.22/ld/testsuite/ld-arm/jump19.d b/binutils-2.22/ld/testsuite/ld-arm/jump19.d index 303477f..a631de2 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/jump19.d +++ b/binutils-2.22/ld/testsuite/ld-arm/jump19.d @@ -1,5 +1,5 @@ -.*jump19: file format elf32-(big|little)arm +.*jump19: file format elf32-(big|little)arm.* Disassembly of section .text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/main.s b/binutils-2.22/ld/testsuite/ld-arm/main.s new file mode 100644 index 0000000..046d19d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-arm/main.s @@ -0,0 +1,8 @@ + .text + .globl _start + .type _start, %function +_start: + str lr, [sp, #-4]! + bl hidfn(PLT) + ldmfd sp!, {pc} + .size _start, . - _start diff --git a/binutils-2.22/ld/testsuite/ld-arm/mixed-app-v5.d b/binutils-2.22/ld/testsuite/ld-arm/mixed-app-v5.d index a30fde4..82013f3 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/mixed-app-v5.d +++ b/binutils-2.22/ld/testsuite/ld-arm/mixed-app-v5.d @@ -1,6 +1,6 @@ tmpdir/mixed-app-v5: file format elf32-(little|big)arm -architecture: arm, flags 0x00000112: +architecture: armv4t, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/mixed-app.d b/binutils-2.22/ld/testsuite/ld-arm/mixed-app.d index 592e18a..4de8e57 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/mixed-app.d +++ b/binutils-2.22/ld/testsuite/ld-arm/mixed-app.d @@ -1,6 +1,6 @@ tmpdir/mixed-app: file format elf32-(little|big)arm -architecture: arm, flags 0x00000112: +architecture: armv4t, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/mixed-app.sym b/binutils-2.22/ld/testsuite/ld-arm/mixed-app.sym index 2884b3d..cfa35f5 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/mixed-app.sym +++ b/binutils-2.22/ld/testsuite/ld-arm/mixed-app.sym @@ -1,15 +1,15 @@ Symbol table for image: +Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end +.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +12 data_obj - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_end__ +.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func1 +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +11 __data_start - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __end__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +.. +..: .......0 +0 +FUNC +GLOBAL +DEFAULT +8 app_func2 +.. +..: 0*[^0]*.* +0 +FUNC +GLOBAL +DEFAULT +UND lib_func2 - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +12 _bss_end__ diff --git a/binutils-2.22/ld/testsuite/ld-arm/mixed-lib.d b/binutils-2.22/ld/testsuite/ld-arm/mixed-lib.d index bcd2e41..d3a9ff9 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/mixed-lib.d +++ b/binutils-2.22/ld/testsuite/ld-arm/mixed-lib.d @@ -1,6 +1,6 @@ tmpdir/mixed-lib.so: file format elf32-(little|big)arm -architecture: arm, flags 0x00000150: +architecture: armv4t, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/mixed-lib.sym b/binutils-2.22/ld/testsuite/ld-arm/mixed-lib.sym index 9f7a326..f5b16dc 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/mixed-lib.sym +++ b/binutils-2.22/ld/testsuite/ld-arm/mixed-lib.sym @@ -1,15 +1,15 @@ Symbol table for image: +Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end +.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +9 data_obj - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_end__ +.. +..: .......0 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1 +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __end__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start +.. +..: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +UND app_func2 +.. +..: .......1 +2 +FUNC +GLOBAL +DEFAULT +6 lib_func2 - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _bss_end__ diff --git a/binutils-2.22/ld/testsuite/ld-arm/preempt-app.sym b/binutils-2.22/ld/testsuite/ld-arm/preempt-app.sym index c169757..ec1d6be 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/preempt-app.sym +++ b/binutils-2.22/ld/testsuite/ld-arm/preempt-app.sym @@ -1,14 +1,14 @@ Symbol table for image: +Num +Buc: +Value +Size +Type +Bind +Vis +Ndx +Name - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +.. +..: ........ +4 +OBJECT +GLOBAL +DEFAULT +10 data_obj - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_end__ +.. +..: .......1 +20 +FUNC +GLOBAL +DEFAULT +6 lib_func1 +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +9 __data_start - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __end__ - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +.. +..: .......0 +0 +FUNC +GLOBAL +DEFAULT +6 app_func2 - +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _bss_end__ + +.. +..: ........ +0 +NOTYPE +GLOBAL +DEFAULT +10 _bss_end__ diff --git a/binutils-2.22/ld/testsuite/ld-arm/reloc-boundaries.d b/binutils-2.22/ld/testsuite/ld-arm/reloc-boundaries.d index bcc13d0..4bfaf0a 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/reloc-boundaries.d +++ b/binutils-2.22/ld/testsuite/ld-arm/reloc-boundaries.d @@ -1,6 +1,6 @@ -[^:]*: file format elf32-(little|big)arm +[^:]*: file format elf32-(little|big)arm.* Contents of section .text: - 80.. 80ff0080 ffff ...... + [0-9a-f]+ 80ff0080 ffff ...... #... diff --git a/binutils-2.22/ld/testsuite/ld-arm/script-type.sym b/binutils-2.22/ld/testsuite/ld-arm/script-type.sym index d319d5c..4b54dd6 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/script-type.sym +++ b/binutils-2.22/ld/testsuite/ld-arm/script-type.sym @@ -1,16 +1,18 @@ -Symbol table '.symtab' contains 13 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 \$a - 4: 00000010 0 NOTYPE LOCAL DEFAULT 1 \$d - 5: 00000014 0 NOTYPE LOCAL DEFAULT 1 \$a - 6: 00000020 0 NOTYPE LOCAL DEFAULT 1 \$t - 7: 00000010 0 OBJECT GLOBAL DEFAULT 1 bar_o - 8: 00000021 0 FUNC GLOBAL DEFAULT 1 bar_t - 9: 00000000 0 FUNC GLOBAL DEFAULT 1 foo_a - 10: 00000021 0 FUNC GLOBAL DEFAULT 1 foo_t - 11: 00000010 0 OBJECT GLOBAL DEFAULT 1 foo_o - 12: 00000000 0 FUNC GLOBAL DEFAULT 1 bar_a +Symbol table '.symtab' contains [0-9]+ entries: + +Num: +Value +Size Type +Bind +Vis +Ndx Name +.* 0+ +0 NOTYPE +LOCAL +DEFAULT +UND +.* 0+ +0 SECTION LOCAL +DEFAULT +1 +.* 0+ +0 SECTION LOCAL +DEFAULT +2 +.* 0+ +0 FILE +LOCAL +DEFAULT +ABS .* +.* 0+ +0 NOTYPE +LOCAL +DEFAULT +1 \$a +.* 0+10 +0 NOTYPE +LOCAL +DEFAULT +1 \$d +.* 0+14 +0 NOTYPE +LOCAL +DEFAULT +1 \$a +.* 0+20 +0 NOTYPE +LOCAL +DEFAULT +1 \$t +.* 0+ +0 FILE +LOCAL +DEFAULT +ABS .* +.* 0+10 +0 OBJECT +GLOBAL DEFAULT +1 bar_o +.* 0+21 +0 FUNC +GLOBAL DEFAULT +1 bar_t +.* 0+ +0 FUNC +GLOBAL DEFAULT +1 foo_a +.* 0+21 +0 FUNC +GLOBAL DEFAULT +1 foo_t +.* 0+10 +0 OBJECT +GLOBAL DEFAULT +1 foo_o +.* 0+ +0 FUNC +GLOBAL DEFAULT +1 bar_a diff --git a/binutils-2.22/ld/testsuite/ld-arm/thumb1-bl.d b/binutils-2.22/ld/testsuite/ld-arm/thumb1-bl.d index 09d7095..a10db01 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/thumb1-bl.d +++ b/binutils-2.22/ld/testsuite/ld-arm/thumb1-bl.d @@ -1,5 +1,5 @@ -.*thumb1-bl: file format elf32-.*arm +.*thumb1-bl: file format elf32-.*arm.* Disassembly of section .text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/thumb2-b-interwork.d b/binutils-2.22/ld/testsuite/ld-arm/thumb2-b-interwork.d index 431989c..67cb863 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/thumb2-b-interwork.d +++ b/binutils-2.22/ld/testsuite/ld-arm/thumb2-b-interwork.d @@ -1,16 +1,16 @@ -.*thumb2-b-interwork: file format elf32-.*arm +.*thumb2-b-interwork: file format elf32-.*arm.* Disassembly of section .text: -00008000 <_start>: - 8000: f000 b802 b.w 8008 <__bar_from_thumb> +[0-9a-f]+ <_start>: + +[0-9a-f]+: f000 b802 b.w [0-9a-f]+ <__bar_from_thumb> -00008004 <bar>: - 8004: e12fff1e bx lr +[0-9a-f]+ <bar>: + +[0-9a-f]+: e12fff1e bx lr -00008008 <__bar_from_thumb>: - 8008: 4778 bx pc - 800a: 46c0 nop ; \(mov r8, r8\) - 800c: eafffffc b 8004 <bar> +[0-9a-f]+ <__bar_from_thumb>: + +[0-9a-f]+: 4778 bx pc + +[0-9a-f]+: 46c0 nop ; \(mov r8, r8\) + +[0-9a-f]+: eafffffc b [0-9a-f]+ <bar> diff --git a/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak.d b/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak.d index 32f7cc1..5c286be 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak.d +++ b/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak.d @@ -6,4 +6,4 @@ Disassembly of section .text: .* <foo>: - .*: .... .... bl. ... <foo-0x.*> + +[0-9a-f]+: .... .... bl. [0-9a-f]+ <foo-0x[0-9a-f]+> diff --git a/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d b/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d index 929d180..a6907f5 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d +++ b/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d @@ -6,4 +6,4 @@ Disassembly of section .text: .* <foo>: - .*: ........ bl ... <foo-0x.*> + +[0-9a-f]+: ........ bl [0-9a-f]+ <foo-0x[0-9a-f]+> diff --git a/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl.d b/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl.d index bdfb9b7..298a044 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl.d +++ b/binutils-2.22/ld/testsuite/ld-arm/thumb2-bl.d @@ -1,5 +1,5 @@ -.*thumb2-bl: file format elf32-.*arm +.*thumb2-bl: file format elf32-.*arm.* Disassembly of section .text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-app.d b/binutils-2.22/ld/testsuite/ld-arm/tls-app.d index 7d2a709..a88ca7f 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-app.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-app.d @@ -1,6 +1,6 @@ -.*: file format elf32-.*arm -architecture: arm, flags 0x00000112: +.*: file format elf32-.*arm.* +architecture: armv4, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x000081c8 diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-app.r b/binutils-2.22/ld/testsuite/ld-arm/tls-app.r index af6c2d7..b156d52 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-app.r +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-app.r @@ -1,5 +1,5 @@ -.*: file format elf32-.*arm +.*: file format elf32-.*arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-descrelax-be32.d b/binutils-2.22/ld/testsuite/ld-arm/tls-descrelax-be32.d index 150e331..c1c7fcd 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-descrelax-be32.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-descrelax-be32.d @@ -1,5 +1,5 @@ .*: file format elf32-.* -architecture: arm, flags 0x[0-9a-f]+: +architecture: armv5te, flags 0x[0-9a-f]+: EXEC_P, HAS_SYMS, D_PAGED start address 0x[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-descrelax.d b/binutils-2.22/ld/testsuite/ld-arm/tls-descrelax.d index 9b06d6a..97cbe00 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-descrelax.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-descrelax.d @@ -1,5 +1,5 @@ .*: file format elf32-.* -architecture: arm, flags 0x[0-9a-f]+: +architecture: armv5t, flags 0x[0-9a-f]+: EXEC_P, HAS_SYMS, D_PAGED start address 0x[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-descseq.d b/binutils-2.22/ld/testsuite/ld-arm/tls-descseq.d index 1a04bb0..d39a891 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-descseq.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-descseq.d @@ -1,6 +1,6 @@ tmpdir/tls-lib2inline.so: file format elf32-.*arm -architecture: arm, flags 0x[0-9a-f]+: +architecture: armv5t, flags 0x[0-9a-f]+: HAS_SYMS, DYNAMIC, D_PAGED start address 0x[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-gdesc-got.d b/binutils-2.22/ld/testsuite/ld-arm/tls-gdesc-got.d index 3b4a83b..4d7777a 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-gdesc-got.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-gdesc-got.d @@ -1,30 +1,30 @@ -.*/tls-lib2-got.so: file format elf32-.*arm -architecture: arm, flags 0x00000150: +.*/tls-lib2-got.so: file format elf32-.*arm.* +architecture: armv4, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED -start address 0x00008210 +start address 0x000082.0 Disassembly of section .got: -00010310 <.*>: - 10310: 00010288 .* +000103.0 <.*>: + 103.0: 000102.8 .* ... - 1031c: 00000008 .* - 1031c: R_ARM_TLS_DESC \*ABS\* - 10320: 00000000 .* - 10324: 0000000c .* - 10324: R_ARM_TLS_DESC \*ABS\* - 10328: 00000000 .* - 1032c: 80000004 .* - 1032c: R_ARM_TLS_DESC glob1 - 10330: 00000000 .* - 10334: 80000006 .* - 10334: R_ARM_TLS_DESC ext2 - 10338: 00000000 .* - 1033c: 80000007 .* - 1033c: R_ARM_TLS_DESC ext1 - 10340: 00000000 .* - 10344: 80000009 .* - 10344: R_ARM_TLS_DESC glob2 + 103.c: 00000008 .* + 103.c: R_ARM_TLS_DESC \*ABS\* + 103.0: 00000000 .* + 103.4: 0000000c .* + 103.4: R_ARM_TLS_DESC \*ABS\* + 103.8: 00000000 .* + 103.c: 80000004 .* + 103.c: R_ARM_TLS_DESC glob1 + 103.0: 00000000 .* + 103.4: 80000006 .* + 103.4: R_ARM_TLS_DESC ext2 + 103.8: 00000000 .* + 103.c: 80000007 .* + 103.c: R_ARM_TLS_DESC ext1 + 103.0: 00000000 .* + 103.4: 80000009 .* + 103.4: R_ARM_TLS_DESC glob2 ... diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-gdesc.d b/binutils-2.22/ld/testsuite/ld-arm/tls-gdesc.d index ce18eac..43ad706 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-gdesc.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-gdesc.d @@ -1,6 +1,6 @@ tmpdir/tls-lib2.so: file format elf32-.*arm -architecture: arm, flags 0x[0-9a-f]+: +architecture: armv.t, flags 0x[0-9a-f]+: HAS_SYMS, DYNAMIC, D_PAGED start address 0x[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax.d b/binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax.d index 8d965fc..bb450ab 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax.d @@ -1,6 +1,6 @@ -tmpdir/tls-app-rel-ie: file format elf32-.*arm -architecture: arm, flags 0x[0-9a-f]+: +tmpdir/tls-app-rel-ie: file format elf32-.*arm.* +architecture: armv5t, flags 0x[0-9a-f]+: EXEC_P, HAS_SYMS, D_PAGED start address 0x[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax2.d b/binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax2.d index 055aad8..3a80094 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax2.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax2.d @@ -1,6 +1,6 @@ -tmpdir/tls-app-rel-ie2: file format elf32-.*arm -architecture: arm, flags 0x[0-9a-f]+: +tmpdir/tls-app-rel-ie2: file format elf32-.*arm.* +architecture: armv5t, flags 0x[0-9a-f]+: HAS_SYMS, DYNAMIC, D_PAGED start address 0x[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-gdlerelax.d b/binutils-2.22/ld/testsuite/ld-arm/tls-gdlerelax.d index 896aed7..02bddad 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-gdlerelax.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-gdlerelax.d @@ -1,6 +1,6 @@ -tmpdir/tls-app-rel-le: file format elf32-.*arm -architecture: arm, flags 0x[0-9a-f]+: +tmpdir/tls-app-rel-le: file format elf32-.*arm.* +architecture: armv5t, flags 0x[0-9a-f]+: EXEC_P, HAS_SYMS, D_PAGED start address 0x[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-lib-loc.d b/binutils-2.22/ld/testsuite/ld-arm/tls-lib-loc.d index 2235dcb..8dc4d71 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-lib-loc.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-lib-loc.d @@ -1,6 +1,6 @@ .*: file format elf32-.*arm -architecture: arm, flags 0x00000150: +architecture: armv5t, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-lib.d b/binutils-2.22/ld/testsuite/ld-arm/tls-lib.d index 4580ead..a299fba 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-lib.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-lib.d @@ -1,6 +1,6 @@ -.*: file format elf32-.*arm -architecture: arm, flags 0x00000150: +.*: file format elf32-.*arm.* +architecture: armv4, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-lib.r b/binutils-2.22/ld/testsuite/ld-arm/tls-lib.r index 279b805..3847f77 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-lib.r +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-lib.r @@ -1,5 +1,5 @@ -.*: file format elf32-.*arm +.*: file format elf32-.*arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-mixed.r b/binutils-2.22/ld/testsuite/ld-arm/tls-mixed.r index 79ccdeb..02f9b02 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-mixed.r +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-mixed.r @@ -1,5 +1,5 @@ -.*: file format elf32-.*arm +.*: file format elf32-.*arm.* DYNAMIC RELOCATION RECORDS OFFSET TYPE VALUE diff --git a/binutils-2.22/ld/testsuite/ld-arm/tls-thumb1.d b/binutils-2.22/ld/testsuite/ld-arm/tls-thumb1.d index 808baa8..86c59a4 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/tls-thumb1.d +++ b/binutils-2.22/ld/testsuite/ld-arm/tls-thumb1.d @@ -1,5 +1,5 @@ .*: file format elf32-.*arm -architecture: arm, flags 0x00000150: +architecture: armv4t, flags 0x00000150: HAS_SYMS, DYNAMIC, D_PAGED start address 0x.* diff --git a/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-none.d b/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-none.d index 64a67ae..e1be0e0 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-none.d +++ b/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-none.d @@ -1,5 +1,5 @@ -.*: .*file format elf32-(big|little)arm +.*: .*file format elf32-(big|little)arm.* Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-scalar.d b/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-scalar.d index 5095137..a817af8 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-scalar.d +++ b/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-scalar.d @@ -1,5 +1,5 @@ -.*: .*file format elf32-(big|little)arm +.*: .*file format elf32-(big|little)arm.* Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-vector.d b/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-vector.d index 15c080a..b19645e 100644 --- a/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-vector.d +++ b/binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-vector.d @@ -1,5 +1,5 @@ -.*: .*file format elf32-(big|little)arm +.*: .*file format elf32-(big|little)arm.* Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-bootstrap/bootstrap.exp b/binutils-2.22/ld/testsuite/ld-bootstrap/bootstrap.exp index d0563de..1893873 100644 --- a/binutils-2.22/ld/testsuite/ld-bootstrap/bootstrap.exp +++ b/binutils-2.22/ld/testsuite/ld-bootstrap/bootstrap.exp @@ -155,7 +155,7 @@ foreach flags {"" "strip" "--static" "--traditional-format" # On ia64, tmpdir/ld2 != tmpdir/ld3 is normal since they are # generated by different linkers, tmpdir/ld1 and tmpdir/ld2. # So we rebuild tmpdir/ld2 with tmpdir/ld3. - if ![ld_link tmpdir/ld3 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY"] { + if ![ld_link tmpdir/ld3 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY $extralibs"] { fail $testname continue } @@ -165,7 +165,7 @@ foreach flags {"" "strip" "--static" "--traditional-format" # On Linux/mips, tmpdir/ld2 != tmpdir/ld3 is normal since # they are generated by different linkers, tmpdir/ld1 and # tmpdir/ld2. So we rebuild tmpdir/ld2 with tmpdir/ld3. - if ![ld_link tmpdir/ld3 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY"] { + if ![ld_link tmpdir/ld3 tmpdir/ld2 "$flags $OFILES $BFDLIB $LIBIBERTY $extralibs"] { fail $testname continue } diff --git a/binutils-2.22/ld/testsuite/ld-cris/dso-pltdis1.d b/binutils-2.22/ld/testsuite/ld-cris/dso-pltdis1.d new file mode 100644 index 0000000..4bc3c70 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/dso-pltdis1.d @@ -0,0 +1,61 @@ +#source: dsov32-1.s +#source: dsov32-2.s +#source: dsofn4g.s +#as: --pic --no-underscore --march=v32 --em=criself +#ld: --shared -m crislinux +#objdump: -d -R + +# Check dissassembly of the .plt section, specifically the synthetic +# symbols, in a DSO in which a .got.plt entry has been merged into a +# regular .got entry. There was a bug in which some (i.e. subsequent +# with regards to reloc order) synthetic X@plt entries were wrong if +# there were merged .got entries present; dsofn4@plt below. The +# alternatives in the matching regexps are placeholders for a future +# improvement: synthetic symbols for .plt entries with merged .got +# entries (lost as a consequence of the relocs no longer accounted for +# in .rela.plt and the default synthetic-symbol implementation just +# iterating over .rela.plt). + +.*: file format elf32-cris + +Disassembly of section \.plt: + +0+1b4 <(dsofn4@plt-0x1a|dsofn@plt-0x34)>: + 1b4: 84e2 subq 4,\$sp + 1b6: 0401 addoq 4,\$r0,\$acr + 1b8: 7e7a move \$mof,\[\$sp\] + 1ba: 3f7a move \[\$acr\],\$mof + 1bc: 04f2 addq 4,\$acr + 1be: 6ffa move\.d \[\$acr\],\$acr + 1c0: bf09 jump \$acr + 1c2: b005 nop + \.\.\. +#... + 1ce: 6f0d ..00 0000 addo\.d .* + 1d4: 6ffa move\.d \[\$acr\],\$acr + 1d6: bf09 jump \$acr + 1d8: b005 nop + 1da: 3f7e .... .... move .*,\$mof + 1e0: bf0e .... .... ba .* + 1e6: b005 nop + +0+1e8 <dsofn@plt>: + 1e8: 6f0d ..00 0000 addo\.d .* + 1ee: 6ffa move\.d \[\$acr\],\$acr + 1f0: bf09 jump \$acr + 1f2: b005 nop + 1f4: 3f7e .... .... move .*,\$mof + 1fa: bf0e baff ffff ba 1b4 <(dsofn4@plt-0x1a|dsofn@plt-0x34)> + 200: b005 nop + +Disassembly of section \.text: +#... +0+202 <dsofn3>: + 202: bfbe e6ff ffff bsr 1e8 <dsofn@plt> + 208: b005 nop + +0+20a <dsofn4>: + 20a: 7f0d ae20 0000 lapc 22b8 <_GLOBAL_OFFSET_TABLE_>,\$r0 + 210: 5f0d 1400 addo\.w 0x14,\$r0,\$acr + 214: bfbe baff ffff bsr 1ce <(dsofn4@plt|dsofn@plt-0x1a)> +#pass diff --git a/binutils-2.22/ld/testsuite/ld-cris/dso-pltdis2.d b/binutils-2.22/ld/testsuite/ld-cris/dso-pltdis2.d new file mode 100644 index 0000000..5348a8a --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/dso-pltdis2.d @@ -0,0 +1,54 @@ +#source: dsov32-1.s +#source: dsov32-2.s +#source: dsofng.s +#as: --pic --no-underscore --march=v32 --em=criself +#ld: --shared -m crislinux +#objdump: -d + +# Complement to dso-pltdis1.d; merging the other .got.plt entry. +# Depending on reloc order, one of the tests would fail. + +.*: file format elf32-cris + +Disassembly of section \.plt: + +0+1b4 <(dsofn4@plt-0x1a|dsofn@plt-0x34)>: + + 1b4: 84e2 subq 4,\$sp + 1b6: 0401 addoq 4,\$r0,\$acr + 1b8: 7e7a move \$mof,\[\$sp\] + 1ba: 3f7a move \[\$acr\],\$mof + 1bc: 04f2 addq 4,\$acr + 1be: 6ffa move\.d \[\$acr\],\$acr + 1c0: bf09 jump \$acr + 1c2: b005 nop + \.\.\. + +000001ce <dsofn4@plt>: + 1ce: 6f0d ..00 0000 addo\.d .* + 1d4: 6ffa move\.d \[\$acr\],\$acr + 1d6: bf09 jump \$acr + 1d8: b005 nop + 1da: 3f7e .... .... move .*,\$mof + 1e0: bf0e .... .... ba .* + 1e6: b005 nop +#... + 1e8: 6f0d ..00 0000 addo\.d .* + 1ee: 6ffa move\.d \[\$acr\],\$acr + 1f0: bf09 jump \$acr + 1f2: b005 nop + 1f4: 3f7e .... .... move .*,\$mof + 1fa: bf0e .... .... ba .* + 200: b005 nop + +Disassembly of section \.text: +#... +0+202 <dsofn3>: + 202: bfbe e6ff ffff bsr 1e8 <(dsofn@plt|dsofn4@plt\+0x1a)> + 208: b005 nop + +0+20a <dsofn4>: + 20a: 7f0d ae20 0000 lapc 22b8 <_GLOBAL_OFFSET_TABLE_>,\$r0 + 210: 5f0d ..00 addo\.w 0x..,\$r0,\$acr + 214: bfbe baff ffff bsr 1ce <dsofn4@plt> +#pass diff --git a/binutils-2.22/ld/testsuite/ld-cris/dsofn4g.s b/binutils-2.22/ld/testsuite/ld-cris/dsofn4g.s new file mode 100644 index 0000000..8c13fe9 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/dsofn4g.s @@ -0,0 +1,3 @@ + .text +x: + move.d dsofn4:GOT,$r10 diff --git a/binutils-2.22/ld/testsuite/ld-cris/dsofng.s b/binutils-2.22/ld/testsuite/ld-cris/dsofng.s new file mode 100644 index 0000000..af46471 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/dsofng.s @@ -0,0 +1,3 @@ + .text +x: + move.d dsofn:GOT,$r10 diff --git a/binutils-2.22/ld/testsuite/ld-cris/hiddef1.d b/binutils-2.22/ld/testsuite/ld-cris/hiddef1.d index b3bd87d..0be90a1 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/hiddef1.d +++ b/binutils-2.22/ld/testsuite/ld-cris/hiddef1.d @@ -20,9 +20,9 @@ There are 11 section headers, starting at offset 0x[0-9a-f]+: #... Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries: #... -[0-9a-f]+ 0+c R_CRIS_RELATIVE [0-9a-f]+ +[0-9a-f]+ 0+c R_CRIS_RELATIVE +[0-9a-f]+ #... Symbol table '\.dynsym' contains 6 entries: #... -Symbol table '\.symtab' contains 16 entries: +Symbol table '\.symtab' contains 18 entries: #pass diff --git a/binutils-2.22/ld/testsuite/ld-cris/libdso-2.d b/binutils-2.22/ld/testsuite/ld-cris/libdso-2.d index 165e222..3b4777a 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/libdso-2.d +++ b/binutils-2.22/ld/testsuite/ld-cris/libdso-2.d @@ -27,7 +27,7 @@ There are 13 section headers.* #... Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries: #... -00002[12][0-9a-f][048c] +0000000c R_CRIS_RELATIVE +00000150 +00002[12][0-9a-f][048c] +0000000c R_CRIS_RELATIVE +150 #... Symbol table '\.dynsym' contains 4 entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -49,10 +49,10 @@ Symbol table '\.symtab' contains 18 entries: +8: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 +9: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 +10: 0+2..[046c] +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC - +11: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +ABS __bss_start - +12: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +ABS _edata + +11: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 __bss_start + +12: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 _edata +13: 0+2..[046c] +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ - +14: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +ABS _end + +14: 0+2..[046c] +0 +NOTYPE +LOCAL +DEFAULT +9 _end +15: 0+150 +2 +FUNC +LOCAL +DEFAULT +7 dsofn +16: 0+ +0 +OBJECT +GLOBAL +DEFAULT +ABS TST1 +17: 0+154 +0 +FUNC +GLOBAL +DEFAULT +7 export_1 diff --git a/binutils-2.22/ld/testsuite/ld-cris/pv32-1.d b/binutils-2.22/ld/testsuite/ld-cris/pv32-1.d index 16113a2..c963ed1 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/pv32-1.d +++ b/binutils-2.22/ld/testsuite/ld-cris/pv32-1.d @@ -10,10 +10,10 @@ DYNAMIC SYMBOL TABLE: 0+8021e DF \*UND\* 0+ expfn 0+82324 g DO \.bss 0+4 expobj -0+82324 g D \*ABS\* 0+ __bss_start +0+82324 g D \.bss 0+ __bss_start 0+80238 DF \*UND\* 0+ dsofn3 -0+82324 g D \*ABS\* 0+ _edata -0+82340 g D \*ABS\* 0+ _end +0+82324 g D \.got 0+ _edata +0+82340 g D \.bss 0+ _end 0+80264 g DF \.text 0+8 dsofn Contents of section \.interp: diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d b/binutils-2.22/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d new file mode 100644 index 0000000..0a2ee06 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d @@ -0,0 +1,46 @@ +#source: start1.s +#source: tls-dso-tpoffgotcomm1.s +#as: --no-underscore --pic --em=criself -I$srcdir/$subdir +#ld: -m crislinux -shared +#objdump: -d -h -s -t -r -R -p + +# Make sure we can link a file with TPOFFGOT relocs against common +# symbols. + +.*: file format elf32-cris + +Program Header: + LOAD off 0x0+ vaddr 0x0+ paddr 0x0+ align 2\*\*13 + filesz 0x0+1c8 memsz 0x0+1c8 flags r-x + LOAD off .* + filesz .* + DYNAMIC off .* + filesz .* + TLS off .* vaddr .* paddr .* align 2\*\*2 + filesz 0x0+ memsz 0x0+8 flags r-- +#... +Sections: +#... + 7 .got 0+14 0+2240 0+2240 0+240 2\*\*2 + CONTENTS, ALLOC, LOAD, DATA +SYMBOL TABLE: +#... +0+ g \.tbss 0+4 foo +#... +0+4 g \.tbss 0+4 bar + +#... +Contents of section .got: + 2240 c8210000 00000000 00000000 00000000 .* + 2250 00000000 .* + +Disassembly of section \.text: + +0+1b8 <_start>: + 1b8: 41b2 moveq 1,\$r11 + \.\.\. + +0+1bc <do_test>: + 1bc: 2f0e 0c00 0000 add\.d c <bar\+0x8>,\$r0 + 1c2: 1f1e 1000 add\.w 0x10,\$r1 + \.\.\. diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s b/binutils-2.22/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s new file mode 100644 index 0000000..a7c7421 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s @@ -0,0 +1,9 @@ + .tls_common foo,4,4 + .tls_common bar,4,4 + .text + .align 1 + .type do_test, @function +do_test: + add.d foo:TPOFFGOT,$r0 + add.w bar:TPOFFGOT16,$r1 + .size do_test, .-do_test diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-e-20.d b/binutils-2.22/ld/testsuite/ld-cris/tls-e-20.d index 5771d74..6b4e714 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-e-20.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-e-20.d @@ -40,11 +40,11 @@ SYMBOL TABLE: 0+80098 g F \.text 0+6 tlsdsofn2 0+8 g \.tdata 0+4 \.hidden x2 0+80094 g \.text 0+ _start -0+820dc g \*ABS\* 0+ __bss_start +0+820dc g \.got 0+ __bss_start 0+800a0 g F \.text 0+6 tlsdsofn 0+4 g \.tdata 0+4 \.hidden x1 -0+820dc g \*ABS\* 0+ _edata -0+820e0 g \*ABS\* 0+ _end +0+820dc g \.got 0+ _edata +0+820e0 g \.got 0+ _end 0+800a8 g F \.text 0+6 tlsdsofn10 Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-e-20a.d b/binutils-2.22/ld/testsuite/ld-cris/tls-e-20a.d index 5f52881..13b3be8 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-e-20a.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-e-20a.d @@ -40,7 +40,9 @@ SYMBOL TABLE: 0+820dc l d \.tdata 0+ \.tdata 0+82168 l d \.got 0+ \.got 0+821a4 l d \.data 0+ \.data +0+ l df \*ABS\* 0+ .* 0+ l \.tdata 0+80 tls128 +0+ l df \*ABS\* 0+ .* 0+82168 l O \.got 0+ _GLOBAL_OFFSET_TABLE_ 0+80 g \.tdata 0+4 \.hidden x 0+800c4 g F \.text 0+6 tlsdsofn2 @@ -51,13 +53,13 @@ SYMBOL TABLE: 0+80098 g F \.text 0+2a got7fn 0+821b8 g O \.data 0+4 got7var6 0+80094 g \.text 0+ _start -0+821c0 g \*ABS\* 0+ __bss_start +0+821c0 g \.data 0+ __bss_start 0+821a4 g O \.data 0+4 got7var1 0+821b0 g O \.data 0+4 got7var4 0+800cc g F \.text 0+6 tlsdsofn 0+84 g \.tdata 0+4 \.hidden x1 -0+821c0 g \*ABS\* 0+ _edata -0+821c0 g \*ABS\* 0+ _end +0+821c0 g \.data 0+ _edata +0+821c0 g \.data 0+ _end 0+821a8 g O \.data 0+4 got7var2 0+800d4 g F \.text 0+6 tlsdsofn10 diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-e-80.d b/binutils-2.22/ld/testsuite/ld-cris/tls-e-80.d index 603d581..7a6f459 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-e-80.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-e-80.d @@ -50,11 +50,11 @@ SYMBOL TABLE: 0+4 g \.tdata 0+4 z 0+80094 g \.text 0+ _start 0+80098 g F \.text 0+6 tlsfn -0+820f0 g \*ABS\* 0+ __bss_start +0+820f0 g \.got 0+ __bss_start 0+800b0 g F \.text 0+6 tlsdsofn 0+8 g \.tdata 0+4 \.hidden x1 -0+820f0 g \*ABS\* 0+ _edata -0+82100 g \*ABS\* 0+ _end +0+820f0 g \.got 0+ _edata +0+82100 g \.got 0+ _end 0+10 g \.tbss 0+40 gx 0+800b8 g F \.text 0+6 tlsdsofn10 diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpiecomm1.d b/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpiecomm1.d new file mode 100644 index 0000000..2e0f0f0 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpiecomm1.d @@ -0,0 +1,47 @@ +#source: start1.s +#source: tls-e-tpiecomm1.s +#as: --no-underscore --em=criself -I$srcdir/$subdir +#ld: -m crislinux +#objdump: -d -s -h -t -r -p + +# Make sure we can link a file with IE relocs against common +# symbols and that the values entered in the GOT are right. + +.*: file format elf32-cris + +Program Header: + LOAD off 0x0+ vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*13 + filesz 0x0+a4 memsz 0x0+a4 flags r-x + LOAD off 0x0+a4 vaddr 0x0+820a4 paddr 0x0+820a4 align 2\*\*13 + filesz 0x0+14 memsz 0x0+14 flags rw- + TLS off 0x0+a4 vaddr 0x0+820a4 paddr 0x0+820a4 align 2\*\*2 + filesz 0x0+ memsz 0x0+8 flags r-- +private flags = 0: + +Sections: +Idx Name Size VMA LMA File off Algn + 0 \.text 0+10 0+80094 0+80094 0+94 2\*\*1 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 \.tbss 0+8 0+820a4 0+820a4 0+a4 2\*\*2 + ALLOC, THREAD_LOCAL + 2 \.got 0+14 0+820a4 0+820a4 0+a4 2\*\*2 + CONTENTS, ALLOC, LOAD, DATA +SYMBOL TABLE: +#... +0+ g .tbss 0+4 foo +#... +0+4 g .tbss 0+4 bar +#... +Contents of section \.got: + 820a4 00000000 00000000 00000000 f8ffffff .* + 820b4 fcffffff .* + +Disassembly of section \.text: + +0+80094 <_start>: + 80094: 41b2 moveq 1,\$r11 + \.\.\. + +0+80098 <do_test>: + 80098: 6f0e b020 0800 move\.d 820b0 <_GLOBAL_OFFSET_TABLE_\+0xc>,\$r0 + 8009e: 2f1e b420 0800 add\.d 820b4 <_GLOBAL_OFFSET_TABLE_\+0x10>,\$r1 diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpiecomm1.s b/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpiecomm1.s new file mode 100644 index 0000000..ca9aedc --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpiecomm1.s @@ -0,0 +1,9 @@ + .tls_common foo,4,4 + .tls_common bar,4,4 + .text + .align 1 + .type do_test, @function +do_test: + move.d foo:IE,$r0 + add.d bar:IE,$r1 + .size do_test, .-do_test diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d b/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d index 23d52ee..b1f39ec 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d @@ -23,17 +23,19 @@ Idx Name Size VMA LMA File off Algn 1 .tbss 0+8 0+82084 0+82084 0+84 2\*\*2 ALLOC, THREAD_LOCAL SYMBOL TABLE: -0+80074 l d .text 0+ .text -0+82084 l d .tbss 0+ .tbss -0+80078 l F .text 0+c do_test -0+80074 g .text 0+ _start -0+82084 g \*ABS\* 0+ __bss_start -0+ g .tbss 0+4 foo -0+82084 g \*ABS\* 0+ _edata -0+820a0 g \*ABS\* 0+ _end -0+4 g .tbss 0+4 bar +0+80074 l d \.text 0+ \.text +0+82084 l d \.tbss 0+ \.tbss +0+ l df \*ABS\* 0+ .* +0+80078 l F \.text 0+c do_test +0+ l df \*ABS\* 0+ .* +0+80074 g \.text 0+ _start +0+82084 g \.text 0+ __bss_start +0+ g \.tbss 0+4 foo +0+82084 g \.text 0+ _edata +0+820a0 g \.text 0+ _end +0+4 g \.tbss 0+4 bar #... -Disassembly of section .text: +Disassembly of section \.text: 00080074 <_start>: 80074: 41b2 moveq 1,\$r11 diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffgotcomm1.d b/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffgotcomm1.d new file mode 100644 index 0000000..9d34f68 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffgotcomm1.d @@ -0,0 +1,43 @@ +#source: start1.s +#source: tls-dso-tpoffgotcomm1.s --pic +#as: --no-underscore --em=criself -I$srcdir/$subdir +#ld: -m crislinux +#objdump: -d -s -h -t -p + +# Like tls-dso-tpoffgotcomm1.d but making sure we can link *an +# executable* with TPOFFGOT relocs against common symbols. + +.*: file format elf32-cris + +Program Header: + LOAD off 0x0+ vaddr 0x0+80000 paddr 0x0+80000 align 2\*\*13 + filesz 0x0+a4 memsz 0x0+a4 flags r-x + LOAD off .* + filesz .* + TLS off 0x0+a4 vaddr .* paddr .* align 2\*\*2 + filesz 0x0+ memsz 0x0+8 flags r-- +private flags = 0: + +Sections: +#... + 2 \.got 0+14 0+820a4 0+820a4 0+a4 2\*\*2 + CONTENTS, ALLOC, LOAD, DATA +SYMBOL TABLE: +#... +0+ g \.tbss 0+4 foo +#... +0+4 g \.tbss 0+4 bar +#... +Contents of section .got: + 820a4 00000000 00000000 00000000 f8ffffff .* + 820b4 fcffffff .* + +Disassembly of section \.text: + +0+80094 <_start>: + 80094: 41b2 moveq 1,\$r11 +#... +0+80098 <do_test>: + 80098: 2f0e 0c00 0000 add.d c <bar\+0x8>,\$r0 + 8009e: 1f1e 1000 add.w 0x10,\$r1 + \.\.\. diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-68.d b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-68.d index 60fcc3b..6d3121b 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-68.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-68.d @@ -19,15 +19,15 @@ Program Header: private flags = 0: SYMBOL TABLE: -0+80074 l d .text 0+ .text -0+82078 l d .got 0+ .got -0+82078 l O .got 0+ _GLOBAL_OFFSET_TABLE_ -0+80074 g .text 0+ _start -0+82084 g \*ABS\* 0+ __bss_start -0+82084 g \*ABS\* 0+ _edata -0+820a0 g \*ABS\* 0+ _end +0+80074 l d \.text 0+ \.text +0+82078 l d \.got 0+ \.got +0+82084 l \.got 0+ __bss_start +0+82084 l \.got 0+ _edata +0+82078 l O \.got 0+ _GLOBAL_OFFSET_TABLE_ +0+820a0 l \.got 0+ _end +0+80074 g \.text 0+ _start -Contents of section .text: +Contents of section \.text: 80074 41b20+ .* -Contents of section .got: +Contents of section \.got: 82078 0+ 0+ 0+ .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-69.d b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-69.d index e547ba4..482088c 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-69.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-69.d @@ -20,13 +20,13 @@ Program Header: private flags = 0: SYMBOL TABLE: -0+80074 l d .text 0+ .text -0+82078 l d .got 0+ .got -0+82078 l O .got 0+ _GLOBAL_OFFSET_TABLE_ -0+80074 g .text 0+ _start -0+82084 g \*ABS\* 0+ __bss_start -0+82084 g \*ABS\* 0+ _edata -0+820a0 g \*ABS\* 0+ _end +0+80074 l d \.text 0+ \.text +0+82078 l d \.got 0+ \.got +0+82084 l \.got 0+ __bss_start +0+82084 l \.got 0+ _edata +0+82078 l O \.got 0+ _GLOBAL_OFFSET_TABLE_ +0+820a0 l \.got 0+ _end +0+80074 g \.text 0+ _start Contents of section .text: 80074 41b20+ .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-70.d b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-70.d index d8d5324..83b4c0b 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-70.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-70.d @@ -20,15 +20,15 @@ Program Header: private flags = 0: SYMBOL TABLE: -0+80074 l d .text 0+ .text -0+82078 l d .got 0+ .got -0+82078 l O .got 0+ _GLOBAL_OFFSET_TABLE_ -0+80074 g .text 0+ _start -0+82084 g \*ABS\* 0+ __bss_start -0+82084 g \*ABS\* 0+ _edata -0+820a0 g \*ABS\* 0+ _end +0+80074 l d \.text 0+ \.text +0+82078 l d \.got 0+ \.got +0+82084 l \.got 0+ __bss_start +0+82084 l \.got 0+ _edata +0+82078 l O \.got 0+ _GLOBAL_OFFSET_TABLE_ +0+820a0 l \.got 0+ _end +0+80074 g \.text 0+ _start -Contents of section .text: +Contents of section \.text: 80074 41b20+ .* -Contents of section .got: +Contents of section \.got: 82078 0+ 0+ 0+ .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-71.d b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-71.d index 3ee73fc..b580fd3 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-71.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-71.d @@ -15,18 +15,18 @@ filesz 0x0+80 memsz 0x0+80 flags r-- #... DYNAMIC SYMBOL TABLE: -0+18e l d .text 0+ .text -0+2194 l d .tdata 0+ .tdata -0+18e g DF .text 0+2 _init -0+2280 g D \*ABS\* 0+ __bss_start +0+18e l d \.text 0+ \.text +0+2194 l d \.tdata 0+ \.tdata +0+2280 l D \.got 0+ __bss_start +0+2280 l D \.got 0+ _edata +0+2280 l D \.got 0+ _end +0+18e g DF \.text 0+2 _init 0+ g D .tdata 0+80 tls128 -0+2280 g D \*ABS\* 0+ _edata -0+2280 g D \*ABS\* 0+ _end DYNAMIC RELOCATION RECORDS \(none\) #... -Contents of section .text: +Contents of section \.text: 018e 0f050000 .* #... -Contents of section .got: +Contents of section \.got: 2274 14220000 00000000 00000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-75.d b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-75.d index 2f4257e..472f889 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-75.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-75.d @@ -22,15 +22,15 @@ Program Header: private flags = 0: SYMBOL TABLE: -0+80074 l d .text 0+ .text -0+82078 l d .got 0+ .got -0+82078 l O .got 0+ _GLOBAL_OFFSET_TABLE_ -0+80074 g .text 0+ _start -0+82084 g \*ABS\* 0+ __bss_start -0+82084 g \*ABS\* 0+ _edata -0+820a0 g \*ABS\* 0+ _end +0+80074 l d \.text 0+ \.text +0+82078 l d \.got 0+ \.got +0+82084 l \.got 0+ __bss_start +0+82084 l \.got 0+ _edata +0+82078 l O \.got 0+ _GLOBAL_OFFSET_TABLE_ +0+820a0 l \.got 0+ _end +0+80074 g \.text 0+ _start -Contents of section .text: +Contents of section \.text: 80074 41b20+ .* -Contents of section .got: +Contents of section \.got: 82078 0+ 0+ 0+ .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-76.d b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-76.d index f3c78df..97edbef 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-76.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-76.d @@ -19,20 +19,22 @@ Program Header: private flags = 0: SYMBOL TABLE: -0+80074 l d .text 0+ .text -0+82080 l d .got 0+ .got -0+82090 l d .data 0+ .data -0+82090 l O .data 0+4 gc76var -0+82080 l O .got 0+ _GLOBAL_OFFSET_TABLE_ -0+80074 g .text 0+ _start -0+82094 g \*ABS\* 0+ __bss_start -0+82094 g \*ABS\* 0+ _edata -0+820a0 g \*ABS\* 0+ _end -0+80078 g F .text 0+6 gc76fn +0+80074 l d \.text 0+ \.text +0+82080 l d \.got 0+ \.got +0+82090 l d \.data 0+ \.data +0+ l df \*ABS\* 0+ .* +0+82090 l O \.data 0+4 gc76var +0+ l df \*ABS\* 0+ .* +0+82094 l \.data 0+ __bss_start +0+82094 l \.data 0+ _edata +0+82080 l O \.got 0+ _GLOBAL_OFFSET_TABLE_ +0+820a0 l \.data 0+ _end +0+80074 g \.text 0+ _start +0+80078 g F \.text 0+6 gc76fn -Contents of section .text: +Contents of section \.text: 80074 41b20+ 6fae0c00 0+ .* -Contents of section .got: +Contents of section \.got: 82080 0+ 0+ 0+ 90200800 .* -Contents of section .data: +Contents of section \.data: 82090 0+ .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-79.d b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-79.d index 210f478..424bfb0 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-gc-79.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-gc-79.d @@ -20,15 +20,15 @@ Program Header: private flags = 0: SYMBOL TABLE: -0+80074 l d .text 0+ .text -0+82078 l d .got 0+ .got -0+82078 l O .got 0+ _GLOBAL_OFFSET_TABLE_ -0+80074 g .text 0+ _start -0+82084 g \*ABS\* 0+ __bss_start -0+82084 g \*ABS\* 0+ _edata -0+820a0 g \*ABS\* 0+ _end +0+80074 l d \.text 0+ \.text +0+82078 l d \.got 0+ \.got +0+82084 l \.got 0+ __bss_start +0+82084 l \.got 0+ _edata +0+82078 l O \.got 0+ _GLOBAL_OFFSET_TABLE_ +0+820a0 l \.got 0+ _end +0+80074 g \.text 0+ _start -Contents of section .text: +Contents of section \.text: 80074 41b20+ .* -Contents of section .got: +Contents of section \.got: 82078 0+ 0+ 0+ .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-js1.d b/binutils-2.22/ld/testsuite/ld-cris/tls-js1.d index 2a9223e..0c1509f 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-js1.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-js1.d @@ -20,7 +20,7 @@ #... Relocation section '\.rela\.dyn' at offset 0x20c contains 2 entries: Offset Info Type Sym\.Value Sym\. Name \+ Addend -00002354 0000001e R_CRIS_DTPMOD 00000000 +00002354 0000001e R_CRIS_DTPMOD +0 00002364 0000050a R_CRIS_GLOB_DAT 00002368 expobj \+ 0 Relocation section '\.rela\.plt' at offset 0x224 contains 2 entries: @@ -28,5 +28,5 @@ Relocation section '\.rela\.plt' at offset 0x224 contains 2 entries: 0000235c 0000030b R_CRIS_JUMP_SLOT 00000296 dsofn4 \+ 0 00002360 00000c0b R_CRIS_JUMP_SLOT 000002ae dsofn \+ 0 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. #pass diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-local-63.d b/binutils-2.22/ld/testsuite/ld-cris/tls-local-63.d index f628097..320e717 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-local-63.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-local-63.d @@ -10,9 +10,9 @@ #... Relocation section '.rela.dyn' at offset 0x.* contains 1 entries: Offset Info Type Sym.Value Sym. Name \+ Addend -00002210 0000001c R_CRIS_32_TPREL[ ]+00+ +00002210 0000001c R_CRIS_32_TPREL[ ]+0 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. Symbol table '.dynsym' contains 7 entries: Num: Value Size Type Bind Vis Ndx Name diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-local-64.d b/binutils-2.22/ld/testsuite/ld-cris/tls-local-64.d index f813858..8fb44ee 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-local-64.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-local-64.d @@ -12,14 +12,14 @@ #... Relocation section '.rela.dyn' at offset 0x.* contains 1 entries: Offset Info Type Sym.Value Sym. Name \+ Addend -00002290 0000001c R_CRIS_32_TPREL[ ]+0+80 +00002290 0000001c R_CRIS_32_TPREL[ ]+80 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. Symbol table '.dynsym' contains 7 entries: Num: Value Size Type Bind Vis Ndx Name #... -Symbol table '.symtab' contains 17 entries: +Symbol table '.symtab' contains [0-9]+ entries: #... ..: 00000080 +4 +TLS +LOCAL +DEFAULT +6 x #... diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-und-38.d b/binutils-2.22/ld/testsuite/ld-cris/tls-und-38.d index 314dac5..7830672 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-und-38.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-und-38.d @@ -13,7 +13,7 @@ Relocation section '.rela.dyn' at offset 0x.* contains 1 entries: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend 000021ec +00000217 R_CRIS_DTP +00000000 +x \+ 0 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. Symbol table '.dynsym' contains . entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-und-42.d b/binutils-2.22/ld/testsuite/ld-cris/tls-und-42.d index a996506..db45264 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-und-42.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-und-42.d @@ -13,7 +13,7 @@ Relocation section '.rela.dyn' at offset 0x.* contains 1 entries: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend 000021f4 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. Symbol table '.dynsym' contains . entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-und-46.d b/binutils-2.22/ld/testsuite/ld-cris/tls-und-46.d index 65421a0..92755d4 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-und-46.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-und-46.d @@ -13,7 +13,7 @@ Relocation section '.rela.dyn' at offset 0x.* contains 1 entries: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend 000021e8 +00000217 R_CRIS_DTP +00000000 +x \+ 0 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. Symbol table '.dynsym' contains . entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff --git a/binutils-2.22/ld/testsuite/ld-cris/tls-und-50.d b/binutils-2.22/ld/testsuite/ld-cris/tls-und-50.d index 71f3d90..6814aac 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/tls-und-50.d +++ b/binutils-2.22/ld/testsuite/ld-cris/tls-und-50.d @@ -13,7 +13,7 @@ Relocation section '.rela.dyn' at offset 0x.* contains 1 entries: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend 000021ec +0000021c R_CRIS_32_TPREL +0+ +x \+ 0 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. Symbol table '.dynsym' contains . entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name diff --git a/binutils-2.22/ld/testsuite/ld-cris/weakhiddso.d b/binutils-2.22/ld/testsuite/ld-cris/weakhiddso.d index c0908df..01940f7 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/weakhiddso.d +++ b/binutils-2.22/ld/testsuite/ld-cris/weakhiddso.d @@ -10,13 +10,13 @@ .*: file format elf32-cris DYNAMIC SYMBOL TABLE: -0+2214 l d \.data 0+ .data +0+2214 l d \.data 0+ \.data 0+2214 g DO \.data 0+c x 0+ D \*UND\* 0+ xregobj -0+2220 g D \*ABS\* 0+ __bss_start +0+2220 g D \.data 0+ __bss_start 0+ w D \*UND\* 0+ xweakobj -0+2220 g D \*ABS\* 0+ _edata -0+2220 g D \*ABS\* 0+ _end +0+2220 g D \.data 0+ _edata +0+2220 g D \.data 0+ _end DYNAMIC RELOCATION RECORDS @@ -27,5 +27,5 @@ OFFSET TYPE VALUE Contents of section \.hash: #... -Contents of section .data: +Contents of section \.data: 2214 00000000 00000000 00000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/weakref3.d b/binutils-2.22/ld/testsuite/ld-cris/weakref3.d index 2d3b285..aea3ad6 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/weakref3.d +++ b/binutils-2.22/ld/testsuite/ld-cris/weakref3.d @@ -10,27 +10,27 @@ # object, instead yielding NULL. #... - +\[[0-9]+\] .got +PROGBITS +0+82314 000314 000010 04 +WA +0 +0 +4 + +\[[0-9]+\] .got +PROGBITS +[0-9a-f]* [0-9a-f]* 000010 .* #... - +\[[0-9]+\] .bss +NOBITS +0+82324 .* + +\[[0-9]+\] .bss +NOBITS +[0-9a-f]* [0-9a-f]* 000010 .* #... Relocation section '.rela.dyn' at offset 0x... contains 1 entries: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend -00082324 +00000109 R_CRIS_COPY +00082324 +__expobj2 \+ 0 +.* R_CRIS_COPY .* __expobj2 \+ 0 Relocation section '.rela.plt' at offset 0x... contains 1 entries: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend -00082320 +0000030b R_CRIS_JUMP_SLOT +00080238 +expfn2 \+ 0 +.* R_CRIS_JUMP_SLOT .* expfn2 \+ 0 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. Symbol table '.dynsym' contains . entries: #... - +.: 00082324 +4 +OBJECT +GLOBAL +DEFAULT +13 __expobj2@TST3 \(2\) + +.: [0-9a-f]* +4 +OBJECT +GLOBAL +DEFAULT +13 __expobj2@TST3 \(2\) #... - +.: 00080238 +0 +FUNC +GLOBAL +DEFAULT +UND expfn2@TST3 \(2\) + +.: [0-9a-f]* +0 +FUNC +GLOBAL +DEFAULT +UND expfn2@TST3 \(2\) #... Symbol table '.symtab' contains .. entries: #... Hex dump of section '\.text': - 0x0008024c 41b20000 6fae2423 08006fae 38020800 .* + 0x000801f8 41b20000 6faed022 08006fae e4010800 .* diff --git a/binutils-2.22/ld/testsuite/ld-cris/weakref4.d b/binutils-2.22/ld/testsuite/ld-cris/weakref4.d index b034576..79de291 100644 --- a/binutils-2.22/ld/testsuite/ld-cris/weakref4.d +++ b/binutils-2.22/ld/testsuite/ld-cris/weakref4.d @@ -11,22 +11,22 @@ # sure we get a valid reloc. #... - +\[[0-9]+\] .data +PROGBITS +0+822a4 0002a4 000004 00 +WA +0 +0 +1 + +\[[0-9]+\] .data +PROGBITS +[0-9a-f]* [0-9a-f]* 000004 .* #... - +\[[0-9]+\] .bss +NOBITS +0+822a8 .* + +\[[0-9]+\] .bss +NOBITS +[0-9a-f]* [0-9a-f]* 00000c .* #... Relocation section '.rela.dyn' at offset 0x... contains 1 entries: #... -000822a8 +00000109 R_CRIS_COPY +000822a8 +__expobj2 \+ 0 +.* R_CRIS_COPY .* __expobj2 \+ 0 -There are no unwind sections in this file. +The decoding of unwind sections for machine type Axis Communications 32-bit embedded processor is not currently supported. Symbol table '.dynsym' contains . entries: #... - +.: 000822a8 +4 +OBJECT +GLOBAL +DEFAULT +12 __expobj2@TST3 \(2\) + +.: [0-9a-f]* +4 +OBJECT +GLOBAL +DEFAULT +12 __expobj2@TST3 \(2\) #... Symbol table '.symtab' contains .. entries: #... Hex dump of section '.data': - 0x000822a4 a8220800 .* + 0x00082250 54220800 .* diff --git a/binutils-2.22/ld/testsuite/ld-discard/discard.exp b/binutils-2.22/ld/testsuite/ld-discard/discard.exp index f1038cd..4fd4c43 100644 --- a/binutils-2.22/ld/testsuite/ld-discard/discard.exp +++ b/binutils-2.22/ld/testsuite/ld-discard/discard.exp @@ -1,5 +1,5 @@ # Expect script for ld discard tests -# Copyright 2001, 2002, 2005, 2007, 2010 Free Software Foundation, Inc. +# Copyright 2001, 2002, 2005, 2007, 2010, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -27,6 +27,7 @@ if { ![istarget *-*-linux*] && ![istarget *-*-gnu*] + && ![istarget *-*-nacl*] && ![istarget hppa*64*-*-hpux*] && ![istarget *-*-elf] } { return diff --git a/binutils-2.22/ld/testsuite/ld-elf/binutils.exp b/binutils-2.22/ld/testsuite/ld-elf/binutils.exp index 382d50f..4d91105 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/binutils.exp +++ b/binutils-2.22/ld/testsuite/ld-elf/binutils.exp @@ -1,5 +1,5 @@ # Expect script for binutils tests -# Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -24,6 +24,7 @@ # Make sure that binutils can correctly handle ld output in ELF. if { ![istarget *-*-linux*] + && ![istarget *-*-nacl*] && ![istarget *-*-gnu*]} { return } @@ -109,13 +110,15 @@ binutils_test strip "-z relro" relro1 binutils_test strip "-z relro -shared" relro1 binutils_test objcopy "-z relro" relro1 binutils_test objcopy "-z relro -shared" relro1 -if { ([istarget "i?86-*-elf*"] +if { ([istarget "i?86-*-elf*"] || (([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"]) && ![istarget "*-*-*aout*"] && ![istarget "*-*-*oldld*"]) || [istarget "x86_64-*-linux*"] - || [istarget "amd64-*-linux*"]) } { + || [istarget "amd64-*-linux*"] + || [istarget "i?86-*nacl*"] + || [istarget "x86_64-*nacl*"]) } { binutils_test strip "-z relro -shared" relro2 binutils_test objcopy "-z relro -shared" relro2 } diff --git a/binutils-2.22/ld/testsuite/ld-elf/comm-data.exp b/binutils-2.22/ld/testsuite/ld-elf/comm-data.exp new file mode 100644 index 0000000..2258afb --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/comm-data.exp @@ -0,0 +1,78 @@ +# Expect script for common symbol override. +# +# Copyright 2011, 2012 Free Software Foundation, Inc. +# +# This file is part of the GNU Binutils. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +# +# Written by Maciej W. Rozycki <macro@codesourcery.com> +# + +# Exclude non-ELF targets. +if ![is_elf_format] { + return +} + +# Exclude some more targets; feel free to include your favorite one +# if you like. +if { ![istarget *-*-linux*] + && ![istarget *-*-nacl*] + && ![istarget *-*-gnu*] } { + return +} + +set testname "Common symbol override test" + +# Define a global symbol. +run_ld_link_tests [list \ + [list \ + "$testname (auxiliary shared object build)" \ + "-shared" \ + "" \ + { comm-data1.s } \ + { \ + { readelf -s comm-data1.sd } \ + } \ + "libcomm-data.so" \ + ] \ +] + +# Set the pointer size according to the ELF flavor. +set AFLAGS "" +if [is_elf64 "tmpdir/libcomm-data.so"] { + append AFLAGS " --defsym ELF64=1" +} + +# Verify that a common symbol has been converted to an undefined +# reference to the global symbol of the same name defined above +# and that the debug reference has been dropped. +run_ld_link_tests [list \ + [list \ + "$testname" \ + "-Ltmpdir -lcomm-data" \ + "$AFLAGS" \ + { comm-data2.s } \ + { \ + { readelf -s comm-data2.sd } \ + { readelf -r comm-data2.rd } \ + { readelf "-x .debug_foo" comm-data2.xd } \ + } \ + "comm-data" \ + ] \ +] diff --git a/binutils-2.22/ld/testsuite/ld-elf/comm-data1.s b/binutils-2.22/ld/testsuite/ld-elf/comm-data1.s new file mode 100644 index 0000000..ac20a64 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/comm-data1.s @@ -0,0 +1,6 @@ + .section .rodata,"a",%progbits + .balign 8 + .globl foo + .type foo,%object +foo: + .skip 4, 0 diff --git a/binutils-2.22/ld/testsuite/ld-elf/comm-data1.sd b/binutils-2.22/ld/testsuite/ld-elf/comm-data1.sd new file mode 100644 index 0000000..d00435b --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/comm-data1.sd @@ -0,0 +1,10 @@ +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +#... + +[0-9]+: +[0-9a-f]+ +0 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +foo +#... +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +#... + +[0-9]+: +[0-9a-f]+ +0 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +foo +#pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/comm-data2.rd b/binutils-2.22/ld/testsuite/ld-elf/comm-data2.rd new file mode 100644 index 0000000..b852c16 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/comm-data2.rd @@ -0,0 +1 @@ +There are no relocations in this file\. diff --git a/binutils-2.22/ld/testsuite/ld-elf/comm-data2.s b/binutils-2.22/ld/testsuite/ld-elf/comm-data2.s new file mode 100644 index 0000000..87f981e --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/comm-data2.s @@ -0,0 +1,14 @@ + .text + .globl _start + .globl __start +_start: +__start: + .comm foo, 4, 4 + .section .debug_foo,"",%progbits + .balign 16 + .ifdef ELF64 + .8byte foo + .else + .4byte foo + .endif + .balign 16 diff --git a/binutils-2.22/ld/testsuite/ld-elf/comm-data2.sd b/binutils-2.22/ld/testsuite/ld-elf/comm-data2.sd new file mode 100644 index 0000000..0e44eeb --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/comm-data2.sd @@ -0,0 +1,10 @@ +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +#... + +[0-9]+: +0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +foo +#... +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +#... + +[0-9]+: +0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +foo +#pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/comm-data2.xd b/binutils-2.22/ld/testsuite/ld-elf/comm-data2.xd new file mode 100644 index 0000000..37a6d90 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/comm-data2.xd @@ -0,0 +1,2 @@ +Hex dump of section '\.debug_foo': + +0x0+ +00000000 00000000 00000000 00000000 +\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. diff --git a/binutils-2.22/ld/testsuite/ld-elf/data2.c b/binutils-2.22/ld/testsuite/ld-elf/data2.c new file mode 100644 index 0000000..c137b7c --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/data2.c @@ -0,0 +1,9 @@ +int foo = 0; +extern int foo_alias __attribute__ ((weak, alias ("foo"))); + +void +bar (void) +{ + foo = -1; +} + diff --git a/binutils-2.22/ld/testsuite/ld-elf/eh1.d b/binutils-2.22/ld/testsuite/ld-elf/eh1.d index f0874f7..4455b0d 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/eh1.d +++ b/binutils-2.22/ld/testsuite/ld-elf/eh1.d @@ -1,6 +1,7 @@ #source: eh1.s #source: eh1a.s -#ld: +#as: --64 +#ld: -melf_x86_64 -Ttext 0x400078 #readelf: -wf #target: x86_64-*-* diff --git a/binutils-2.22/ld/testsuite/ld-elf/eh2.d b/binutils-2.22/ld/testsuite/ld-elf/eh2.d index 1a05d7f..c5b5a73 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/eh2.d +++ b/binutils-2.22/ld/testsuite/ld-elf/eh2.d @@ -1,6 +1,7 @@ #source: eh1.s #source: eh2a.s -#ld: +#as: --64 +#ld: -melf_x86_64 -Ttext 0x400078 #readelf: -wf #target: x86_64-*-* diff --git a/binutils-2.22/ld/testsuite/ld-elf/eh3.d b/binutils-2.22/ld/testsuite/ld-elf/eh3.d index 1f76b8c..b3bd756 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/eh3.d +++ b/binutils-2.22/ld/testsuite/ld-elf/eh3.d @@ -1,6 +1,7 @@ #source: eh3.s #source: eh3a.s -#ld: +#as: --64 +#ld: -melf_x86_64 -Ttext 0x400078 #readelf: -wf #target: x86_64-*-* diff --git a/binutils-2.22/ld/testsuite/ld-elf/eh4.d b/binutils-2.22/ld/testsuite/ld-elf/eh4.d index b8f9865..fe3e84b 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/eh4.d +++ b/binutils-2.22/ld/testsuite/ld-elf/eh4.d @@ -1,6 +1,7 @@ #source: eh4.s #source: eh4a.s -#ld: -shared +#as: --64 +#ld: -melf_x86_64 -shared -Ttext 0x400 #readelf: -wf #target: x86_64-*-* @@ -27,6 +28,14 @@ Contents of the .eh_frame section: DW_CFA_set_loc: 00000417 DW_CFA_def_cfa_offset: 80 -00000048 ZERO terminator -#pass +00000048 00000024 0000004c FDE cie=00000000 pc=[0-9a-f]+\.\.[0-9a-f]+ + DW_CFA_def_cfa_offset: 16 + DW_CFA_advance_loc: [0-9a-f]+ to [0-9a-f]+ + DW_CFA_def_cfa_offset: 24 + DW_CFA_advance_loc: [0-9a-f]+ to [0-9a-f]+ + DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0;.* + DW_CFA_nop +#... +[0-9a-f]+ ZERO terminator +#pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/ehdr_start.d b/binutils-2.22/ld/testsuite/ld-elf/ehdr_start.d new file mode 100644 index 0000000..9a82882 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/ehdr_start.d @@ -0,0 +1,8 @@ +#source: ehdr_start.s +#ld: -e _start +#nm: -n +#target: *-*-linux* *-*-gnu* *-*-nacl* + +#... +[0-9a-f]*000 [ADRT] __ehdr_start +#pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/ehdr_start.s b/binutils-2.22/ld/testsuite/ld-elf/ehdr_start.s new file mode 100644 index 0000000..529d510 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/ehdr_start.s @@ -0,0 +1,10 @@ + .text + .globl _start +_start: + .space 16 + + .data + .globl foo +foo: + .weak __ehdr_start + .dc.a __ehdr_start diff --git a/binutils-2.22/ld/testsuite/ld-elf/elf.exp b/binutils-2.22/ld/testsuite/ld-elf/elf.exp index 866c866..9964ccd 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/elf.exp +++ b/binutils-2.22/ld/testsuite/ld-elf/elf.exp @@ -1,5 +1,5 @@ # Expect script for various ELF tests. -# Copyright 2002, 2003, 2005, 2007, 2009, 2010, 2011 +# Copyright 2002, 2003, 2005, 2007, 2009, 2010, 2011, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -37,6 +37,13 @@ if { [istarget alpha*-*-* ] } { set LDFLAGS "$LDFLAGS -Ttext-segment 0x1000000" } +if { [istarget "*-*-nacl*"] } { + # The eh[1-4] cases are written to expect ELFCLASS64 layout on x86-64. + # But the target default is ELFCLASS32. So the cases explicitly use + # -melf_x86_64 to select that, but NaCl needs a different emulation name. + set options_regsub(ld) {-melf_x86_64 -melf_x86_64_nacl} +} + if { [is_remote host] } then { remote_download host merge.ld } @@ -50,6 +57,20 @@ if { ![istarget hppa64*-hpux*] } { "" "" {symbol3w.s} {} "symbol3w.a"} } + + if { [check_shared_lib_support] } then { + run_ld_link_tests { + {"Build pr14170a.o" "" "" "pr14170a.s" {} "pr14170.a" } + } + setup_xfail "tic6x-*-*" + run_ld_link_tests { + {"Build shared library for pr14170" + "-shared" "" "pr14170b.s" {} "pr14170.so" } + {"PR ld/14170" + "tmpdir/pr14170a.o tmpdir/pr14170.so" "" "pr14170c.s" + { } "pr14170" } + } + } } # Run a test to check linking a shared library with a broken linker @@ -58,48 +79,16 @@ if { ![istarget hppa64*-hpux*] } { # should not seg-fault whilst creating the binary. # # Only run the test on targets thats support creating shared libraries. -if { ! [istarget arc-*-*] - && ! [istarget avr-*-*] - && ! [istarget cr16-*-*] - && ! [istarget cris*-*-*] - && ! [istarget crx-*-*] - && ! [istarget d10v-*-*] - && ! [istarget d30v-*-*] - && ! [istarget dlx-*-*] - && ! [istarget fr30-*-*] - && ! [istarget frv-*-*] - && ! [istarget h8300-*-*] - && ! [istarget i860-*-*] - && ! [istarget i960-*-*] - && ! [istarget ip2k-*-*] - && ! [istarget iq2000-*-*] - && ! [istarget lm32-*-*] - && ! [istarget m32c-*-*] - && ! [istarget m32r-*-*] - && ! [istarget mcore*-*-*] - && ! [istarget mep-*-*] - && ! [istarget microblaze-*-*] - && ! [istarget mn10200-*-*] - && ! [istarget moxie-*-*] - && ! [istarget ms1-*-*] - && ! [istarget msp430-*-*] - && ! [istarget openrisc-*-*] - && ! [istarget or32-*-*] - && ! [istarget pj-*-*] - && ! [istarget rx-*-*] - && ! [istarget spu-*-*] - && ! [istarget v850*-*-*] - && ! [istarget xstormy16-*-*] - && ! [istarget *-*-irix*] - && ! [istarget *-*-rtems] } { - run_ld_link_tests { - {"Build shared library for next test" - "-shared" "" "note-3.s" {} "note-3.so" } - {"Link using broken linker script" - "--script note-3.t tmpdir/note-3.so" "" "" - { { ld "note-3.l" } } - "a.out" } - } +if { [check_shared_lib_support] } then { + setup_xfail "tic6x-*-*" + run_ld_link_tests { + {"Build shared library for next test" + "-shared" "" "note-3.s" {} "note-3.so" } + {"Link using broken linker script" + "--script note-3.t tmpdir/note-3.so" "" "" + { { ld "note-3.l" } } + "a.out" } + } } set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] @@ -110,6 +99,7 @@ foreach t $test_list { } if { [istarget *-*-linux*] + || [istarget *-*-nacl*] || [istarget *-*-gnu*] } { run_ld_link_tests { {"Weak symbols in dynamic objects 1 (support)" @@ -138,9 +128,11 @@ if ![isnative] { return } -run_cc_link_tests { - {"PR ld/13195" "-Wl,--gc-sections" "" - {pr13195.c} {} "pr13195"} +if [check_gc_sections_available] { + run_cc_link_tests { + {"PR ld/13195" "-Wl,--gc-sections" "" + {pr13195.c} {} "pr13195"} + } } set array_tests { @@ -167,6 +159,7 @@ set xfails [list "*-*-netbsdelf*"] run_ld_link_exec_tests $xfails $array_tests if { [istarget *-*-linux*] + || [istarget *-*-nacl*] || [istarget *-*-gnu*] } { run_ld_link_exec_tests $xfails $array_tests_pie } diff --git a/binutils-2.22/ld/testsuite/ld-elf/fini0.s b/binutils-2.22/ld/testsuite/ld-elf/fini0.s new file mode 100644 index 0000000..f2ccfb7 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/fini0.s @@ -0,0 +1,16 @@ + .text + .global start /* Used by SH targets. */ +start: + .global _start +_start: + .global __start +__start: + .global main /* Used by HPPA targets. */ +main: + .dc.a 0 + + .section .fini + .p2align 2 +.globl foo + .type foo,%function +foo: diff --git a/binutils-2.22/ld/testsuite/ld-elf/fini1.s b/binutils-2.22/ld/testsuite/ld-elf/fini1.s new file mode 100644 index 0000000..b65d18d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/fini1.s @@ -0,0 +1,6 @@ + .section .fini + .p2align 2 + .type foo1,%function +foo1: + .dc.a 0x0 + .size foo1,.-foo1 diff --git a/binutils-2.22/ld/testsuite/ld-elf/fini2.s b/binutils-2.22/ld/testsuite/ld-elf/fini2.s new file mode 100644 index 0000000..b8d7457 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/fini2.s @@ -0,0 +1,6 @@ + .section .fini + .p2align 6 + .type foo2,%function +foo2: + .dc.a 0x0 + .size foo2,.-foo2 diff --git a/binutils-2.22/ld/testsuite/ld-elf/fini3.s b/binutils-2.22/ld/testsuite/ld-elf/fini3.s new file mode 100644 index 0000000..7f797c5 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/fini3.s @@ -0,0 +1,6 @@ + .section .fini + .p2align 4 + .type foo3,%function +foo3: + .dc.a 0x0 + .size foo3,.-foo3 diff --git a/binutils-2.22/ld/testsuite/ld-elf/finin.s b/binutils-2.22/ld/testsuite/ld-elf/finin.s new file mode 100644 index 0000000..9085080 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/finin.s @@ -0,0 +1,6 @@ + .section .fini + .p2align 8 + .type last,%function +last: + .dc.a 0x0 + .size last,.-last diff --git a/binutils-2.22/ld/testsuite/ld-elf/foo0.s b/binutils-2.22/ld/testsuite/ld-elf/foo0.s new file mode 100644 index 0000000..df71662 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/foo0.s @@ -0,0 +1,16 @@ + .text + .global start /* Used by SH targets. */ +start: + .global _start +_start: + .global __start +__start: + .global main /* Used by HPPA targets. */ +main: + .dc.a 0 + + .section .foo,"ax",%progbits + .p2align 2 +.globl foo + .type foo,%function +foo: diff --git a/binutils-2.22/ld/testsuite/ld-elf/foo1.s b/binutils-2.22/ld/testsuite/ld-elf/foo1.s new file mode 100644 index 0000000..7a88188 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/foo1.s @@ -0,0 +1,6 @@ + .section .foo,"ax",%progbits + .p2align 2 + .type foo1,%function +foo1: + .dc.a 0x0 + .size foo1,.-foo1 diff --git a/binutils-2.22/ld/testsuite/ld-elf/foo2.s b/binutils-2.22/ld/testsuite/ld-elf/foo2.s new file mode 100644 index 0000000..433a7cc --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/foo2.s @@ -0,0 +1,6 @@ + .section .foo,"ax",%progbits + .p2align 6 + .type foo2,%function +foo2: + .dc.a 0x0 + .size foo2,.-foo2 diff --git a/binutils-2.22/ld/testsuite/ld-elf/foo3.s b/binutils-2.22/ld/testsuite/ld-elf/foo3.s new file mode 100644 index 0000000..24c3005 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/foo3.s @@ -0,0 +1,6 @@ + .section .foo,"ax",%progbits + .p2align 4 + .type foo3,%function +foo3: + .dc.a 0x0 + .size foo3,.-foo3 diff --git a/binutils-2.22/ld/testsuite/ld-elf/foon.s b/binutils-2.22/ld/testsuite/ld-elf/foon.s new file mode 100644 index 0000000..9aa3b85 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/foon.s @@ -0,0 +1,6 @@ + .section .foo,"ax",%progbits + .p2align 8 + .type last,%function +last: + .dc.a 0x0 + .size last,.-last diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect.exp b/binutils-2.22/ld/testsuite/ld-elf/indirect.exp new file mode 100644 index 0000000..165f89a --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect.exp @@ -0,0 +1,126 @@ +# Expect script for various indirect symbol tests. +# Copyright 2012 Free Software Foundation, Inc. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. +# + +# +# Written by H.J. Lu (hongjiu.lu@intel.com) +# + +# Exclude non-ELF targets. + +if ![is_elf_format] { + return +} + +# Check if compiler works +if { [which $CC] == 0 } { + return +} + +proc check_link_message { cmd string testname } { + send_log "$cmd\n" + verbose "$cmd" + catch "exec $cmd" exec_output + send_log "$exec_output\n" + verbose "$exec_output" + + foreach str $string { + if [string match "*$str*" $exec_output] { + pass "$testname: $str" + } else { + fail "$testname: $str" + } + } +} + +if { ![ld_compile $CC $srcdir/$subdir/indirect1a.c tmpdir/indirect1a.o] + || ![ld_compile $CC $srcdir/$subdir/indirect1b.c tmpdir/indirect1b.o] + || ![ld_compile "$CC -fPIC" $srcdir/$subdir/indirect2.c tmpdir/indirect2.o] + || ![ld_compile $CC $srcdir/$subdir/indirect3a.c tmpdir/indirect3a.o] + || ![ld_compile $CC $srcdir/$subdir/indirect3b.c tmpdir/indirect3b.o] + || ![ld_compile $CC $srcdir/$subdir/indirect4a.c tmpdir/indirect4a.o] + || ![ld_compile $CC $srcdir/$subdir/indirect4b.c tmpdir/indirect4b.o] } { + unresolved "Indirect symbol tests" + return +} + +set build_tests { + {"Build libindirect1c.so" + "-shared" "-fPIC" + {indirect1c.c} {} "libindirect1c.so"} + {"Build libindirect3c.so" + "-shared" "-fPIC" + {indirect3c.c} {} "libindirect3c.so"} + {"Build libindirect4c.so" + "-shared" "-fPIC" + {indirect4c.c} {} "libindirect4c.so"} +} + +run_cc_link_tests $build_tests + +global ld + +set string ": final link failed: Bad value" +set string1 ": local symbol \`foo\' in tmpdir/indirect1b.o is referenced by DSO" + +set testname "Indirect symbol 1a" +set cmd "$ld -e start -o tmpdir/indirect1 tmpdir/indirect1a.o tmpdir/indirect1b.o tmpdir/libindirect1c.so" +check_link_message "$cmd" [list $string1 $string] "$testname" + +set testname "Indirect symbol 1b" +set cmd "$ld -e start -o tmpdir/indirect1 tmpdir/indirect1a.o tmpdir/libindirect1c.so tmpdir/indirect1b.o" +check_link_message "$cmd" [list $string1 $string] "$testname" + +set string ": final link failed: Nonrepresentable section on output" +set string2 ": No symbol version section for versioned symbol \`foo@FOO\'" +set testname "Indirect symbol 2" +set cmd "$ld -shared -o tmpdir/indirect2.so tmpdir/indirect2.o" +check_link_message "$cmd" [list $string2 $string] "$testname" + +# The following tests require running the executable generated by ld. +if ![isnative] { + return +} + +set run_tests { + {"Run with libindirect3c.so 1" + "tmpdir/indirect3a.o tmpdir/indirect3b.o tmpdir/libindirect3c.so" "" + {dummy.c} "indirect3a" "indirect3.out"} + {"Run with libindirect3c.so 2" + "tmpdir/indirect3a.o tmpdir/libindirect3c.so tmpdir/indirect3b.o" "" + {dummy.c} "indirect3b" "indirect3.out"} + {"Run with libindirect3c.so 3" + "tmpdir/indirect3b.o tmpdir/libindirect3c.so tmpdir/indirect3a.o" "" + {dummy.c} "indirect3c" "indirect3.out"} + {"Run with libindirect3c.so 4" + "tmpdir/libindirect3c.so tmpdir/indirect3b.o tmpdir/indirect3a.o" "" + {dummy.c} "indirect3d" "indirect3.out"} + {"Run with libindirect4c.so 1" + "tmpdir/indirect4a.o tmpdir/indirect4b.o tmpdir/libindirect4c.so" "" + {dummy.c} "indirect4a" "indirect4.out"} + {"Run with libindirect4c.so 2" + "tmpdir/indirect4a.o tmpdir/libindirect4c.so tmpdir/indirect4b.o" "" + {dummy.c} "indirect4b" "indirect4.out"} + {"Run with libindirect4c.so 3" + "tmpdir/indirect4b.o tmpdir/libindirect4c.so tmpdir/indirect4a.o" "" + {dummy.c} "indirect4c" "indirect4.out"} + {"Run with libindirect4c.so 4" + "tmpdir/libindirect4c.so tmpdir/indirect4b.o tmpdir/indirect4a.o" "" + {dummy.c} "indirect4d" "indirect4.out"} +} + +run_ld_link_exec_tests [] $run_tests diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect1a.c b/binutils-2.22/ld/testsuite/ld-elf/indirect1a.c new file mode 100644 index 0000000..6931542 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect1a.c @@ -0,0 +1,8 @@ +extern void bar (void); + +int +start (void) +{ + bar (); + return 0; +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect1b.c b/binutils-2.22/ld/testsuite/ld-elf/indirect1b.c new file mode 100644 index 0000000..51740f9 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect1b.c @@ -0,0 +1,6 @@ +void +foo (void) +{ +} + +asm (".symver foo,foo@FOO"); diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect1c.c b/binutils-2.22/ld/testsuite/ld-elf/indirect1c.c new file mode 100644 index 0000000..eae278d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect1c.c @@ -0,0 +1,7 @@ +extern void foo (void); + +void +bar (void) +{ + foo (); +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect2.c b/binutils-2.22/ld/testsuite/ld-elf/indirect2.c new file mode 100644 index 0000000..6df29be --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect2.c @@ -0,0 +1,9 @@ +extern void foo (void); + +asm (".symver foo,foo@@@FOO"); + +void +bar (void) +{ + foo (); +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect3.out b/binutils-2.22/ld/testsuite/ld-elf/indirect3.out new file mode 100644 index 0000000..482e981 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect3.out @@ -0,0 +1,2 @@ +MAIN +DSO diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect3a.c b/binutils-2.22/ld/testsuite/ld-elf/indirect3a.c new file mode 100644 index 0000000..0f6ddc8 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect3a.c @@ -0,0 +1,10 @@ +extern void bar (void); +extern void foo (void); + +int +main (void) +{ + foo (); + bar (); + return 0; +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect3b.c b/binutils-2.22/ld/testsuite/ld-elf/indirect3b.c new file mode 100644 index 0000000..dbb37c3 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect3b.c @@ -0,0 +1,9 @@ +#include <stdio.h> + +void +foo (void) +{ + printf ("MAIN\n"); +} + +asm (".symver foo,foo@FOO"); diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect3c.c b/binutils-2.22/ld/testsuite/ld-elf/indirect3c.c new file mode 100644 index 0000000..b52cb95 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect3c.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +extern void foo (void); + +void +foo (void) +{ + printf ("DSO\n"); +} + +void +bar (void) +{ + foo (); +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect4.out b/binutils-2.22/ld/testsuite/ld-elf/indirect4.out new file mode 100644 index 0000000..3b34ee4 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect4.out @@ -0,0 +1,2 @@ +MAIN2 +MAIN2 diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect4a.c b/binutils-2.22/ld/testsuite/ld-elf/indirect4a.c new file mode 100644 index 0000000..0f6ddc8 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect4a.c @@ -0,0 +1,10 @@ +extern void bar (void); +extern void foo (void); + +int +main (void) +{ + foo (); + bar (); + return 0; +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect4b.c b/binutils-2.22/ld/testsuite/ld-elf/indirect4b.c new file mode 100644 index 0000000..b8db9d0 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect4b.c @@ -0,0 +1,17 @@ +#include <stdio.h> + +void +foo2 (void) +{ + printf ("MAIN2\n"); +} + +asm (".symver foo2,foo@@FOO2"); + +void +foo1 (void) +{ + printf ("MAIN1\n"); +} + +asm (".symver foo1,foo@FOO1"); diff --git a/binutils-2.22/ld/testsuite/ld-elf/indirect4c.c b/binutils-2.22/ld/testsuite/ld-elf/indirect4c.c new file mode 100644 index 0000000..b52cb95 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/indirect4c.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +extern void foo (void); + +void +foo (void) +{ + printf ("DSO\n"); +} + +void +bar (void) +{ + foo (); +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/init-mixed.c b/binutils-2.22/ld/testsuite/ld-elf/init-mixed.c index 770a4b5..f401ded 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/init-mixed.c +++ b/binutils-2.22/ld/testsuite/ld-elf/init-mixed.c @@ -1,8 +1,7 @@ +#include "config.h" #include <stdio.h> #include <stdlib.h> -#include "config.h" - #ifdef HAVE_INITFINI_ARRAY static int count; diff --git a/binutils-2.22/ld/testsuite/ld-elf/init0.s b/binutils-2.22/ld/testsuite/ld-elf/init0.s new file mode 100644 index 0000000..3c8cf8c --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/init0.s @@ -0,0 +1,16 @@ + .text + .global start /* Used by SH targets. */ +start: + .global _start +_start: + .global __start +__start: + .global main /* Used by HPPA targets. */ +main: + .dc.a 0 + + .section .init + .p2align 2 +.globl foo + .type foo,%function +foo: diff --git a/binutils-2.22/ld/testsuite/ld-elf/init1.s b/binutils-2.22/ld/testsuite/ld-elf/init1.s new file mode 100644 index 0000000..5d24ec2 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/init1.s @@ -0,0 +1,6 @@ + .section .init + .p2align 2 + .type foo1,%function +foo1: + .dc.a 0x0 + .size foo1,.-foo1 diff --git a/binutils-2.22/ld/testsuite/ld-elf/init2.s b/binutils-2.22/ld/testsuite/ld-elf/init2.s new file mode 100644 index 0000000..2c5c353 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/init2.s @@ -0,0 +1,6 @@ + .section .init + .p2align 6 + .type foo2,%function +foo2: + .dc.a 0x0 + .size foo2,.-foo2 diff --git a/binutils-2.22/ld/testsuite/ld-elf/init3.s b/binutils-2.22/ld/testsuite/ld-elf/init3.s new file mode 100644 index 0000000..d6639ce --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/init3.s @@ -0,0 +1,6 @@ + .section .init + .p2align 4 + .type foo3,%function +foo3: + .dc.a 0x0 + .size foo3,.-foo3 diff --git a/binutils-2.22/ld/testsuite/ld-elf/initn.s b/binutils-2.22/ld/testsuite/ld-elf/initn.s new file mode 100644 index 0000000..8931e52 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/initn.s @@ -0,0 +1,6 @@ + .section .init + .p2align 8 + .type last,%function +last: + .dc.a 0x0 + .size last,.-last diff --git a/binutils-2.22/ld/testsuite/ld-elf/linkoncerdiff.d b/binutils-2.22/ld/testsuite/ld-elf/linkoncerdiff.d index 8eec3d2..06d08c1 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/linkoncerdiff.d +++ b/binutils-2.22/ld/testsuite/ld-elf/linkoncerdiff.d @@ -2,5 +2,6 @@ #source: linkoncerdiff2.s #ld: -r #readelf: -r +#notarget: hppa64*-*-hpux* There are no relocations in this file. #pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr11304a.s b/binutils-2.22/ld/testsuite/ld-elf/pr11304a.s index 22fbbee..75fcd37 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/pr11304a.s +++ b/binutils-2.22/ld/testsuite/ld-elf/pr11304a.s @@ -1,4 +1,4 @@ -.section .zzz,"ax",%progbits -.long 0 -.text -.long 0 + .section .zzz,"ax",%progbits + .long 0 + .text + .long 0 diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr11304b.s b/binutils-2.22/ld/testsuite/ld-elf/pr11304b.s index 22fbbee..75fcd37 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/pr11304b.s +++ b/binutils-2.22/ld/testsuite/ld-elf/pr11304b.s @@ -1,4 +1,4 @@ -.section .zzz,"ax",%progbits -.long 0 -.text -.long 0 + .section .zzz,"ax",%progbits + .long 0 + .text + .long 0 diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr13839.d b/binutils-2.22/ld/testsuite/ld-elf/pr13839.d new file mode 100644 index 0000000..fc63a90 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr13839.d @@ -0,0 +1,6 @@ +#ld: -T pr13839.t +#nm: -n + +#... +[0-9a-f]+ T _text +#pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr13839.s b/binutils-2.22/ld/testsuite/ld-elf/pr13839.s new file mode 100644 index 0000000..3d132f6 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr13839.s @@ -0,0 +1,10 @@ + .text + .globl main + .globl start + .globl _start + .globl __start +main: +start: +_start: +__start: + .byte 0 diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr13839.t b/binutils-2.22/ld/testsuite/ld-elf/pr13839.t new file mode 100644 index 0000000..6baa228 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr13839.t @@ -0,0 +1,9 @@ +SECTIONS { + .text : { + _text = .; + *(.text) + } + _end = .; + /DISCARD/ : { *(.*) } +} +. = ASSERT((_end - _text <= (512 * 1024 * 1024)), "foo"); diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14052.d b/binutils-2.22/ld/testsuite/ld-elf/pr14052.d new file mode 100644 index 0000000..dc893a3 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14052.d @@ -0,0 +1,8 @@ +#source: start.s +#ld: -T pr14052.t +#readelf: -s + +#failif +#... + +[0-9]+: +[0-9a-f]+ +0 +(OBJECT|NOTYPE) +GLOBAL +DEFAULT +ABS _data_start +#... diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14052.t b/binutils-2.22/ld/testsuite/ld-elf/pr14052.t new file mode 100644 index 0000000..360c231 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14052.t @@ -0,0 +1,11 @@ +SECTIONS { + .text : { + *(.text) + } + . = ALIGN (0x1000); + .data : { + _data_start = .; + *(.data) + } + /DISCARD/ : { *(.*) } +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14156a.d b/binutils-2.22/ld/testsuite/ld-elf/pr14156a.d new file mode 100644 index 0000000..6476857 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14156a.d @@ -0,0 +1,15 @@ +#source: init0.s +#source: init1.s +#source: init2.s +#source: init3.s +#source: initn.s +#ld: --sort-section=alignment +#nm: -n + +#... +[0-9a-f]+ T foo +[0-9a-f]+ t foo1 +[0-9a-f]+ t foo2 +[0-9a-f]+ t foo3 +[0-9a-f]+ t last +#pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14156b.d b/binutils-2.22/ld/testsuite/ld-elf/pr14156b.d new file mode 100644 index 0000000..ae9fa05 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14156b.d @@ -0,0 +1,15 @@ +#source: fini0.s +#source: fini1.s +#source: fini2.s +#source: fini3.s +#source: finin.s +#ld: --sort-section=alignment +#nm: -n + +#... +[0-9a-f]+ T foo +[0-9a-f]+ t foo1 +[0-9a-f]+ t foo2 +[0-9a-f]+ t foo3 +[0-9a-f]+ t last +#pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14156c.d b/binutils-2.22/ld/testsuite/ld-elf/pr14156c.d new file mode 100644 index 0000000..90ca401 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14156c.d @@ -0,0 +1,15 @@ +#source: foo0.s +#source: foo1.s +#source: foo2.s +#source: foo3.s +#source: foon.s +#ld: --sort-section=alignment -T pr14156c.t +#nm: -n + +#... +[0-9a-f]+ T foo +[0-9a-f]+ t foo1 +[0-9a-f]+ t foo2 +[0-9a-f]+ t foo3 +[0-9a-f]+ t last +#pass diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14156c.t b/binutils-2.22/ld/testsuite/ld-elf/pr14156c.t new file mode 100644 index 0000000..97ad77d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14156c.t @@ -0,0 +1,4 @@ +SECTIONS { + .foo : { *(SORT_NONE(.foo)) } + /DISCARD/ : { *(.*) } +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14170a.s b/binutils-2.22/ld/testsuite/ld-elf/pr14170a.s new file mode 100644 index 0000000..4264eee --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14170a.s @@ -0,0 +1,13 @@ + + .global start /* Used by SH targets. */ +start: + .global _start +_start: + .global __start +__start: + .global main /* Used by HPPA targets. */ +main: + + .data + .dc.a foo + .dc.a bar diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14170b.s b/binutils-2.22/ld/testsuite/ld-elf/pr14170b.s new file mode 100644 index 0000000..818f975 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14170b.s @@ -0,0 +1,11 @@ + .data + .type foo,%object + .globl foo +foo: + .dc.a 0 + .size foo, . - foo + .type foo,%object + .globl bar +bar: + .dc.a 0 + .size bar, . - bar diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14170c.s b/binutils-2.22/ld/testsuite/ld-elf/pr14170c.s new file mode 100644 index 0000000..a47b67b --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14170c.s @@ -0,0 +1,2 @@ + .hidden foo + .comm foo,4,4 diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14323-1.c b/binutils-2.22/ld/testsuite/ld-elf/pr14323-1.c new file mode 100644 index 0000000..9f63f4c --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14323-1.c @@ -0,0 +1,17 @@ +#include <stdlib.h> +#include <stdio.h> + +extern int foo_alias; +extern char *bar (); + +int +main () +{ + if (foo_alias != 0) + abort (); + bar (); + if (foo_alias != -1) + abort (); + printf ("PASS\n"); + return 0; +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/pr14323-2.c b/binutils-2.22/ld/testsuite/ld-elf/pr14323-2.c new file mode 100644 index 0000000..34753d1 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/pr14323-2.c @@ -0,0 +1,13 @@ +int foo __attribute__ ((section ("_data_foo"))) = 0; +extern int foo_alias __attribute__ ((weak, alias ("foo"))); +extern char __start__data_foo; +asm (".type __start__data_foo,%object"); +int x1 = 1; +int x2 = 2; + +char * +bar () +{ + foo = -1; + return &__start__data_foo; +} diff --git a/binutils-2.22/ld/testsuite/ld-elf/shared.exp b/binutils-2.22/ld/testsuite/ld-elf/shared.exp index 9cd0221..c00f3e5 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/shared.exp +++ b/binutils-2.22/ld/testsuite/ld-elf/shared.exp @@ -1,5 +1,6 @@ # Expect script for various ELF tests. -# Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 +# Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -126,6 +127,9 @@ set build_tests { {"Build libdata1.so" "-shared" "-fPIC" {data1.c} {} "libdata1.so"} + {"Build libdata2.so" + "-shared" "-fPIC" + {data2.c} {} "libdata2.so"} {"Build libcomm1.o" "-r -nostdlib" "" {comm1.c} {} "libcomm1.o"} @@ -161,11 +165,14 @@ set build_tests { "-shared" "-fPIC" {pr13250-1.c} {} "libpr13250-1.so"} {"Build pr13250-2.so with libpr13250-1.so" - "-shared tmpdir/libpr13250-1.so" "-fPIC" + "-shared -Wl,--no-as-needed tmpdir/libpr13250-1.so" "-fPIC" {pr13250-2.c} {} "libpr13250-2.so"} {"Build libpr13250-3.o" "-r -nostdlib" "" {pr13250-3.c} {} "libpr13250-3.o"} + {"Build libpr14323-2.so" + "-shared" "-fPIC" + {pr14323-2.c} {} "libpr14323-2.so"} } run_cc_link_tests $build_tests @@ -280,6 +287,9 @@ set run_tests { {"Run with libdata1.so" "tmpdir/libdata1.so" "" {dynbss1.c} "dynbss1" "pass.out"} + {"Run with libdata2.so" + "tmpdir/libdata2.so" "" + {weakdef1.c} "weakdef1" "pass.out"} {"Run with libfunc1.so comm1.o" "tmpdir/libfunc1.so tmpdir/comm1.o" "" {dummy.c} "comm1" "pass.out"} @@ -295,6 +305,9 @@ set run_tests { {"Run with pr13250-3.c, libpr13250-1.so and libpr13250-2.so" "--as-needed tmpdir/pr13250-3.o tmpdir/libpr13250-1.so tmpdir/libpr13250-2.so" "" {dummy.c} "pr13250" "pass.out"} + {"Run with pr14323-1.c pr14323-2.so" + "tmpdir/libpr14323-2.so" "" + {pr14323-1.c} "pr14323" "pass.out"} } # NetBSD ELF systems do not currently support the .*_array sections. @@ -325,14 +338,14 @@ set build_cxx_tests { set run_cxx_tests { {"Run with libdl3a.so" - "tmpdir/libdl3a.so" "" + "-Wl,--no-as-needed tmpdir/libdl3a.so" "" {dl3main.cc} "dl3a" "dl3a.out" "" "c++"} # "-shared -Bsymbolic" only works with gcc 4.5.0 and newer. # {"Run with libdl3b.so" # "tmpdir/libdl3b.so" "" # {dl3main.cc} "dl3b" "dl3b.out" "" "c++"} {"Run with libdl3c.so" - "tmpdir/libdl3c.so" "" + "-Wl,--no-as-needed tmpdir/libdl3c.so" "" {dl3main.cc} "dl3c" "dl3a.out" "" "c++"} {"Run with libnew1a.so" "tmpdir/libnew1a.so" "" diff --git a/binutils-2.22/ld/testsuite/ld-elf/tls_common.exp b/binutils-2.22/ld/testsuite/ld-elf/tls_common.exp index 77dca2c..fee4031 100644 --- a/binutils-2.22/ld/testsuite/ld-elf/tls_common.exp +++ b/binutils-2.22/ld/testsuite/ld-elf/tls_common.exp @@ -1,5 +1,5 @@ # Expect script for .tls_common tests -# Copyright 2006, 2007, 2010 Free Software Foundation, Inc. +# Copyright 2006, 2007, 2010, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -24,6 +24,7 @@ # Make sure that binutils can correctly handle ld output in ELF. if { ![istarget *-*-linux*] + && ![istarget *-*-nacl*] && ![istarget *-*-gnu*] } { return } @@ -60,7 +61,7 @@ if { ![ld_simple_link $ld tmpdir/tls_common "tmpdir/tls_common1.o"] } { unresolved "tls_common" } return -} +} set readelf_output [run_host_cmd "$READELF" "-l --wide tmpdir/tls_common"] if ![regexp ".*TLS.*0x0+ 0x0+4 R .*" $readelf_output] then { diff --git a/binutils-2.22/ld/testsuite/ld-elf/weakdef1.c b/binutils-2.22/ld/testsuite/ld-elf/weakdef1.c new file mode 100644 index 0000000..82642bb --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-elf/weakdef1.c @@ -0,0 +1,15 @@ +#include <stdio.h> +#include <stdlib.h> + +extern int foo_alias; +extern void bar (void); + +int +main (void) +{ + bar (); + if (foo_alias != -1) + abort (); + printf ("PASS\n"); + return 0; +} diff --git a/binutils-2.22/ld/testsuite/ld-elfvers/vers.exp b/binutils-2.22/ld/testsuite/ld-elfvers/vers.exp index d1c2228..4bea6e4 100644 --- a/binutils-2.22/ld/testsuite/ld-elfvers/vers.exp +++ b/binutils-2.22/ld/testsuite/ld-elfvers/vers.exp @@ -1,6 +1,6 @@ # Expect script for ld-version tests # Copyright 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, -# 2009, 2010 Free Software Foundation, Inc. +# 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -36,6 +36,7 @@ if { ![istarget hppa*64*-*-hpux*] && ![istarget i?86-*-elf*] && ![istarget i?86-*-linux*] && ![istarget i?86-*-gnu*] + && ![istarget i?86-*-nacl*] && ![istarget ia64-*-elf*] && ![istarget ia64-*-linux*] && ![istarget m68k-*-linux*] @@ -51,7 +52,8 @@ if { ![istarget hppa*64*-*-hpux*] && ![istarget alpha*-*-linux*] && ![istarget s390*-*-linux*] && ![istarget sh\[34\]*-*-linux*] - && ![istarget x86_64-*-linux*] } { + && ![istarget x86_64-*-linux*] + && ![istarget x86_64-*-nacl*] } { return } @@ -72,7 +74,9 @@ set SOBJDUMP_FLAGS --syms set shared "--shared --no-undefined-version" set script --version-script -if [istarget mips*-*-*] { +# Old version of GCC for MIPS default to enabling -fpic +# and get confused if it is used on the command line. +if { [istarget mips*-*-*] && ! [at_least_gcc_version 4 3] } then { set picflag "" } else { # Unfortunately, the gcc argument is -fpic and the cc argument is @@ -117,7 +121,7 @@ proc test_ar { test lib object expect } { unresolved "$test" return } - + verbose -log "$nm --print-armap $tmpdir/$lib | grep \" in \" | egrep \"VERS\\|bar\\|foo\" | sort > $tmpdir/nm.out" catch "exec $nm --print-armap $tmpdir/$lib | grep \\\ in\\\ | egrep VERS\\\|bar\\\|foo | sort > $tmpdir/nm.out" exec_output @@ -259,7 +263,7 @@ proc objdump_symstuff { objdump object expectfile } { perror "$expectfile doesn't exist" return 0 } - + if [file exists $tmpdir/objdump.out] then { set file_b [open $tmpdir/objdump.out r] } else { @@ -289,11 +293,11 @@ proc objdump_symstuff { objdump object expectfile } { } } close $file_b - + for { set i 0 } { $i < [llength $list_a] } { incr i } { set line_a [lindex $list_a $i] set line_b [lindex $list_b $i] - + verbose "\t$expectfile: $i: $line_a" 3 verbose "\t/tmp/objdump.out: $i: $line_b" 3 @@ -302,20 +306,20 @@ proc objdump_symstuff { objdump object expectfile } { } else { verbose -log "\t$expectfile: $i: $line_a" verbose -log "\t$tmpdir/objdump.out: $i: $line_b" - + return 0 } } - + if { [llength $list_a] != [llength $list_b] } { verbose -log "Line count" return 0 } - + if $differences<1 then { return 1 } - + return 0 } else { verbose -log "$exec_output" @@ -354,7 +358,7 @@ proc objdump_dynsymstuff { objdump object expectfile } { warning "$expectfile doesn't exist" return 0 } - + if [file exists $tmpdir/objdump.out] then { set file_b [open $tmpdir/objdump.out r] } else { @@ -384,7 +388,7 @@ proc objdump_dynsymstuff { objdump object expectfile } { } } close $file_b - + # Support empty files. if { ![info exists list_a] && ![info exists list_b] } then { return 1 @@ -392,12 +396,12 @@ proc objdump_dynsymstuff { objdump object expectfile } { for { set i 0 } { $i < [llength $list_b] } { incr i } { set line_b [lindex $list_b $i] - + # The tests are rigged so that we should never export a symbol with the # word 'hide' in it. Thus we just search for it, and bail if we find it. if [regexp "hide" $line_b] then { verbose -log "\t$tmpdir/objdump.out: $i: $line_b" - + return 0 } @@ -417,20 +421,20 @@ proc objdump_dynsymstuff { objdump object expectfile } { if { $j >= [llength $list_a] } { verbose -log "\t$tmpdir/objdump.out: $i: $line_b" - + return 0 } } - + if { [llength $list_a] != [llength $list_b] } { verbose -log "Line count" return 0 } - + if $differences<1 then { return 1 } - + return 0 } else { verbose -log "$exec_output" @@ -562,7 +566,7 @@ proc build_binary { shared pic test source libname other mapfile verexp versymex } pass $test - + } proc build_executable { test source libname other mapfile verexp versymexp symexp } { @@ -676,12 +680,12 @@ proc test_strip_vers_lib { test srclib libname verexp versymexp } { fail "$test" return } - + if {![objdump_dynsymstuff $objdump $tmpdir/$libname.so $srcdir/$subdir/$versymexp ]} { fail "$test" return } - + } else { verbose -log "$exec_output" fail "$test" @@ -768,8 +772,9 @@ proc build_exec { test source execname flags solibname verexp versymexp symexp } pass $test } -if [istarget x86_64-*-linux*] { - # x86_64 doesn't like non-pic shared libraries +if { [istarget x86_64-*-linux*] \ + || ( [istarget mips*-*-linux*] && [at_least_gcc_version 4 3] ) } { + # x86_64 and newer MIPS toolchains do not like non-pic shared libraries set pic "yes" } else { set pic "no" @@ -873,15 +878,15 @@ test_ar "ar with versioned solib" vers13.a vers1.so vers13.asym # # Strip a shared library, and make sure we didn't screw something up in there. # -test_strip_vers_lib "vers14" vers1.so vers14 vers1.ver vers1.dsym +test_strip_vers_lib "vers14" vers1.so vers14 vers1.ver vers1.dsym # -# Build another test with some versioned symbols. Here we are going to +# Build another test with some versioned symbols. Here we are going to # try and override something from the library, and we shouldn't get # any errors. # -build_exec "vers15" vers15.c vers15 "" vers1.so vers15.ver vers15.dsym vers15.sym +build_exec "vers15" vers15.c vers15 "-Wl,--no-as-needed" vers1.so vers15.ver vers15.dsym vers15.sym # # Test that when we override a versioned symbol from the library this @@ -909,7 +914,7 @@ build_vers_lib_pic "vers22" vers22.c vers22 "vers22a.so vers22b.so" "" vers22.ve # Test versioned definitions in different files. if [string match "yes" $pic] then { - xfail "vers23a" + xfail "vers23a" xfail "vers23b" xfail "vers23c" xfail "vers23d" diff --git a/binutils-2.22/ld/testsuite/ld-elfvsb/elfvsb.exp b/binutils-2.22/ld/testsuite/ld-elfvsb/elfvsb.exp index 3c64783..5d97cc8 100644 --- a/binutils-2.22/ld/testsuite/ld-elfvsb/elfvsb.exp +++ b/binutils-2.22/ld/testsuite/ld-elfvsb/elfvsb.exp @@ -1,5 +1,5 @@ # Expect script for ld-visibility tests -# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010 +# Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -31,6 +31,7 @@ if { ![istarget hppa*64*-*-hpux*] \ && ![istarget hppa*-*-linux*] \ && ![istarget i?86-*-linux*] \ && ![istarget i?86-*-gnu*] \ + && ![istarget *-*-nacl*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ && ![istarget mips*-*-linux*] \ @@ -95,13 +96,13 @@ if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } { if [istarget arm*-*-linux*] { # On ARM section anchors can change the symbol pre-emptability for - # non-PIC shared libraries, causing these tests to fail. Turn section + # non-PIC shared libraries, causing these tests to fail. Turn section # anchors off. set SHCFLAG "-fno-section-anchors" - # On targets that have MOVW the compiler will emit relocations which + # On targets that have MOVW the compiler will emit relocations which # the linker doesn't support when compiling -shared without -fpic. The - # test to find out whether we want to XFAIL the non-PIC tests requires + # test to find out whether we want to XFAIL the non-PIC tests requires # a compile - so we pre-calculate it here. We also note that this can # only affect arm*-*-*eabi targets as the old ABI doesn't support v7. if [istarget arm*-*-*eabi] { @@ -117,6 +118,7 @@ if [istarget arm*-*-linux*] { set support_protected "no" if { [istarget *-*-linux*] + || [istarget *-*-nacl*] || [istarget *-*-gnu*] } { if [ld_compile "$CC -g $CFLAGS -DPROTECTED_CHECK" $srcdir/$subdir/main.c $tmpdir/main.o] { if [ld_simple_link $CC $tmpdir/main "$tmpdir/main.o"] { @@ -249,7 +251,8 @@ proc visibility_run {visibility} { set VSBCFLAG "" }}}}}}}}} - if { [istarget powerpc*-*-linux*] } { + if { [istarget powerpc*-*-linux*] \ + || ( [istarget mips*-*-linux*] && [at_least_gcc_version 4 3] )} { # Testing non-PIC libraries is a waste of effort on any target. # If you don't pass -fpic or -fPIC to gcc, gcc will assume quite # reasonably that you are not compiling for a shared library. @@ -305,6 +308,7 @@ proc visibility_run {visibility} { if { [is_elf64 $tmpdir/mainnp.o] } { setup_xfail "x86_64-*-linux*" } + setup_xfail "x86_64-*-linux-gnux32" if { ![istarget hppa*64*-*-linux*] } { setup_xfail "hppa*-*-linux*" } @@ -348,6 +352,7 @@ proc visibility_run {visibility} { if { [is_elf64 $tmpdir/mainnp.o] } { setup_xfail "x86_64-*-linux*" } + setup_xfail "x86_64-*-linux-gnux32" if { ![istarget hppa*64*-*-linux*] } { setup_xfail "hppa*-*-linux*" } @@ -362,7 +367,7 @@ proc visibility_run {visibility} { # Now compile the code using -fpic. - if { ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG -DSHARED $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o] + if { ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG -DSHARED $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o] || ![ld_compile "$CC -g $CFLAGS $SHCFLAG $VSBCFLAG -DSHARED $picflag" $srcdir/$subdir/sh2.c $tmpdir/sh2p.o] } { unresolved "visibility ($visibility)" } else { @@ -422,6 +427,7 @@ proc visibility_run {visibility} { if { [is_elf64 $tmpdir/mainp.o] } { setup_xfail "x86_64-*-linux*" } + setup_xfail "x86_64-*-linux-gnux32" if { ![istarget hppa*64*-*-linux*] } { setup_xfail "hppa*-*-linux*" } @@ -453,7 +459,9 @@ proc visibility_run {visibility} { }} } -if [istarget mips*-*-*] { +# Old version of GCC for MIPS default to enabling -fpic +# and get confused if it is used on the command line. +if { [istarget mips*-*-*] && ! [at_least_gcc_version 4 3] } then { set picflag "" } else { # Unfortunately, the gcc argument is -fpic and the cc argument is diff --git a/binutils-2.22/ld/testsuite/ld-elfvsb/hidden2.d b/binutils-2.22/ld/testsuite/ld-elfvsb/hidden2.d index 2996277..30f7f95 100644 --- a/binutils-2.22/ld/testsuite/ld-elfvsb/hidden2.d +++ b/binutils-2.22/ld/testsuite/ld-elfvsb/hidden2.d @@ -5,5 +5,5 @@ Symbol table for image: #... -[ ]*[0-9]+ +[0-9]+: [0-9a-fA-F]* +0 +OBJECT +LOCAL +DEFAULT +ABS foo +[ ]*[0-9]+ +[0-9]+: [0-9a-fA-F]* +0 +OBJECT +LOCAL +DEFAULT .* foo #pass diff --git a/binutils-2.22/ld/testsuite/ld-elfweak/elfweak.exp b/binutils-2.22/ld/testsuite/ld-elfweak/elfweak.exp index 0cc1299..91e683b 100644 --- a/binutils-2.22/ld/testsuite/ld-elfweak/elfweak.exp +++ b/binutils-2.22/ld/testsuite/ld-elfweak/elfweak.exp @@ -1,5 +1,5 @@ # Expect script for ld-weak tests -# Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2010 +# Copyright 2001, 2002, 2003, 2004, 2005, 2007, 2010, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -49,7 +49,8 @@ if { ![istarget alpha*-*-linux*] && ![istarget sh\[34\]*-*-linux*] && ![istarget sparc*-*-elf] && ![istarget sparc*-*-solaris2*] - && ![istarget sparc*-*-linux*] } { + && ![istarget sparc*-*-linux*] + && ![istarget *-*-nacl*] } { return } @@ -110,7 +111,7 @@ proc objdump_symstuff { objdump object expectfile } { perror "$expectfile doesn't exist" return 0 } - + if [file exists $tmpdir/objdump.out] then { set file_b [open $tmpdir/objdump.out r] } else { @@ -140,11 +141,11 @@ proc objdump_symstuff { objdump object expectfile } { } } close $file_b - + for { set i 0 } { $i < [llength $list_a] } { incr i } { set line_a [lindex $list_a $i] set line_b [lindex $list_b $i] - + verbose "\t$expectfile: $i: $line_a" 3 verbose "\t/tmp/objdump.out: $i: $line_b" 3 @@ -153,20 +154,20 @@ proc objdump_symstuff { objdump object expectfile } { } else { verbose -log "\t$expectfile: $i: $line_a" verbose -log "\t$tmpdir/objdump.out: $i: $line_b" - + return 0 } } - + if { [llength $list_a] != [llength $list_b] } { verbose -log "Line count" return 0 } - + if $differences<1 then { return 1 } - + return 0 } else { verbose -log "$exec_output" @@ -205,7 +206,7 @@ proc objdump_dynsymstuff { objdump object expectfile } { warning "$expectfile doesn't exist" return 0 } - + if [file exists $tmpdir/objdump.out] then { set file_b [open $tmpdir/objdump.out r] } else { @@ -235,15 +236,15 @@ proc objdump_dynsymstuff { objdump object expectfile } { } } close $file_b - + for { set i 0 } { $i < [llength $list_b] } { incr i } { set line_b [lindex $list_b $i] - + # The tests are rigged so that we should never export a symbol with the # word 'hide' in it. Thus we just search for it, and bail if we find it. if [regexp "hide" $line_b] then { verbose -log "\t$tmpdir/objdump.out: $i: $line_b" - + return 0 } @@ -263,20 +264,20 @@ proc objdump_dynsymstuff { objdump object expectfile } { if { $j >= [llength $list_a] } { verbose -log "\t$tmpdir/objdump.out: $i: $line_b" - + return 0 } } - + if { [llength $list_a] != [llength $list_b] } { verbose -log "Line count" return 0 } - + if $differences<1 then { return 1 } - + return 0 } else { verbose -log "$exec_output" @@ -370,7 +371,9 @@ proc build_exec { test execname objs flags dat dynsymexp symexp} { pass $test } -if [istarget mips*-*-*] { +# Old version of GCC for MIPS default to enabling -fpic +# and get confused if it is used on the command line. +if { [istarget mips*-*-*] && ! [at_least_gcc_version 4 3] } then { set picflag "" } else { # Unfortunately, the gcc argument is -fpic and the cc argument is diff --git a/binutils-2.22/ld/testsuite/ld-gc/gc.exp b/binutils-2.22/ld/testsuite/ld-gc/gc.exp index b7d6dff..7a59ad3 100644 --- a/binutils-2.22/ld/testsuite/ld-gc/gc.exp +++ b/binutils-2.22/ld/testsuite/ld-gc/gc.exp @@ -1,5 +1,5 @@ # Expect script for ld-gc tests -# Copyright 2008, 2009, 2010 +# Copyright 2008, 2009, 2010, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -32,6 +32,11 @@ if [istarget powerpc64*-*-*] { set cflags "$cflags -mminimal-toc" } +if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] } { + # Otherwise tests FAIL due to _.frame + set cflags "$cflags -fomit-frame-pointer -mshort" +} + if { [is_remote host] || [which $CC] != 0 } { ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/gc.c $objfile } @@ -97,8 +102,23 @@ test_gc "Check --gc-section/-r/-u" "gcrel" $ld "-r --gc-sections -u used_func" run_dump_test "noent" run_dump_test "abi-note" run_dump_test "start" + +if { [is_elf_format] && [check_shared_lib_support] } then { + set gasopt "" + if { [istarget tic6x-*] } then { + set gasopt "-mpic -mpid=near" + } + if {![ld_assemble_flags $as $gasopt $srcdir/$subdir/libpersonality.s tmpdir/libpersonality.o] + || ![ld_simple_link $ld tmpdir/libpersonality.so "-shared tmpdir/libpersonality.o"] } then { + fail libpersonality + } else { + run_dump_test "personality" + } +} + if { [is_remote host] || [which $CC] != 0 } { if { [istarget "*-*-linux*"] + || [istarget "*-*-nacl*"] || [istarget "*-*-gnu*"] } { ld_compile "$CC -fPIC $CFLAGS $cflags" $srcdir/$subdir/pr11218-1.c tmpdir/pr11218-1.o ld_simple_link $ld tmpdir/pr11218-1.so "-shared tmpdir/pr11218-1.o" @@ -106,3 +126,8 @@ if { [is_remote host] || [which $CC] != 0 } { run_dump_test "pr11218" } } + +if { [is_remote host] || [which $CC] != 0 } { + ld_compile "$CC $CFLAGS $cflags" $srcdir/$subdir/pr13683.c tmpdir/pr13683.o + run_dump_test "pr13683" +} diff --git a/binutils-2.22/ld/testsuite/ld-gc/libpersonality.s b/binutils-2.22/ld/testsuite/ld-gc/libpersonality.s new file mode 100644 index 0000000..b19ce2b --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-gc/libpersonality.s @@ -0,0 +1,11 @@ + .weak __gxx_personality_v0 + .type __gxx_personality_v0,%function +__gxx_personality_v0: + .long 0 + .size __gxx_personality_v0, . - __gxx_personality_v0 + + .globl __gxx_personality_v1 + .type __gxx_personality_v1,%function +__gxx_personality_v1: + .long 0 + .size __gxx_personality_v1, . - __gxx_personality_v1 diff --git a/binutils-2.22/ld/testsuite/ld-gc/personality.d b/binutils-2.22/ld/testsuite/ld-gc/personality.d new file mode 100644 index 0000000..89fe8b4 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-gc/personality.d @@ -0,0 +1,10 @@ +#name: --gc-sections with __gxx_personality +#ld: --gc-sections -e main -L tmpdir -lpersonality +#nm: -n +#xfail: bfin-*-* cris*-*-* frv-*-* mn10300-*-* vax-*-* xtensa-*-* +# above targets don't support cfi + +#failif +#... +.*gxx_personality.* +#... diff --git a/binutils-2.22/ld/testsuite/ld-gc/personality.s b/binutils-2.22/ld/testsuite/ld-gc/personality.s new file mode 100644 index 0000000..6fac355 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-gc/personality.s @@ -0,0 +1,28 @@ + .section .text.loseme,"ax",%progbits + .globl loseme + .type loseme,%function +loseme: + .cfi_startproc + .cfi_personality 0,__gxx_personality_v0 + .long 0 + .cfi_endproc + .size loseme, . - loseme + + .section .text.loseme2,"ax",%progbits + .globl loseme2 + .type loseme2,%function +loseme2: + .cfi_startproc + .cfi_personality 0,__gxx_personality_v1 + .long 0 + .cfi_endproc + .size loseme2, . - loseme2 + + .section .text.main,"ax",%progbits + .globl main + .type main, %function +main: + .cfi_startproc + .long 0 + .cfi_endproc + .size main, . - main diff --git a/binutils-2.22/ld/testsuite/ld-gc/pr13683.c b/binutils-2.22/ld/testsuite/ld-gc/pr13683.c new file mode 100644 index 0000000..c585e06 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-gc/pr13683.c @@ -0,0 +1,28 @@ +void foo(void);
+
+int main(void)
+{
+ foo ();
+
+ for (;;)
+ ;
+}
+
+int a;
+
+void foo1(void)
+{
+ a = 1;
+}
+
+void foo2(void)
+{
+ a = 2;
+}
+
+void foo3(void)
+{
+ a = 3;
+}
+
+
diff --git a/binutils-2.22/ld/testsuite/ld-gc/pr13683.d b/binutils-2.22/ld/testsuite/ld-gc/pr13683.d new file mode 100644 index 0000000..e497088 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-gc/pr13683.d @@ -0,0 +1,12 @@ +#name: --gc-sections with --defsym +#source: dummy.s +#ld: --gc-sections -e main --defsym foo=foo2 tmpdir/pr13683.o +#nm: --format=bsd +#xfail: sh64*-*-* iq2000-*-* lm32-*-* epiphany-*-* mips64vr-*-* frv-*-* m32c-*-* rl78-*-* rx-*-* sh-*-* + +# Note - look for both "foo" and "foo2" being defined, non-zero function symbols + +#... +0*[1-9a-f]+[0-9a-f]*[ ](T|D)[ ]_*foo +0*[1-9a-f]+[0-9a-f]*[ ](T|D)[ ]_*foo2 +#... diff --git a/binutils-2.22/ld/testsuite/ld-gc/start.d b/binutils-2.22/ld/testsuite/ld-gc/start.d index a655bea..d7e47b2 100644 --- a/binutils-2.22/ld/testsuite/ld-gc/start.d +++ b/binutils-2.22/ld/testsuite/ld-gc/start.d @@ -5,5 +5,5 @@ #notarget: *-*-*aout *-*-*oldld frv-*-linux* #... -[0-9a-f]+ A +__start__foo +[0-9a-f]+ D +__start__foo #... diff --git a/binutils-2.22/ld/testsuite/ld-i386/alloc.t b/binutils-2.22/ld/testsuite/ld-i386/alloc.t index ea7f48c..f7dd17a 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/alloc.t +++ b/binutils-2.22/ld/testsuite/ld-i386/alloc.t @@ -1,4 +1,3 @@ -OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) PHDRS { text PT_LOAD FLAGS(5); /* R_E */ diff --git a/binutils-2.22/ld/testsuite/ld-i386/emit-relocs-nacl.rd b/binutils-2.22/ld/testsuite/ld-i386/emit-relocs-nacl.rd new file mode 100644 index 0000000..82472c0 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/emit-relocs-nacl.rd @@ -0,0 +1,8 @@ + +Relocation section '\.rel\.text' at offset .* contains 1 entries: + Offset Info Type Sym\.Value Sym\. Name +.* .*04 R_386_PLT32 00000000 foo + +Relocation section '\.rel\.plt' at offset .* contains 1 entries: + Offset Info Type Sym\.Value Sym\. Name +.* .*07 R_386_JUMP_SLOT 00000000 foo diff --git a/binutils-2.22/ld/testsuite/ld-i386/emit-relocs.rd b/binutils-2.22/ld/testsuite/ld-i386/emit-relocs.rd new file mode 100644 index 0000000..0c16b94 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/emit-relocs.rd @@ -0,0 +1,8 @@ + +Relocation section '\.rel\.plt' at offset .* contains 1 entries: + Offset Info Type Sym\.Value Sym\. Name +.* .*07 R_386_JUMP_SLOT 00000000 foo + +Relocation section '\.rel\.text' at offset .* contains 1 entries: + Offset Info Type Sym\.Value Sym\. Name +.* .*04 R_386_PLT32 00000000 foo diff --git a/binutils-2.22/ld/testsuite/ld-i386/hidden2.d b/binutils-2.22/ld/testsuite/ld-i386/hidden2.d index 0d800ce..ae5b83b 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/hidden2.d +++ b/binutils-2.22/ld/testsuite/ld-i386/hidden2.d @@ -8,6 +8,6 @@ Disassembly of section .text: [a-f0-9]+ <bar>: -[ ]*[a-f0-9]+: e8 cf fe ff ff call 0 .* -[ ]*[a-f0-9]+: c3 ret +[ ]*[a-f0-9]+: e8 ([0-9a-f]{2} ){4}\s+call 0 .* +[ ]*[a-f0-9]+: c3\s+ret * #pass diff --git a/binutils-2.22/ld/testsuite/ld-i386/i386.exp b/binutils-2.22/ld/testsuite/ld-i386/i386.exp index 68b71fb..03367ca 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/i386.exp +++ b/binutils-2.22/ld/testsuite/ld-i386/i386.exp @@ -1,5 +1,5 @@ # Expect script for ld-i386 tests -# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009, 2010 +# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2012 # Free Software Foundation # # This file is part of the GNU Binutils. @@ -98,11 +98,13 @@ if [istarget "*-*-go32*"] { } } -if { !([istarget "i?86-*-elf*"] +if { !([istarget "i?86-*-elf*"] || (([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"]) && ![istarget "*-*-*aout*"] && ![istarget "*-*-*oldld*"]) + || [istarget "i?86-*-nacl*"] + || [istarget "x86_64-*-nacl*"] || [istarget "x86_64-*-linux*"] || [istarget "amd64-*-linux*"]) } { return @@ -118,6 +120,14 @@ if { !([istarget "i?86-*-elf*"] # readelf: Apply readelf options on result. Compare with regex (last arg). set i386tests { + {"Helper shared library (basic PLT test)" + "-shared -melf_i386" "--32" {pltlib.s} {} "libpltlib.so"} + {"basic PLT generation (non-PIC)" + "-melf_i386 tmpdir/libpltlib.so" "--32" {plt.s} + {{objdump -drj.plt plt.pd}} "plt"} + {"basic PLT generation (PIC)" + "-shared -melf_i386 tmpdir/libpltlib.so" "--32" {plt-pic.s} + {{objdump -drj.plt plt-pic.pd}} "libplt-pic.so"} {"TLS -fpic -shared transitions" "-shared -melf_i386 --no-ld-generated-unwind-info" "--32" {tlspic1.s tlspic2.s} @@ -161,7 +171,7 @@ set i386tests { {"Reloc section order" "-shared -melf_i386 -z nocombreloc" "--32" {reloc.s} {{objdump -hw reloc.d}} "reloc.so"} {"Basic --emit-relocs support" "-shared -melf_i386 --emit-relocs" "--32" - {emit-relocs.s} {{readelf --relocs emit-relocs.d}} "emit-relocs.so"} + {emit-relocs.s} {{readelf --relocs emit-relocs.rd}} "emit-relocs.so"} {"-z combreloc relocation sections" "-shared -melf_i386 -z combreloc" "--32" {combreloc.s} {{readelf -r combreloc.d}} "combreloc.so"} {"TLS GD->LE transition" "-melf_i386" @@ -175,6 +185,24 @@ set i386tests { {{objdump -dwr tlsie1.dd}} "tlsie1"} } +# So as to avoid rewriting every last test case here in a nacl variant, +# we use black magic to massage the generic cases into nacl-variant cases. +if [istarget "*-*-nacl*"] { + # Change all the -melf_i386 to -melf_i386_nacl so linking can succeed. + regsub -all elf_i386 $i386tests elf_i386_nacl i386tests + + # Same, applied to all the run_dump_test cases. + set options_regsub(ld) {-melf_i386 -melf_i386_nacl} + + # The section/segment layout differs too much for the vanilla + # readelf output files to match. So massage the cases so that + # they refer to a foo-nacl.rd file instead of a foo.rd file. + regsub -all {([a-z0-9]+)\.rd} $i386tests {\1-nacl.rd} i386tests + + # Likewise for PLTs. + regsub -all -- {([a-z0-9]+)\.pd} $i386tests {\1-nacl.pd} i386tests +} + run_ld_link_tests $i386tests run_dump_test "abs" @@ -194,6 +222,8 @@ run_dump_test "hidden3" run_dump_test "protected1" run_dump_test "protected2" run_dump_test "protected3" +run_dump_test "protected4" +run_dump_test "protected5" run_dump_test "tlspie1" run_dump_test "tlspie2" run_dump_test "nogot1" @@ -201,12 +231,18 @@ run_dump_test "nogot2" run_dump_test "discarded1" run_dump_test "pr12718" run_dump_test "pr12921" +run_dump_test "pr12570a" +run_dump_test "pr12570b" if { !([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"] + || [istarget "i?86-*-nacl*"] + || [istarget "x86_64-*-nacl*"] || [istarget "x86_64-*-linux*"]) } { return } run_dump_test "compressed1" run_dump_test "pr12627" +run_dump_test "pr13302" +run_dump_test "pr14215" diff --git a/binutils-2.22/ld/testsuite/ld-i386/pcrel16.d b/binutils-2.22/ld/testsuite/ld-i386/pcrel16.d index 3d45afe..0645d84 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/pcrel16.d +++ b/binutils-2.22/ld/testsuite/ld-i386/pcrel16.d @@ -3,7 +3,7 @@ #ld: -melf_i386 -Ttext 0x0 #objdump: -drj.text -m i8086 -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: diff --git a/binutils-2.22/ld/testsuite/ld-i386/pcrel16abs.d b/binutils-2.22/ld/testsuite/ld-i386/pcrel16abs.d index f4bfca5..501e565 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/pcrel16abs.d +++ b/binutils-2.22/ld/testsuite/ld-i386/pcrel16abs.d @@ -3,10 +3,10 @@ #ld: -melf_i386 -Ttext 0xfffffff0 #objdump: -drj.text -m i8086 -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: f+0 <_start>: -f+0: e9 0d e0[ ]+jmp[ ]+ffffe000 <SEGMENT_SIZE\+0xfffee000> +f+0: e9 0d e0[ ]+jmp[ ]+ffffe000 <.*> #pass diff --git a/binutils-2.22/ld/testsuite/ld-i386/plt-nacl.pd b/binutils-2.22/ld/testsuite/ld-i386/plt-nacl.pd new file mode 100644 index 0000000..0f8e114 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/plt-nacl.pd @@ -0,0 +1,162 @@ +#source: plt.s +#as: --32 +#ld: -melf_i386_nacl +#objdump: -drj.plt +#target: i?86-*-nacl* + +.*: +file format .* + +Disassembly of section .plt: + +[0-9a-f]+ <fn1@plt-0x40>: + +[0-9a-f]+: ff 35 ([0-9a-f]{2} ){4} * pushl 0x[0-9a-f]+ + +[0-9a-f]+: 8b 0d ([0-9a-f]{2} ){4} * mov 0x[0-9a-f]+,%ecx + +[0-9a-f]+: 83 e1 e0 and \$0xffffffe0,%ecx + +[0-9a-f]+: ff e1 jmp \*%ecx + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+ <fn1@plt>: + +[0-9a-f]+: 8b 0d ([0-9a-f]{2} ){4} * mov 0x[0-9a-f]+,%ecx + +[0-9a-f]+: 83 e1 e0 and \$0xffffffe0,%ecx + +[0-9a-f]+: ff e1 jmp \*%ecx + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 68 00 00 00 00 push \$0x0 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmp [0-9a-f]+ <fn1@plt-0x40> + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+ <fn2@plt>: + +[0-9a-f]+: 8b 0d ([0-9a-f]{2} ){4} * mov 0x[0-9a-f]+,%ecx + +[0-9a-f]+: 83 e1 e0 and \$0xffffffe0,%ecx + +[0-9a-f]+: ff e1 jmp \*%ecx + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 68 08 00 00 00 push \$0x8 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmp [0-9a-f]+ <fn1@plt-0x40> + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop diff --git a/binutils-2.22/ld/testsuite/ld-i386/plt-pic-nacl.pd b/binutils-2.22/ld/testsuite/ld-i386/plt-pic-nacl.pd new file mode 100644 index 0000000..77e8a2a --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/plt-pic-nacl.pd @@ -0,0 +1,168 @@ +#source: plt.s +#as: --32 +#ld: -shared -melf_i386_nacl +#objdump: -drj.plt +#target: i?86-*-nacl* + +.*: +file format .* + +Disassembly of section .plt: + +[0-9a-f]+ <fn1@plt-0x40>: + +[0-9a-f]+: ff 73 04 pushl 0x4\(%ebx\) + +[0-9a-f]+: 8b 4b 08 mov 0x8\(%ebx\),%ecx + +[0-9a-f]+: 83 e1 e0 and \$0xffffffe0,%ecx + +[0-9a-f]+: ff e1 jmp \*%ecx + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+ <fn1@plt>: + +[0-9a-f]+: 8b 8b 0c 00 00 00 mov 0xc\(%ebx\),%ecx + +[0-9a-f]+: 83 e1 e0 and \$0xffffffe0,%ecx + +[0-9a-f]+: ff e1 jmp \*%ecx + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 68 00 00 00 00 push \$0x0 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmp [0-9a-f]+ <fn1@plt-0x40> + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+ <fn2@plt>: + +[0-9a-f]+: 8b 8b 10 00 00 00 mov 0x10\(%ebx\),%ecx + +[0-9a-f]+: 83 e1 e0 and \$0xffffffe0,%ecx + +[0-9a-f]+: ff e1 jmp \*%ecx + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 68 08 00 00 00 push \$0x8 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmp [0-9a-f]+ <fn1@plt-0x40> + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop + +[0-9a-f]+: 90 nop diff --git a/binutils-2.22/ld/testsuite/ld-i386/plt-pic.pd b/binutils-2.22/ld/testsuite/ld-i386/plt-pic.pd new file mode 100644 index 0000000..5fe2930 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/plt-pic.pd @@ -0,0 +1,24 @@ +#source: plt.s +#as: --32 +#ld: -shared -melf_i386 +#objdump: -drj.plt +#target: i?86-*-* + +.*: +file format .* + +Disassembly of section .plt: + +[0-9a-f]+ <fn1@plt-0x10>: + +[0-9a-f]+: ff b3 04 00 00 00 pushl 0x4\(%ebx\) + +[0-9a-f]+: ff a3 08 00 00 00 jmp \*0x8\(%ebx\) +#... + +[0-9a-f]+ <fn1@plt>: + +[0-9a-f]+: ff a3 ([0-9a-f]{2} ){4} * jmp \*0x[0-9a-f]+\(%ebx\) + +[0-9a-f]+: 68 00 00 00 00 push \$0x0 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmp [0-9a-f]+ <fn1@plt-0x10> + +[0-9a-f]+ <fn2@plt>: + +[0-9a-f]+: ff a3 ([0-9a-f]{2} ){4} * jmp \*0x[0-9a-f]+\(%ebx\) + +[0-9a-f]+: 68 08 00 00 00 push \$0x8 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmp [0-9a-f]+ <fn1@plt-0x10> diff --git a/binutils-2.22/ld/testsuite/ld-i386/plt-pic.s b/binutils-2.22/ld/testsuite/ld-i386/plt-pic.s new file mode 100644 index 0000000..a6f03de --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/plt-pic.s @@ -0,0 +1,6 @@ + .text + .globl foo + .type foo,@function +foo: + call fn1@plt + jmp fn2@plt diff --git a/binutils-2.22/ld/testsuite/ld-i386/plt.pd b/binutils-2.22/ld/testsuite/ld-i386/plt.pd new file mode 100644 index 0000000..1b1f57d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/plt.pd @@ -0,0 +1,24 @@ +#source: plt.s +#as: --32 +#ld: -melf_i386 +#objdump: -drj.plt +#target: i?86-*-* + +.*: +file format .* + +Disassembly of section .plt: + +[0-9a-f]+ <fn1@plt-0x10>: + +[0-9a-f]+: ff 35 ([0-9a-f]{2} ){4} * pushl 0x[0-9a-f]+ + +[0-9a-f]+: ff 25 ([0-9a-f]{2} ){4} * jmp \*0x[0-9a-f]+ +#... + +[0-9a-f]+ <fn1@plt>: + +[0-9a-f]+: ff 25 ([0-9a-f]{2} ){4} * jmp \*0x[0-9a-f]+ + +[0-9a-f]+: 68 00 00 00 00 push \$0x0 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmp [0-9a-f]+ <fn1@plt-0x10> + +[0-9a-f]+ <fn2@plt>: + +[0-9a-f]+: ff 25 ([0-9a-f]{2} ){4} * jmp \*0x[0-9a-f]+ + +[0-9a-f]+: 68 08 00 00 00 push \$0x8 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmp [0-9a-f]+ <fn1@plt-0x10> diff --git a/binutils-2.22/ld/testsuite/ld-i386/plt.s b/binutils-2.22/ld/testsuite/ld-i386/plt.s new file mode 100644 index 0000000..3fd01af --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/plt.s @@ -0,0 +1,6 @@ + .text + .globl _start + .type _start,@function +_start: + call fn1 + call fn2 diff --git a/binutils-2.22/ld/testsuite/ld-i386/pltlib.s b/binutils-2.22/ld/testsuite/ld-i386/pltlib.s new file mode 100644 index 0000000..99e2bb4 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pltlib.s @@ -0,0 +1,10 @@ + .text + .globl fn1 + .type fn1,@function +fn1: + ret + + .globl fn2 + .type fn2,@function +fn2: + ret diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr12570a.d b/binutils-2.22/ld/testsuite/ld-i386/pr12570a.d new file mode 100644 index 0000000..03aeb7b --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pr12570a.d @@ -0,0 +1,8 @@ +#name: PR ld/12570 +#as: --32 +#ld: -melf_i386 -shared +#readelf: -wf --wide + +#... + DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\) +#... diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr12570a.s b/binutils-2.22/ld/testsuite/ld-i386/pr12570a.s new file mode 100644 index 0000000..38e0593 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pr12570a.s @@ -0,0 +1,8 @@ + .text + .globl foo + .type foo, @function +foo: + .cfi_startproc + jmp bar@PLT + .cfi_endproc + .size foo, .-foo diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr12570b.d b/binutils-2.22/ld/testsuite/ld-i386/pr12570b.d new file mode 100644 index 0000000..0532aac --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pr12570b.d @@ -0,0 +1,9 @@ +#name: PR ld/12570 +#as: --32 +#ld: -melf_i386 -shared +#readelf: -wf --wide + +#failif +#... + DW_CFA_def_cfa_expression \(DW_OP_breg4 \(esp\): 4; DW_OP_breg8 \(eip\): 0; DW_OP_lit15; DW_OP_and; DW_OP_lit11; DW_OP_ge; DW_OP_lit2; DW_OP_shl; DW_OP_plus\) +#... diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr12570b.s b/binutils-2.22/ld/testsuite/ld-i386/pr12570b.s new file mode 100644 index 0000000..e76b9f1 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pr12570b.s @@ -0,0 +1,8 @@ + .text + .globl foo + .type foo, @function +foo: + .cfi_startproc + ret + .cfi_endproc + .size foo, .-foo diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr12627.t b/binutils-2.22/ld/testsuite/ld-i386/pr12627.t index d824920..99b64f9 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/pr12627.t +++ b/binutils-2.22/ld/testsuite/ld-i386/pr12627.t @@ -1,4 +1,3 @@ -OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) EXTERN(_start) ENTRY(_start) diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr12718.d b/binutils-2.22/ld/testsuite/ld-i386/pr12718.d index 57eea4e..61634c8 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/pr12718.d +++ b/binutils-2.22/ld/testsuite/ld-i386/pr12718.d @@ -3,15 +3,15 @@ #ld: -melf_i386 #readelf: -S -There are 5 section headers, starting at offset 0x7c: +There are 5 section headers, starting at offset 0x[0-9a-f]+: Section Headers: - \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al - \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] .text PROGBITS 08048054 000054 000006 00 AX 0 0 4 - \[ 2\] .shstrtab STRTAB 00000000 00005a 000021 00 0 0 1 - \[ 3\] .symtab SYMTAB 00000000 000144 000070 10 4 2 4 - \[ 4\] .strtab STRTAB 00000000 0001b4 000024 00 0 0 1 + +\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al + +\[ 0\] +NULL +0+ +0+ +0+ +0+ +0 +0 +0 + +\[ 1\] +.text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +000006 00 +AX +0 +0 +4 + +\[ 2\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1 + +\[ 3\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 10 +4 +[0-9] +4 + +\[ 4\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr12921.d b/binutils-2.22/ld/testsuite/ld-i386/pr12921.d index 4b75888..891db8b 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/pr12921.d +++ b/binutils-2.22/ld/testsuite/ld-i386/pr12921.d @@ -3,17 +3,17 @@ #ld: -melf_i386 #readelf: -S --wide -There are 7 section headers, starting at offset 0x204c: +There are 7 section headers, starting at offset 0x[0-9a-f]+: Section Headers: - \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al - \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] .text PROGBITS 08049000 001000 000001 00 AX 0 0 4096 - \[ 2\] .data PROGBITS 0804b000 002000 000020 00 WA 0 0 4096 - \[ 3\] .bss NOBITS 0804c000 002020 010000 00 WA 0 0 4096 - \[ 4\] .shstrtab STRTAB 00000000 002020 00002c 00 0 0 1 - \[ 5\] .symtab SYMTAB 00000000 002164 0000c0 10 6 6 4 - \[ 6\] .strtab STRTAB 00000000 002224 000037 00 0 0 1 + +\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al + +\[ 0\] +NULL +0+ +0+ +0+ +0+ +0 +0 +0 + +\[ 1\] .text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+1 00 +AX +0 +0 +4096 + +\[ 2\] .data +PROGBITS +[0-9a-f]+ +[0-9a-f]+000 +0+20 +00 +WA +0 +0 +4096 + +\[ 3\] .bss +NOBITS +[0-9a-f]+ +[0-9a-f]+020 +0+10000 +00 +WA +0 +0 +4096 + +\[ 4\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1 + +\[ 5\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +10 +6 +[0-9] +4 + +\[ 6\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr13302.d b/binutils-2.22/ld/testsuite/ld-i386/pr13302.d new file mode 100644 index 0000000..35c09ae --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pr13302.d @@ -0,0 +1,12 @@ +#name: PR ld/13302 +#as: --32 +#ld: -pie -melf_i386 +#readelf: -r --wide + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries: + Offset Info Type Sym. Value Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_IRELATIVE + + +Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries: + Offset Info Type Sym. Value Symbol's Name +[0-9a-f]+ +[0-9a-f]+ +R_386_IRELATIVE + diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr13302.s b/binutils-2.22/ld/testsuite/ld-i386/pr13302.s new file mode 100644 index 0000000..cfd2717 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pr13302.s @@ -0,0 +1,11 @@ + .text + .globl _start + .type ifunc, @gnu_indirect_function +_start: + lea .Ljmp@GOTOFF(%ebx), %eax +ifunc: + jmp *(%eax) + .section .data.rel.ro.local,"aw",@progbits + .align 4 +.Ljmp: + .long ifunc diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr14215.d b/binutils-2.22/ld/testsuite/ld-i386/pr14215.d new file mode 100644 index 0000000..78ec994 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pr14215.d @@ -0,0 +1,9 @@ +#name: PR ld/14215 +#as: --32 +#ld: -melf_i386 -shared -z relro +#readelf: -l --wide + +#failif +#... + 03 .dynamic .got .data +#... diff --git a/binutils-2.22/ld/testsuite/ld-i386/pr14215.s b/binutils-2.22/ld/testsuite/ld-i386/pr14215.s new file mode 100644 index 0000000..df0cbc2 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/pr14215.s @@ -0,0 +1,4 @@ + .section .got + .space 0x2a8, 4 + .data + .zero 12 diff --git a/binutils-2.22/ld/testsuite/ld-i386/protected4.d b/binutils-2.22/ld/testsuite/ld-i386/protected4.d new file mode 100644 index 0000000..f16f0c0 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/protected4.d @@ -0,0 +1,5 @@ +#as: --32 +#ld: -shared -Bsymbolic -melf_i386 +#readelf: -r + +There are no relocations in this file. diff --git a/binutils-2.22/ld/testsuite/ld-i386/protected4.s b/binutils-2.22/ld/testsuite/ld-i386/protected4.s new file mode 100644 index 0000000..66f2a56 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/protected4.s @@ -0,0 +1,12 @@ + .text + .protected foo + .globl foo + .type foo, @function +foo: + ret + .size foo, .-foo + .globl bar + .type bar, @function +bar: + movl foo@GOTOFF(%ecx), %eax + .size bar, .-bar diff --git a/binutils-2.22/ld/testsuite/ld-i386/protected5.d b/binutils-2.22/ld/testsuite/ld-i386/protected5.d new file mode 100644 index 0000000..89e2159 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/protected5.d @@ -0,0 +1,5 @@ +#as: --32 +#ld: -pie -melf_i386 +#readelf: -r + +There are no relocations in this file. diff --git a/binutils-2.22/ld/testsuite/ld-i386/protected5.s b/binutils-2.22/ld/testsuite/ld-i386/protected5.s new file mode 100644 index 0000000..fc218f2 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/protected5.s @@ -0,0 +1,12 @@ + .text + .protected foo + .globl foo + .type foo, @function +foo: + ret + .size foo, .-foo + .globl _start + .type _start, @function +_start: + movl foo@GOTOFF(%ecx), %eax + .size _start, .-_start diff --git a/binutils-2.22/ld/testsuite/ld-i386/reloc.d b/binutils-2.22/ld/testsuite/ld-i386/reloc.d index e559e53..b627451 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/reloc.d +++ b/binutils-2.22/ld/testsuite/ld-i386/reloc.d @@ -5,7 +5,7 @@ #ld: -shared -melf_i386 -z nocombreloc #objdump: -hw -.*: +file format elf32-i386 +.*: +file format elf32-i386.* #... .*\.relplatypus.* #... diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbin-nacl.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsbin-nacl.rd new file mode 100644 index 0000000..45358e6 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbin-nacl.rd @@ -0,0 +1,165 @@ +#source: tlsbinpic.s +#source: tlsbin.s +#as: --32 +#ld: -melf_i386_nacl tmpdir/libtlslib.so --no-ld-generated-unwind-info +#readelf: -Ssrl +#target: i?86-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 + +\[[ 0-9]+\] \.plt +.* + +\[[ 0-9]+\] \.text +PROGBITS +0+21000 .* + +\[[ 0-9]+\] \.interp +.* + +\[[ 0-9]+\] \.hash +.* + +\[[ 0-9]+\] \.dynsym +.* + +\[[ 0-9]+\] \.dynstr +.* + +\[[ 0-9]+\] \.rel.dyn +.* + +\[[ 0-9]+\] \.rel.plt +.* + +\[[ 0-9]+\] \.tdata +PROGBITS +0*10031000 [0-9a-f]+ 000060 00 WAT +0 +0 4096 + +\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000040 00 WAT +0 +0 +1 + +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10031060 .* + +\[[ 0-9]+\] \.got +PROGBITS +0*10031100 .* + +\[[ 0-9]+\] \.got\.plt +PROGBITS +0*10031124 .* + +\[[ 0-9]+\] \.shstrtab +.* + +\[[ 0-9]+\] \.symtab +.* + +\[[ 0-9]+\] \.strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is EXEC \(Executable file\) +Entry point 0x0*21188 +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +PHDR.* + +INTERP.* +.*Requesting program interpreter.* + +LOAD.* + +LOAD.* + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000 + + Section to Segment mapping: + +Segment Sections... + +00 + + +01 +.interp * + +02 +.plt .text * + +03 +.interp .hash .dynsym .dynstr .rel.dyn .rel.plt * + +04 +.tdata .dynamic .got .got.plt * + +05 +.dynamic * + +06 +.tdata .tbss * + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sG3 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sG5 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sG7 +[0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG2 +[0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG4 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sG4 +[0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG6 +[0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG1 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sG8 + +Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_JUMP_SLOT +[0-9a-f]+ +___tls_get_addr + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +13 * +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 00000020 +0 +TLS +LOCAL +DEFAULT +9 sl1 + +[0-9]+: 00000024 +0 +TLS +LOCAL +DEFAULT +9 sl2 + +[0-9]+: 00000028 +0 +TLS +LOCAL +DEFAULT +9 sl3 + +[0-9]+: 0000002c +0 +TLS +LOCAL +DEFAULT +9 sl4 + +[0-9]+: 00000030 +0 +TLS +LOCAL +DEFAULT +9 sl5 + +[0-9]+: 00000034 +0 +TLS +LOCAL +DEFAULT +9 sl6 + +[0-9]+: 00000038 +0 +TLS +LOCAL +DEFAULT +9 sl7 + +[0-9]+: 0000003c +0 +TLS +LOCAL +DEFAULT +9 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 00000080 +0 +TLS +LOCAL +DEFAULT +10 bl1 + +[0-9]+: 00000084 +0 +TLS +LOCAL +DEFAULT +10 bl2 + +[0-9]+: 00000088 +0 +TLS +LOCAL +DEFAULT +10 bl3 + +[0-9]+: 0000008c +0 +TLS +LOCAL +DEFAULT +10 bl4 + +[0-9]+: 00000090 +0 +TLS +LOCAL +DEFAULT +10 bl5 + +[0-9]+: 00000094 +0 +TLS +LOCAL +DEFAULT +10 bl6 + +[0-9]+: 00000098 +0 +TLS +LOCAL +DEFAULT +10 bl7 + +[0-9]+: 0000009c +0 +TLS +LOCAL +DEFAULT +10 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0*10031060 +0 +OBJECT +LOCAL +DEFAULT +11 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +13 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 + +[0-9]+: 0000001c +0 +TLS +GLOBAL +DEFAULT +9 sg8 + +[0-9]+: 0000007c +0 +TLS +GLOBAL +DEFAULT +10 bg8 + +[0-9]+: 00000074 +0 +TLS +GLOBAL +DEFAULT +10 bg6 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 00000068 +0 +TLS +GLOBAL +DEFAULT +10 bg3 + +[0-9]+: 00000008 +0 +TLS +GLOBAL +DEFAULT +9 sg3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 + +[0-9]+: 00000048 +0 +TLS +GLOBAL +HIDDEN +9 sh3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0000000c +0 +TLS +GLOBAL +DEFAULT +9 sg4 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 + +[0-9]+: 00000010 +0 +TLS +GLOBAL +DEFAULT +9 sg5 + +[0-9]+: 00000070 +0 +TLS +GLOBAL +DEFAULT +10 bg5 + +[0-9]+: 00000058 +0 +TLS +GLOBAL +HIDDEN +9 sh7 + +[0-9]+: 0000005c +0 +TLS +GLOBAL +HIDDEN +9 sh8 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +9 sg1 + +[0-9]+: 0+21188 +0 +FUNC +GLOBAL +DEFAULT +2 _start + +[0-9]+: 0000004c +0 +TLS +GLOBAL +HIDDEN +9 sh4 + +[0-9]+: 00000078 +0 +TLS +GLOBAL +DEFAULT +10 bg7 + +[0-9]+: 00000050 +0 +TLS +GLOBAL +HIDDEN +9 sh5 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: 0+21000 +0 +FUNC +GLOBAL +DEFAULT +2 fn2 + +[0-9]+: 00000004 +0 +TLS +GLOBAL +DEFAULT +9 sg2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: 00000040 +0 +TLS +GLOBAL +HIDDEN +9 sh1 + +[0-9]+: 00000014 +0 +TLS +GLOBAL +DEFAULT +9 sg6 + +[0-9]+: 00000018 +0 +TLS +GLOBAL +DEFAULT +9 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end + +[0-9]+: 00000044 +0 +TLS +GLOBAL +HIDDEN +9 sh2 + +[0-9]+: 00000054 +0 +TLS +GLOBAL +HIDDEN +9 sh6 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 + +[0-9]+: 00000064 +0 +TLS +GLOBAL +DEFAULT +10 bg2 + +[0-9]+: 00000060 +0 +TLS +GLOBAL +DEFAULT +10 bg1 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr + +[0-9]+: 0000006c +0 +TLS +GLOBAL +DEFAULT +10 bg4 diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbin.dd b/binutils-2.22/ld/testsuite/ld-i386/tlsbin.dd index 6f6c0e4..c0f5103 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsbin.dd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbin.dd @@ -14,451 +14,451 @@ # 0x60 -0x40 bg1..bg8 # 0x80 -0x20 bl1..bl8 -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: -0+8049000 <fn2>: - 8049000: 55[ ]+push %ebp - 8049001: 89 e5[ ]+mov %esp,%ebp - 8049003: 53[ ]+push %ebx - 8049004: 50[ ]+push %eax - 8049005: e8 00 00 00 00[ ]+call 804900a <fn2\+0xa> - 804900a: 5b[ ]+pop %ebx - 804900b: 81 c3 1a 11 00 00[ ]+add \$0x111a,%ebx - 8049011: 90[ ]+nop * - 8049012: 90[ ]+nop * - 8049013: 90[ ]+nop * - 8049014: 90[ ]+nop * +[0-9a-f]+ <fn2>: + +[0-9a-f]+: 55[ ]+push %ebp + +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp + +[0-9a-f]+: 53[ ]+push %ebx + +[0-9a-f]+: 50[ ]+push %eax + +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <fn2\+0xa> + +[0-9a-f]+: 5b[ ]+pop %ebx + +[0-9a-f]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]+,%ebx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable - 8049015: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804901b: 2b 83 f8 ff ff ff[ ]+sub -0x8\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 f8 ff ff ff[ ]+sub -0x8\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG1 - 8049021: 90[ ]+nop * - 8049022: 90[ ]+nop * - 8049023: 90[ ]+nop * - 8049024: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through @gottpoff too - 8049025: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804902b: 2b 83 e8 ff ff ff[ ]+sub -0x18\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 e8 ff ff ff[ ]+sub -0x18\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG2 - 8049031: 90[ ]+nop * - 8049032: 90[ ]+nop * - 8049033: 90[ ]+nop * - 8049034: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through @gotntpoff too - 8049035: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804903b: 03 83 dc ff ff ff[ ]+add -0x24\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 03 83 dc ff ff ff[ ]+add -0x24\(%ebx\),%eax # ->R_386_TLS_TPOFF sG3 - 8049041: 90[ ]+nop * - 8049042: 90[ ]+nop * - 8049043: 90[ ]+nop * - 8049044: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through @gottpoff and @gotntpoff too - 8049045: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804904b: 2b 83 ec ff ff ff[ ]+sub -0x14\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 ec ff ff ff[ ]+sub -0x14\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG4 - 8049051: 90[ ]+nop * - 8049052: 90[ ]+nop * - 8049053: 90[ ]+nop * - 8049054: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with global variable defined in executable - 8049055: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804905b: 81 e8 00 10 00 00[ ]+sub \$0x1000,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 81 e8 00 10 00 00[ ]+sub \$0x1000,%eax # sg1 - 8049061: 90[ ]+nop * - 8049062: 90[ ]+nop * - 8049063: 90[ ]+nop * - 8049064: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with local variable defined in executable - 8049065: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804906b: 81 e8 e0 0f 00 00[ ]+sub \$0xfe0,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 81 e8 e0 0f 00 00[ ]+sub \$0xfe0,%eax # sl1 - 8049071: 90[ ]+nop * - 8049072: 90[ ]+nop * - 8049073: 90[ ]+nop * - 8049074: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with hidden variable defined in executable - 8049075: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804907b: 81 e8 c0 0f 00 00[ ]+sub \$0xfc0,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 81 e8 c0 0f 00 00[ ]+sub \$0xfc0,%eax # sh1 - 8049081: 90[ ]+nop * - 8049082: 90[ ]+nop * - 8049083: 90[ ]+nop * - 8049084: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD -> LE - 8049085: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804908b: 90[ ]+nop * - 804908c: 8d 74 26 00[ ]+lea 0x0\(%esi,%eiz,1\),%esi - 8049090: 90[ ]+nop * - 8049091: 90[ ]+nop * - 8049092: 8d 90 20 f0 ff ff[ ]+lea -0xfe0\(%eax\),%edx + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 74 26 00[ ]+lea 0x0\(%esi,%eiz,1\),%esi + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 20 f0 ff ff[ ]+lea -0xfe0\(%eax\),%edx # sl1 - 8049098: 90[ ]+nop * - 8049099: 90[ ]+nop * - 804909a: 8d 88 24 f0 ff ff[ ]+lea -0xfdc\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 24 f0 ff ff[ ]+lea -0xfdc\(%eax\),%ecx # sl2 - 80490a0: 90[ ]+nop * - 80490a1: 90[ ]+nop * - 80490a2: 90[ ]+nop * - 80490a3: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD -> LE against hidden variables - 80490a4: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 80490aa: 90[ ]+nop * - 80490ab: 8d 74 26 00[ ]+lea 0x0\(%esi,%eiz,1\),%esi - 80490af: 90[ ]+nop * - 80490b0: 90[ ]+nop * - 80490b1: 8d 90 40 f0 ff ff[ ]+lea -0xfc0\(%eax\),%edx + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 74 26 00[ ]+lea 0x0\(%esi,%eiz,1\),%esi + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 40 f0 ff ff[ ]+lea -0xfc0\(%eax\),%edx # sh1 - 80490b7: 90[ ]+nop * - 80490b8: 90[ ]+nop * - 80490b9: 8d 88 44 f0 ff ff[ ]+lea -0xfbc\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 44 f0 ff ff[ ]+lea -0xfbc\(%eax\),%ecx # sh2 - 80490bf: 90[ ]+nop * - 80490c0: 90[ ]+nop * - 80490c1: 90[ ]+nop * - 80490c2: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - 80490c3: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - 80490ca: 90[ ]+nop * - 80490cb: 90[ ]+nop * - 80490cc: 2b 8b e8 ff ff ff[ ]+sub -0x18\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b e8 ff ff ff[ ]+sub -0x18\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 sG2 - 80490d2: 90[ ]+nop * - 80490d3: 90[ ]+nop * - 80490d4: 90[ ]+nop * - 80490d5: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - 80490d6: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 80490dc: 90[ ]+nop * - 80490dd: 90[ ]+nop * - 80490de: 2b 83 ec ff ff ff[ ]+sub -0x14\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 ec ff ff ff[ ]+sub -0x14\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG4 - 80490e4: 90[ ]+nop * - 80490e5: 90[ ]+nop * - 80490e6: 90[ ]+nop * - 80490e7: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - 80490e8: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - 80490ef: 90[ ]+nop * - 80490f0: 90[ ]+nop * - 80490f1: 03 8b dc ff ff ff[ ]+add -0x24\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b dc ff ff ff[ ]+add -0x24\(%ebx\),%ecx # ->R_386_TLS_TPOFF sG3 - 80490f7: 90[ ]+nop * - 80490f8: 90[ ]+nop * - 80490f9: 90[ ]+nop * - 80490fa: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - 80490fb: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 8049101: 90[ ]+nop * - 8049102: 90[ ]+nop * - 8049103: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax # ->R_386_TLS_TPOFF sG4 - 8049109: 90[ ]+nop * - 804910a: 90[ ]+nop * - 804910b: 90[ ]+nop * - 804910c: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against global var defined in exec - 804910d: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - 8049114: 90[ ]+nop * - 8049115: 90[ ]+nop * - 8049116: 81 e9 00 10 00 00[ ]+sub \$0x1000,%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 e9 00 10 00 00[ ]+sub \$0x1000,%ecx # sg1 - 804911c: 90[ ]+nop * - 804911d: 90[ ]+nop * - 804911e: 90[ ]+nop * - 804911f: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE -> LE against local var - 8049120: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - 8049127: 90[ ]+nop * - 8049128: 90[ ]+nop * - 8049129: 81 c0 20 f0 ff ff[ ]+add \$0xfffff020,%eax + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c0 20 f0 ff ff[ ]+add \$0xfffff020,%eax # sl1 - 804912f: 90[ ]+nop * - 8049130: 90[ ]+nop * - 8049131: 90[ ]+nop * - 8049132: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against hidden var - 8049133: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - 804913a: 90[ ]+nop * - 804913b: 90[ ]+nop * - 804913c: 81 e9 c0 0f 00 00[ ]+sub \$0xfc0,%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 e9 c0 0f 00 00[ ]+sub \$0xfc0,%ecx # sh1 - 8049142: 90[ ]+nop * - 8049143: 90[ ]+nop * - 8049144: 90[ ]+nop * - 8049145: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct access through %gs # @gotntpoff IE against global var - 8049146: 8b 8b e0 ff ff ff[ ]+mov -0x20\(%ebx\),%ecx + +[0-9a-f]+: 8b 8b e0 ff ff ff[ ]+mov -0x20\(%ebx\),%ecx # ->R_386_TLS_TPOFF sG5 - 804914c: 90[ ]+nop * - 804914d: 90[ ]+nop * - 804914e: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx - 8049151: 90[ ]+nop * - 8049152: 90[ ]+nop * - 8049153: 90[ ]+nop * - 8049154: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE->LE against local var - 8049155: c7 c0 30 f0 ff ff[ ]+mov \$0xfffff030,%eax + +[0-9a-f]+: c7 c0 30 f0 ff ff[ ]+mov \$0xfffff030,%eax # sl5 - 804915b: 90[ ]+nop * - 804915c: 90[ ]+nop * - 804915d: 65 8b 10[ ]+mov %gs:\(%eax\),%edx - 8049160: 90[ ]+nop * - 8049161: 90[ ]+nop * - 8049162: 90[ ]+nop * - 8049163: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 10[ ]+mov %gs:\(%eax\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE->LE against hidden var - 8049164: c7 c2 50 f0 ff ff[ ]+mov \$0xfffff050,%edx + +[0-9a-f]+: c7 c2 50 f0 ff ff[ ]+mov \$0xfffff050,%edx # sh5 - 804916a: 90[ ]+nop * - 804916b: 90[ ]+nop * - 804916c: 65 8b 12[ ]+mov %gs:\(%edx\),%edx - 804916f: 90[ ]+nop * - 8049170: 90[ ]+nop * - 8049171: 90[ ]+nop * - 8049172: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 12[ ]+mov %gs:\(%edx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable - 8049173: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 8049179: 2b 83 f8 ff ff ff[ ]+sub -0x8\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 f8 ff ff ff[ ]+sub -0x8\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG1 - 804917f: 90[ ]+nop * - 8049180: 90[ ]+nop * - 8049181: 90[ ]+nop * - 8049182: 90[ ]+nop * - 8049183: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx - 8049186: c9[ ]+leave * - 8049187: c3[ ]+ret * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * -0+8049188 <_start>: - 8049188: 55[ ]+push %ebp - 8049189: 89 e5[ ]+mov %esp,%ebp - 804918b: e8 00 00 00 00[ ]+call 8049190 <_start\+0x8> - 8049190: 59[ ]+pop %ecx - 8049191: 81 c1 94 0f 00 00[ ]+add \$0xf94,%ecx - 8049197: 90[ ]+nop * - 8049198: 90[ ]+nop * - 8049199: 90[ ]+nop * - 804919a: 90[ ]+nop * +[0-9a-f]+ <_start>: + +[0-9a-f]+: 55[ ]+push %ebp + +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp + +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <_start\+0x8> + +[0-9a-f]+: 59[ ]+pop %ecx + +[0-9a-f]+: 81 c1 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]*f94,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - 804919b: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - 80491a2: 90[ ]+nop * - 80491a3: 90[ ]+nop * - 80491a4: 2b 91 f4 ff ff ff[ ]+sub -0xc\(%ecx\),%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 91 f4 ff ff ff[ ]+sub -0xc\(%ecx\),%edx # ->R_386_TLS_TPOFF32 sG6 - 80491aa: 90[ ]+nop * - 80491ab: 90[ ]+nop * - 80491ac: 90[ ]+nop * - 80491ad: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE against global var - 80491ae: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 80491b4: 90[ ]+nop * - 80491b5: 90[ ]+nop * - 80491b6: 03 05 08 a1 04 08[ ]+add 0x804a108,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+108,%eax # ->R_386_TLS_TPOFF sG7 - 80491bc: 90[ ]+nop * - 80491bd: 90[ ]+nop * - 80491be: 90[ ]+nop * - 80491bf: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE against global var - 80491c0: 8b 15 20 a1 04 08[ ]+mov 0x804a120,%edx + +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+120,%edx # ->R_386_TLS_TPOFF sG8 - 80491c6: 90[ ]+nop * - 80491c7: 90[ ]+nop * - 80491c8: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - 80491cb: 90[ ]+nop * - 80491cc: 90[ ]+nop * - 80491cd: 90[ ]+nop * - 80491ce: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against global var defined in exec - 80491cf: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - 80491d6: 90[ ]+nop * - 80491d7: 90[ ]+nop * - 80491d8: 81 ea 8c 0f 00 00[ ]+sub \$0xf8c,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 ea 8c 0f 00 00[ ]+sub \$0xf8c,%edx # bg6 - 80491de: 90[ ]+nop * - 80491df: 90[ ]+nop * - 80491e0: 90[ ]+nop * - 80491e1: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE -> LE against global var defined in exec - 80491e2: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 80491e8: 90[ ]+nop * - 80491e9: 90[ ]+nop * - 80491ea: 81 c0 78 f0 ff ff[ ]+add \$0xfffff078,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c0 78 f0 ff ff[ ]+add \$0xfffff078,%eax # bg7 - 80491f0: 90[ ]+nop * - 80491f1: 90[ ]+nop * - 80491f2: 90[ ]+nop * - 80491f3: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE -> LE against global var defined # in exec - 80491f4: c7 c2 7c f0 ff ff[ ]+mov \$0xfffff07c,%edx + +[0-9a-f]+: c7 c2 7c f0 ff ff[ ]+mov \$0xfffff07c,%edx # bg8 - 80491fa: 90[ ]+nop * - 80491fb: 90[ ]+nop * - 80491fc: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - 80491ff: 90[ ]+nop * - 8049200: 90[ ]+nop * - 8049201: 90[ ]+nop * - 8049202: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against local var - 8049203: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - 804920a: 90[ ]+nop * - 804920b: 90[ ]+nop * - 804920c: 81 ea 6c 0f 00 00[ ]+sub \$0xf6c,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 ea 6c 0f 00 00[ ]+sub \$0xf6c,%edx # bl6 - 8049212: 90[ ]+nop * - 8049213: 90[ ]+nop * - 8049214: 90[ ]+nop * - 8049215: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE -> LE against local var - 8049216: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 804921c: 90[ ]+nop * - 804921d: 90[ ]+nop * - 804921e: 81 c0 98 f0 ff ff[ ]+add \$0xfffff098,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c0 98 f0 ff ff[ ]+add \$0xfffff098,%eax # bl7 - 8049224: 90[ ]+nop * - 8049225: 90[ ]+nop * - 8049226: 90[ ]+nop * - 8049227: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE -> LE against local var - 8049228: c7 c2 9c f0 ff ff[ ]+mov \$0xfffff09c,%edx + +[0-9a-f]+: c7 c2 9c f0 ff ff[ ]+mov \$0xfffff09c,%edx # bl8 - 804922e: 90[ ]+nop * - 804922f: 90[ ]+nop * - 8049230: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - 8049233: 90[ ]+nop * - 8049234: 90[ ]+nop * - 8049235: 90[ ]+nop * - 8049236: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against hidden but not local var - 8049237: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - 804923e: 90[ ]+nop * - 804923f: 90[ ]+nop * - 8049240: 81 ea ac 0f 00 00[ ]+sub \$0xfac,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 ea ac 0f 00 00[ ]+sub \$0xfac,%edx # sh6 - 8049246: 90[ ]+nop * - 8049247: 90[ ]+nop * - 8049248: 90[ ]+nop * - 8049249: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE -> LE against hidden but not local var - 804924a: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 8049250: 90[ ]+nop * - 8049251: 90[ ]+nop * - 8049252: 81 c0 58 f0 ff ff[ ]+add \$0xfffff058,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c0 58 f0 ff ff[ ]+add \$0xfffff058,%eax # sh7 - 8049258: 90[ ]+nop * - 8049259: 90[ ]+nop * - 804925a: 90[ ]+nop * - 804925b: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE -> LE against hidden but not # local var - 804925c: c7 c2 5c f0 ff ff[ ]+mov \$0xfffff05c,%edx + +[0-9a-f]+: c7 c2 5c f0 ff ff[ ]+mov \$0xfffff05c,%edx # sh8 - 8049262: 90[ ]+nop * - 8049263: 90[ ]+nop * - 8049264: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - 8049267: 90[ ]+nop * - 8049268: 90[ ]+nop * - 8049269: 90[ ]+nop * - 804926a: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @tpoff, global var defined in exec - 804926b: ba 00 10 00 00[ ]+mov \$0x1000,%edx + +[0-9a-f]+: ba 00 10 00 00[ ]+mov \$0x1000,%edx # sg1 - 8049270: 90[ ]+nop * - 8049271: 90[ ]+nop * - 8049272: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 8049278: 90[ ]+nop * - 8049279: 90[ ]+nop * - 804927a: 29 d0[ ]+sub %edx,%eax - 804927c: 90[ ]+nop * - 804927d: 90[ ]+nop * - 804927e: 90[ ]+nop * - 804927f: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 29 d0[ ]+sub %edx,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @tpoff, local var - 8049280: b8 7f 0f 00 00[ ]+mov \$0xf7f,%eax + +[0-9a-f]+: b8 7f 0f 00 00[ ]+mov \$0xf7f,%eax # bl1+1 - 8049285: 90[ ]+nop * - 8049286: 90[ ]+nop * - 8049287: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - 804928e: 90[ ]+nop * - 804928f: 90[ ]+nop * - 8049290: 29 c2[ ]+sub %eax,%edx - 8049292: 90[ ]+nop * - 8049293: 90[ ]+nop * - 8049294: 90[ ]+nop * - 8049295: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 29 c2[ ]+sub %eax,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @tpoff, hidden var defined in exec - 8049296: b8 bd 0f 00 00[ ]+mov \$0xfbd,%eax + +[0-9a-f]+: b8 bd 0f 00 00[ ]+mov \$0xfbd,%eax # sh1+3 - 804929b: 90[ ]+nop * - 804929c: 90[ ]+nop * - 804929d: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - 80492a4: 90[ ]+nop * - 80492a5: 90[ ]+nop * - 80492a6: 29 c2[ ]+sub %eax,%edx - 80492a8: 90[ ]+nop * - 80492a9: 90[ ]+nop * - 80492aa: 90[ ]+nop * - 80492ab: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 29 c2[ ]+sub %eax,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, global var defined in exec - 80492ac: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 80492b2: 90[ ]+nop * - 80492b3: 90[ ]+nop * - 80492b4: 8d 90 04 f0 ff ff[ ]+lea -0xffc\(%eax\),%edx + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 04 f0 ff ff[ ]+lea -0xffc\(%eax\),%edx # sg2 - 80492ba: 90[ ]+nop * - 80492bb: 90[ ]+nop * - 80492bc: 90[ ]+nop * - 80492bd: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, local var, non-canonical sequence - 80492be: b8 86 f0 ff ff[ ]+mov \$0xfffff086,%eax + +[0-9a-f]+: b8 86 f0 ff ff[ ]+mov \$0xfffff086,%eax # bl2+2 - 80492c3: 90[ ]+nop * - 80492c4: 90[ ]+nop * - 80492c5: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - 80492cc: 90[ ]+nop * - 80492cd: 90[ ]+nop * - 80492ce: 01 c2[ ]+add %eax,%edx - 80492d0: 90[ ]+nop * - 80492d1: 90[ ]+nop * - 80492d2: 90[ ]+nop * - 80492d3: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 01 c2[ ]+add %eax,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, hidden var defined in exec, non-canonical sequence - 80492d4: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - 80492db: 90[ ]+nop * - 80492dc: 90[ ]+nop * - 80492dd: 81 c2 45 f0 ff ff[ ]+add \$0xfffff045,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c2 45 f0 ff ff[ ]+add \$0xfffff045,%edx # sh2+1 - 80492e3: 90[ ]+nop * - 80492e4: 90[ ]+nop * - 80492e5: 90[ ]+nop * - 80492e6: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, global var defined in exec - 80492e7: 65 a1 08 f0 ff ff[ ]+mov %gs:0xfffff008,%eax + +[0-9a-f]+: 65 a1 08 f0 ff ff[ ]+mov %gs:0xfffff008,%eax # sg3 - 80492ed: 90[ ]+nop * - 80492ee: 90[ ]+nop * - 80492ef: 90[ ]+nop * - 80492f0: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, local var - 80492f1: 65 8b 15 8b f0 ff ff[ ]+mov %gs:0xfffff08b,%edx + +[0-9a-f]+: 65 8b 15 8b f0 ff ff[ ]+mov %gs:0xfffff08b,%edx # bl3+3 - 80492f8: 90[ ]+nop * - 80492f9: 90[ ]+nop * - 80492fa: 90[ ]+nop * - 80492fb: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, hidden var defined in exec - 80492fc: 65 8b 15 49 f0 ff ff[ ]+mov %gs:0xfffff049,%edx + +[0-9a-f]+: 65 8b 15 49 f0 ff ff[ ]+mov %gs:0xfffff049,%edx # sh3+1 - 8049303: 90[ ]+nop * - 8049304: 90[ ]+nop * - 8049305: 90[ ]+nop * - 8049306: 90[ ]+nop * - 8049307: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx - 804930a: c9[ ]+leave * - 804930b: c3[ ]+ret * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd index 5579334..9a9e4aa 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd @@ -78,11 +78,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +UND ___tls_get_addr @@ -102,6 +102,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +13 * +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 00000020 +0 +TLS +LOCAL +DEFAULT +9 sl1 +[0-9]+: 00000024 +0 +TLS +LOCAL +DEFAULT +9 sl2 +[0-9]+: 00000028 +0 +TLS +LOCAL +DEFAULT +9 sl3 @@ -110,6 +111,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 00000034 +0 +TLS +LOCAL +DEFAULT +9 sl6 +[0-9]+: 00000038 +0 +TLS +LOCAL +DEFAULT +9 sl7 +[0-9]+: 0000003c +0 +TLS +LOCAL +DEFAULT +9 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 00000080 +0 +TLS +LOCAL +DEFAULT +10 bl1 +[0-9]+: 00000084 +0 +TLS +LOCAL +DEFAULT +10 bl2 +[0-9]+: 00000088 +0 +TLS +LOCAL +DEFAULT +10 bl3 @@ -118,6 +120,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 00000094 +0 +TLS +LOCAL +DEFAULT +10 bl6 +[0-9]+: 00000098 +0 +TLS +LOCAL +DEFAULT +10 bl7 +[0-9]+: 0000009c +0 +TLS +LOCAL +DEFAULT +10 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 0+804a060 +0 +OBJECT +LOCAL +DEFAULT +11 _DYNAMIC +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +13 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 @@ -141,7 +144,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0000004c +0 +TLS +GLOBAL +HIDDEN +9 sh4 +[0-9]+: 00000078 +0 +TLS +GLOBAL +DEFAULT +10 bg7 +[0-9]+: 00000050 +0 +TLS +GLOBAL +HIDDEN +9 sh5 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+8049000 +0 +FUNC +GLOBAL +DEFAULT +8 fn2 +[0-9]+: 00000004 +0 +TLS +GLOBAL +DEFAULT +9 sg2 @@ -149,8 +152,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 00000040 +0 +TLS +GLOBAL +HIDDEN +9 sh1 +[0-9]+: 00000014 +0 +TLS +GLOBAL +DEFAULT +9 sg6 +[0-9]+: 00000018 +0 +TLS +GLOBAL +DEFAULT +9 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +13 _end +[0-9]+: 00000044 +0 +TLS +GLOBAL +HIDDEN +9 sh2 +[0-9]+: 00000054 +0 +TLS +GLOBAL +HIDDEN +9 sh6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbin.sd b/binutils-2.22/ld/testsuite/ld-i386/tlsbin.sd index 99dc4c5..4e14b24 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsbin.sd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbin.sd @@ -5,9 +5,9 @@ #objdump: -sj.got #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.got: - 804a100 [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .* - 804a110 00000000 00000000 00000000 00000000 .* - 804a120 00000000 +.* + [0-9a-f]+100 [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .* + [0-9a-f]+110 00000000 00000000 00000000 00000000 .* + [0-9a-f]+120 00000000 +.* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbin.td b/binutils-2.22/ld/testsuite/ld-i386/tlsbin.td index a1ed433..d960295 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsbin.td +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbin.td @@ -5,12 +5,12 @@ #objdump: -sj.tdata #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.tdata: - 804a000 11000000 12000000 13000000 14000000 .* - 804a010 15000000 16000000 17000000 18000000 .* - 804a020 41000000 42000000 43000000 44000000 .* - 804a030 45000000 46000000 47000000 48000000 .* - 804a040 01010000 02010000 03010000 04010000 .* - 804a050 05010000 06010000 07010000 08010000 .* + [0-9a-f]+000 11000000 12000000 13000000 14000000 .* + [0-9a-f]+010 15000000 16000000 17000000 18000000 .* + [0-9a-f]+020 41000000 42000000 43000000 44000000 .* + [0-9a-f]+030 45000000 46000000 47000000 48000000 .* + [0-9a-f]+040 01010000 02010000 03010000 04010000 .* + [0-9a-f]+050 05010000 06010000 07010000 08010000 .* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc-nacl.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc-nacl.rd new file mode 100644 index 0000000..e3b4340 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc-nacl.rd @@ -0,0 +1,156 @@ +#source: tlsbindesc.s +#source: tlsbin.s +#as: --32 +#ld: -melf_i386_nacl tmpdir/libtlslib.so --no-ld-generated-unwind-info +#readelf: -Ssrl +#target: i?86-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 + +\[[ 0-9]+\] \.text +PROGBITS +0+20000 .* + +\[[ 0-9]+\] \.interp +.* + +\[[ 0-9]+\] \.hash +.* + +\[[ 0-9]+\] \.dynsym +.* + +\[[ 0-9]+\] \.dynstr +.* + +\[[ 0-9]+\] \.rel.dyn +.* + +\[[ 0-9]+\] \.tdata +PROGBITS +0*10031000 [0-9a-f]+ 000060 00 WAT +0 +0 4096 + +\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000040 00 WAT +0 +0 +1 + +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10031060 .* + +\[[ 0-9]+\] \.got +PROGBITS +0*100310e0 .* + +\[[ 0-9]+\] \.got\.plt +PROGBITS +0*10031104 .* + +\[[ 0-9]+\] \.shstrtab +.* + +\[[ 0-9]+\] \.symtab +.* + +\[[ 0-9]+\] \.strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is EXEC \(Executable file\) +Entry point 0x0*20158 +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +PHDR.* + +INTERP.* +.*Requesting program interpreter.* + +LOAD.* + +LOAD.* + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000 + + Section to Segment mapping: + +Segment Sections... + +00 + + +01 +.interp * + +02 +.text * + +03 +.interp .hash .dynsym .dynstr .rel.dyn * + +04 +.tdata .dynamic .got .got.plt * + +05 +.dynamic * + +06 +.tdata .tbss * + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries: + Offset +Info +Type +Sym.Value +Sym. Name +0*100310e0 +0000010e R_386_TLS_TPOFF +0+ +sG3 +0*100310e4 +0000020e R_386_TLS_TPOFF +0+ +sG5 +0*100310e8 +0000030e R_386_TLS_TPOFF +0+ +sG7 +0*100310ec +00000425 R_386_TLS_TPOFF32 0+ +sG2 +0*100310f0 +00000525 R_386_TLS_TPOFF32 0+ +sG4 +0*100310f4 +0000050e R_386_TLS_TPOFF +0+ +sG4 +0*100310f8 +00000725 R_386_TLS_TPOFF32 0+ +sG6 +0*100310fc +00000825 R_386_TLS_TPOFF32 0+ +sG1 +0*10031100 +00000b0e R_386_TLS_TPOFF +0+ +sG8 + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 00000020 +0 +TLS +LOCAL +DEFAULT +7 sl1 + +[0-9]+: 00000024 +0 +TLS +LOCAL +DEFAULT +7 sl2 + +[0-9]+: 00000028 +0 +TLS +LOCAL +DEFAULT +7 sl3 + +[0-9]+: 0000002c +0 +TLS +LOCAL +DEFAULT +7 sl4 + +[0-9]+: 00000030 +0 +TLS +LOCAL +DEFAULT +7 sl5 + +[0-9]+: 00000034 +0 +TLS +LOCAL +DEFAULT +7 sl6 + +[0-9]+: 00000038 +0 +TLS +LOCAL +DEFAULT +7 sl7 + +[0-9]+: 0000003c +0 +TLS +LOCAL +DEFAULT +7 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 00000080 +0 +TLS +LOCAL +DEFAULT +8 bl1 + +[0-9]+: 00000084 +0 +TLS +LOCAL +DEFAULT +8 bl2 + +[0-9]+: 00000088 +0 +TLS +LOCAL +DEFAULT +8 bl3 + +[0-9]+: 0000008c +0 +TLS +LOCAL +DEFAULT +8 bl4 + +[0-9]+: 00000090 +0 +TLS +LOCAL +DEFAULT +8 bl5 + +[0-9]+: 00000094 +0 +TLS +LOCAL +DEFAULT +8 bl6 + +[0-9]+: 00000098 +0 +TLS +LOCAL +DEFAULT +8 bl7 + +[0-9]+: 0000009c +0 +TLS +LOCAL +DEFAULT +8 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 00001000 +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ + +[0-9]+: 0*10031060 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 + +[0-9]+: 0000001c +0 +TLS +GLOBAL +DEFAULT +7 sg8 + +[0-9]+: 0000007c +0 +TLS +GLOBAL +DEFAULT +8 bg8 + +[0-9]+: 00000074 +0 +TLS +GLOBAL +DEFAULT +8 bg6 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 00000068 +0 +TLS +GLOBAL +DEFAULT +8 bg3 + +[0-9]+: 00000008 +0 +TLS +GLOBAL +DEFAULT +7 sg3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 + +[0-9]+: 00000048 +0 +TLS +GLOBAL +HIDDEN +7 sh3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0000000c +0 +TLS +GLOBAL +DEFAULT +7 sg4 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 + +[0-9]+: 00000010 +0 +TLS +GLOBAL +DEFAULT +7 sg5 + +[0-9]+: 00000070 +0 +TLS +GLOBAL +DEFAULT +8 bg5 + +[0-9]+: 00000058 +0 +TLS +GLOBAL +HIDDEN +7 sh7 + +[0-9]+: 0000005c +0 +TLS +GLOBAL +HIDDEN +7 sh8 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 + +[0-9]+: 0+20158 +0 +FUNC +GLOBAL +DEFAULT +1 _start + +[0-9]+: 0000004c +0 +TLS +GLOBAL +HIDDEN +7 sh4 + +[0-9]+: 00000078 +0 +TLS +GLOBAL +DEFAULT +8 bg7 + +[0-9]+: 00000050 +0 +TLS +GLOBAL +HIDDEN +7 sh5 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: 0+20000 +0 +FUNC +GLOBAL +DEFAULT +1 fn2 + +[0-9]+: 00000004 +0 +TLS +GLOBAL +DEFAULT +7 sg2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: 00000040 +0 +TLS +GLOBAL +HIDDEN +7 sh1 + +[0-9]+: 00000014 +0 +TLS +GLOBAL +DEFAULT +7 sg6 + +[0-9]+: 00000018 +0 +TLS +GLOBAL +DEFAULT +7 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end + +[0-9]+: 00000044 +0 +TLS +GLOBAL +HIDDEN +7 sh2 + +[0-9]+: 00000054 +0 +TLS +GLOBAL +HIDDEN +7 sh6 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 + +[0-9]+: 00000064 +0 +TLS +GLOBAL +DEFAULT +8 bg2 + +[0-9]+: 00000060 +0 +TLS +GLOBAL +DEFAULT +8 bg1 + +[0-9]+: 0000006c +0 +TLS +GLOBAL +DEFAULT +8 bg4 diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.dd b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.dd index db54764..04a37a1 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.dd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.dd @@ -14,443 +14,442 @@ # 0x60 -0x40 bg1..bg8 # 0x80 -0x20 bl1..bl8 -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: [0-9a-f]+ <fn2>: - [0-9a-f]+: 55[ ]+push %ebp - [0-9a-f]+: 89 e5[ ]+mov %esp,%ebp - [0-9a-f]+: 53[ ]+push %ebx - [0-9a-f]+: 50[ ]+push %eax - [0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <fn2\+0xa> - [0-9a-f]+: 5b[ ]+pop %ebx - [0-9a-f]+: 81 c3 fa 10 00 00[ ]+add \$0x10fa,%ebx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 55[ ]+push %ebp + +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp + +[0-9a-f]+: 53[ ]+push %ebx + +[0-9a-f]+: 50[ ]+push %eax + +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <fn2\+0xa> + +[0-9a-f]+: 5b[ ]+pop %ebx + +[0-9a-f]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]*10fa,%ebx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable - [0-9a-f]+: 8b 83 f8 ff ff ff[ ]+mov -0x8\(%ebx\),%eax + +[0-9a-f]+: 8b 83 f8 ff ff ff[ ]+mov -0x8\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG1 - [0-9a-f]+: f7 d8[ ]+neg %eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: f7 d8[ ]+neg %eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through @gottpoff too - [0-9a-f]+: 8b 83 e8 ff ff ff[ ]+mov -0x18\(%ebx\),%eax + +[0-9a-f]+: 8b 83 e8 ff ff ff[ ]+mov -0x18\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG2 - [0-9a-f]+: f7 d8[ ]+neg %eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: f7 d8[ ]+neg %eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through @gotntpoff too - [0-9a-f]+: 8b 83 dc ff ff ff[ ]+mov -0x24\(%ebx\),%eax + +[0-9a-f]+: 8b 83 dc ff ff ff[ ]+mov -0x24\(%ebx\),%eax # ->R_386_TLS_TPOFF sG3 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through @gottpoff and @gotntpoff too - [0-9a-f]+: 8b 83 f0 ff ff ff[ ]+mov -0x10\(%ebx\),%eax + +[0-9a-f]+: 8b 83 f0 ff ff ff[ ]+mov -0x10\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG4 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with global variable defined in executable - [0-9a-f]+: 8d 05 00 f0 ff ff[ ]+lea 0xfffff000,%eax + +[0-9a-f]+: 8d 05 00 f0 ff ff[ ]+lea 0xfffff000,%eax # sg1 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with local variable defined in executable - [0-9a-f]+: 8d 05 20 f0 ff ff[ ]+lea 0xfffff020,%eax + +[0-9a-f]+: 8d 05 20 f0 ff ff[ ]+lea 0xfffff020,%eax # sl1 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with hidden variable defined in executable - [0-9a-f]+: 8d 05 40 f0 ff ff[ ]+lea 0xfffff040,%eax + +[0-9a-f]+: 8d 05 40 f0 ff ff[ ]+lea 0xfffff040,%eax # sh1 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD -> LE - [0-9a-f]+: 8d 05 00 00 00 00[ ]+lea 0x0,%eax - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 90 20 f0 ff ff[ ]+lea -0xfe0\(%eax\),%edx + +[0-9a-f]+: 8d 05 00 00 00 00[ ]+lea 0x0,%eax + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 20 f0 ff ff[ ]+lea -0xfe0\(%eax\),%edx # sl1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 88 24 f0 ff ff[ ]+lea -0xfdc\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 24 f0 ff ff[ ]+lea -0xfdc\(%eax\),%ecx # sl2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD -> LE against hidden variables - [0-9a-f]+: 8d 05 00 00 00 00[ ]+lea 0x0,%eax - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 90 40 f0 ff ff[ ]+lea -0xfc0\(%eax\),%edx + +[0-9a-f]+: 8d 05 00 00 00 00[ ]+lea 0x0,%eax + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 40 f0 ff ff[ ]+lea -0xfc0\(%eax\),%edx # sh1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 88 44 f0 ff ff[ ]+lea -0xfbc\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 44 f0 ff ff[ ]+lea -0xfbc\(%eax\),%ecx # sh2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b e8 ff ff ff[ ]+sub -0x18\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b e8 ff ff ff[ ]+sub -0x18\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 sG2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 ec ff ff ff[ ]+sub -0x14\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 ec ff ff ff[ ]+sub -0x14\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b dc ff ff ff[ ]+add -0x24\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b dc ff ff ff[ ]+add -0x24\(%ebx\),%ecx # ->R_386_TLS_TPOFF sG3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax # ->R_386_TLS_TPOFF sG4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against global var defined in exec - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 e9 00 10 00 00[ ]+sub \$0x1000,%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 e9 00 10 00 00[ ]+sub \$0x1000,%ecx # sg1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE -> LE against local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 c0 20 f0 ff ff[ ]+add \$0xfffff020,%eax + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c0 20 f0 ff ff[ ]+add \$0xfffff020,%eax # sl1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against hidden var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 e9 c0 0f 00 00[ ]+sub \$0xfc0,%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 e9 c0 0f 00 00[ ]+sub \$0xfc0,%ecx # sh1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct access through %gs # @gotntpoff IE against global var - [0-9a-f]+: 8b 8b e0 ff ff ff[ ]+mov -0x20\(%ebx\),%ecx + +[0-9a-f]+: 8b 8b e0 ff ff ff[ ]+mov -0x20\(%ebx\),%ecx # ->R_386_TLS_TPOFF sG5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE->LE against local var - [0-9a-f]+: c7 c0 30 f0 ff ff[ ]+mov \$0xfffff030,%eax + +[0-9a-f]+: c7 c0 30 f0 ff ff[ ]+mov \$0xfffff030,%eax # sl5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 10[ ]+mov %gs:\(%eax\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 10[ ]+mov %gs:\(%eax\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE->LE against hidden var - [0-9a-f]+: c7 c2 50 f0 ff ff[ ]+mov \$0xfffff050,%edx + +[0-9a-f]+: c7 c2 50 f0 ff ff[ ]+mov \$0xfffff050,%edx # sh5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 12[ ]+mov %gs:\(%edx\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx - [0-9a-f]+: c9[ ]+leave * - [0-9a-f]+: c3[ ]+ret * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 12[ ]+mov %gs:\(%edx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax [0-9a-f]+ <_start>: - [0-9a-f]+: 55[ ]+push %ebp - [0-9a-f]+: 89 e5[ ]+mov %esp,%ebp - [0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <_start\+0x8> - [0-9a-f]+: 59[ ]+pop %ecx - [0-9a-f]+: 81 c1 a4 0f 00 00[ ]+add \$0xfa4,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 55[ ]+push %ebp + +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp + +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <_start\+0x8> + +[0-9a-f]+: 59[ ]+pop %ecx + +[0-9a-f]+: 81 c1 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]*fa4,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 91 f4 ff ff ff[ ]+sub -0xc\(%ecx\),%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 91 f4 ff ff ff[ ]+sub -0xc\(%ecx\),%edx # ->R_386_TLS_TPOFF32 sG6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE against global var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 05 e8 a0 04 08[ ]+add 0x804a0e8,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+0e8,%eax # ->R_386_TLS_TPOFF sG7 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE against global var - [0-9a-f]+: 8b 15 00 a1 04 08[ ]+mov 0x804a100,%edx + +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+100,%edx # ->R_386_TLS_TPOFF sG8 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against global var defined in exec - [0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 ea 8c 0f 00 00[ ]+sub \$0xf8c,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 ea 8c 0f 00 00[ ]+sub \$0xf8c,%edx # bg6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE -> LE against global var defined in exec - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 c0 78 f0 ff ff[ ]+add \$0xfffff078,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c0 78 f0 ff ff[ ]+add \$0xfffff078,%eax # bg7 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE -> LE against global var defined # in exec - [0-9a-f]+: c7 c2 7c f0 ff ff[ ]+mov \$0xfffff07c,%edx + +[0-9a-f]+: c7 c2 7c f0 ff ff[ ]+mov \$0xfffff07c,%edx # bg8 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against local var - [0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 ea 6c 0f 00 00[ ]+sub \$0xf6c,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 ea 6c 0f 00 00[ ]+sub \$0xf6c,%edx # bl6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE -> LE against local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 c0 98 f0 ff ff[ ]+add \$0xfffff098,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c0 98 f0 ff ff[ ]+add \$0xfffff098,%eax # bl7 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE -> LE against local var - [0-9a-f]+: c7 c2 9c f0 ff ff[ ]+mov \$0xfffff09c,%edx + +[0-9a-f]+: c7 c2 9c f0 ff ff[ ]+mov \$0xfffff09c,%edx # bl8 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE -> LE against hidden but not local var - [0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 ea ac 0f 00 00[ ]+sub \$0xfac,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 ea ac 0f 00 00[ ]+sub \$0xfac,%edx # sh6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE -> LE against hidden but not local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 c0 58 f0 ff ff[ ]+add \$0xfffff058,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c0 58 f0 ff ff[ ]+add \$0xfffff058,%eax # sh7 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE -> LE against hidden but not # local var - [0-9a-f]+: c7 c2 5c f0 ff ff[ ]+mov \$0xfffff05c,%edx + +[0-9a-f]+: c7 c2 5c f0 ff ff[ ]+mov \$0xfffff05c,%edx # sh8 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @tpoff, global var defined in exec - [0-9a-f]+: ba 00 10 00 00[ ]+mov \$0x1000,%edx + +[0-9a-f]+: ba 00 10 00 00[ ]+mov \$0x1000,%edx # sg1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 29 d0[ ]+sub %edx,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 29 d0[ ]+sub %edx,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @tpoff, local var - [0-9a-f]+: b8 7f 0f 00 00[ ]+mov \$0xf7f,%eax + +[0-9a-f]+: b8 7f 0f 00 00[ ]+mov \$0xf7f,%eax # bl1+1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 29 c2[ ]+sub %eax,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 29 c2[ ]+sub %eax,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @tpoff, hidden var defined in exec - [0-9a-f]+: b8 bd 0f 00 00[ ]+mov \$0xfbd,%eax + +[0-9a-f]+: b8 bd 0f 00 00[ ]+mov \$0xfbd,%eax # sh1+3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 29 c2[ ]+sub %eax,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 29 c2[ ]+sub %eax,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, global var defined in exec - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 90 04 f0 ff ff[ ]+lea -0xffc\(%eax\),%edx + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 04 f0 ff ff[ ]+lea -0xffc\(%eax\),%edx # sg2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, local var, non-canonical sequence - [0-9a-f]+: b8 86 f0 ff ff[ ]+mov \$0xfffff086,%eax + +[0-9a-f]+: b8 86 f0 ff ff[ ]+mov \$0xfffff086,%eax # bl2+2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 01 c2[ ]+add %eax,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 01 c2[ ]+add %eax,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, hidden var defined in exec, non-canonical sequence - [0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 81 c2 45 f0 ff ff[ ]+add \$0xfffff045,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00[ ]+mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c2 45 f0 ff ff[ ]+add \$0xfffff045,%edx # sh2+1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, global var defined in exec - [0-9a-f]+: 65 a1 08 f0 ff ff[ ]+mov %gs:0xfffff008,%eax + +[0-9a-f]+: 65 a1 08 f0 ff ff[ ]+mov %gs:0xfffff008,%eax # sg3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, local var - [0-9a-f]+: 65 8b 15 8b f0 ff ff[ ]+mov %gs:0xfffff08b,%edx + +[0-9a-f]+: 65 8b 15 8b f0 ff ff[ ]+mov %gs:0xfffff08b,%edx # bl3+3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, hidden var defined in exec - [0-9a-f]+: 65 8b 15 49 f0 ff ff[ ]+mov %gs:0xfffff049,%edx + +[0-9a-f]+: 65 8b 15 49 f0 ff ff[ ]+mov %gs:0xfffff049,%edx # sh3+1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx - [0-9a-f]+: c9[ ]+leave * - [0-9a-f]+: c3[ ]+ret * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd index a334e56..7fa8a4a 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd @@ -72,11 +72,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG7 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 Symbol table '\.symtab' contains [0-9]+ entries: @@ -93,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 00000020 +0 +TLS +LOCAL +DEFAULT +7 sl1 +[0-9]+: 00000024 +0 +TLS +LOCAL +DEFAULT +7 sl2 +[0-9]+: 00000028 +0 +TLS +LOCAL +DEFAULT +7 sl3 @@ -101,6 +102,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 00000034 +0 +TLS +LOCAL +DEFAULT +7 sl6 +[0-9]+: 00000038 +0 +TLS +LOCAL +DEFAULT +7 sl7 +[0-9]+: 0000003c +0 +TLS +LOCAL +DEFAULT +7 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 00000080 +0 +TLS +LOCAL +DEFAULT +8 bl1 +[0-9]+: 00000084 +0 +TLS +LOCAL +DEFAULT +8 bl2 +[0-9]+: 00000088 +0 +TLS +LOCAL +DEFAULT +8 bl3 @@ -109,6 +111,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 00000094 +0 +TLS +LOCAL +DEFAULT +8 bl6 +[0-9]+: 00000098 +0 +TLS +LOCAL +DEFAULT +8 bl7 +[0-9]+: 0000009c +0 +TLS +LOCAL +DEFAULT +8 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 00001000 +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ +[0-9]+: 0+804a060 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ @@ -133,7 +136,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0000004c +0 +TLS +GLOBAL +HIDDEN +7 sh4 +[0-9]+: 00000078 +0 +TLS +GLOBAL +DEFAULT +8 bg7 +[0-9]+: 00000050 +0 +TLS +GLOBAL +HIDDEN +7 sh5 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+8049000 +0 +FUNC +GLOBAL +DEFAULT +6 fn2 +[0-9]+: 00000004 +0 +TLS +GLOBAL +DEFAULT +7 sg2 @@ -141,8 +144,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 00000040 +0 +TLS +GLOBAL +HIDDEN +7 sh1 +[0-9]+: 00000014 +0 +TLS +GLOBAL +DEFAULT +7 sg6 +[0-9]+: 00000018 +0 +TLS +GLOBAL +DEFAULT +7 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end +[0-9]+: 00000044 +0 +TLS +GLOBAL +HIDDEN +7 sh2 +[0-9]+: 00000054 +0 +TLS +GLOBAL +HIDDEN +7 sh6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG8 diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.sd b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.sd index 7d56466..d719eea 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.sd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.sd @@ -5,9 +5,9 @@ #objdump: -sj.got #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.got: - 804a0e0 [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .* - 804a0f0 00000000 00000000 00000000 00000000 .* - 804a100 00000000 +.* + [0-9a-f]+0e0 [0-9a-f]+ 00000000 00000000 [0-9a-f]+ .* + [0-9a-f]+0f0 00000000 00000000 00000000 00000000 .* + [0-9a-f]+100 00000000 +.* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.td b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.td index 64859dd..12a5a89 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.td +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.td @@ -5,12 +5,12 @@ #objdump: -sj.tdata #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.tdata: - 804a000 11000000 12000000 13000000 14000000 .* - 804a010 15000000 16000000 17000000 18000000 .* - 804a020 41000000 42000000 43000000 44000000 .* - 804a030 45000000 46000000 47000000 48000000 .* - 804a040 01010000 02010000 03010000 04010000 .* - 804a050 05010000 06010000 07010000 08010000 .* + [0-9a-f]+000 11000000 12000000 13000000 14000000 .* + [0-9a-f]+010 15000000 16000000 17000000 18000000 .* + [0-9a-f]+020 41000000 42000000 43000000 44000000 .* + [0-9a-f]+030 45000000 46000000 47000000 48000000 .* + [0-9a-f]+040 01010000 02010000 03010000 04010000 .* + [0-9a-f]+050 05010000 06010000 07010000 08010000 .* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc-nacl.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc-nacl.rd new file mode 100644 index 0000000..9f40d02 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc-nacl.rd @@ -0,0 +1,153 @@ +#source: tlsdesc.s +#source: tlspic2.s +#as: --32 +#ld: -shared -melf_i386_nacl --no-ld-generated-unwind-info +#readelf: -Ssrl +#target: i?86-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 + +\[[ 0-9]+\] \.text +.* + +\[[ 0-9]+\] \.hash +.* + +\[[ 0-9]+\] \.dynsym +.* + +\[[ 0-9]+\] \.dynstr +.* + +\[[ 0-9]+\] \.rel.dyn +.* + +\[[ 0-9]+\] \.rel.plt +.* + +\[[ 0-9]+\] \.tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000060 00 WAT +0 +0 +1 + +\[[ 0-9]+\] \.tbss +NOBITS +[0-9aa-f]+ [0-9a-f]+ 000020 00 WAT +0 +0 +1 + +\[[ 0-9]+\] \.dynamic +.* + +\[[ 0-9]+\] \.got +.* + +\[[ 0-9]+\] \.got.plt +.* + +\[[ 0-9]+\] \.shstrtab +.* + +\[[ 0-9]+\] \.symtab +.* + +\[[ 0-9]+\] \.strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is DYN \(Shared object file\) +Entry point 0x[0-9a-f]+ +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +LOAD.* + +LOAD.* + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1 + + Section to Segment mapping: + +Segment Sections... + +00 +.text * + +01 +.hash .dynsym .dynstr .rel.dyn .rel.plt * + +02 +.tdata .dynamic .got .got.plt * + +03 +.dynamic * + +04 +.tdata .tbss * + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF +0+8 +sg3 +[0-9a-f ]+R_386_TLS_TPOFF32 0+c +sg4 +[0-9a-f ]+R_386_TLS_TPOFF +0+c +sg4 +[0-9a-f ]+R_386_TLS_TPOFF +0+10 +sg5 +[0-9a-f ]+R_386_TLS_TPOFF32 0+4 +sg2 + +Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 5 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_TLS_DESC * 0+ +sg1 +[0-9a-f ]+R_386_TLS_DESC * +[0-9a-f ]+R_386_TLS_DESC * +[0-9a-f ]+R_386_TLS_DESC * +[0-9a-f ]+R_386_TLS_DESC * + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +7 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +7 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +7 sl1 + +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +7 sl2 + +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +7 sl3 + +[0-9]+: 0+2c +0 +TLS +LOCAL +DEFAULT +7 sl4 + +[0-9]+: 0+30 +0 +TLS +LOCAL +DEFAULT +7 sl5 + +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +7 sl6 + +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7 + +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8 + +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1 + +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +7 sh3 + +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +8 sH2 + +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +8 sH7 + +[0-9]+: 0+58 +0 +TLS +LOCAL +DEFAULT +7 sh7 + +[0-9]+: 0+5c +0 +TLS +LOCAL +DEFAULT +7 sh8 + +[0-9]+: 0+6c +0 +TLS +LOCAL +DEFAULT +8 sH4 + +[0-9]+: 0+4c +0 +TLS +LOCAL +DEFAULT +7 sh4 + +[0-9]+: 0+68 +0 +TLS +LOCAL +DEFAULT +8 sH3 + +[0-9]+: 0+50 +0 +TLS +LOCAL +DEFAULT +7 sh5 + +[0-9]+: 0+70 +0 +TLS +LOCAL +DEFAULT +8 sH5 + +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +8 sH6 + +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +8 sH8 + +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +7 sh1 + +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +7 sh2 + +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +7 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +7 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +7 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +1 fn1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.dd b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.dd index 85db8dd..fad3706 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.dd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.dd @@ -5,387 +5,387 @@ #objdump: -drj.text #target: i?86-*-* -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: [0-9a-f]+ <fn1>: - [0-9a-f]+: 55[ ]+push %ebp - [0-9a-f]+: 89 e5[ ]+mov %esp,%ebp - [0-9a-f]+: 53[ ]+push %ebx - [0-9a-f]+: 50[ ]+push %eax - [0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <fn1\+0xa> - [0-9a-f]+: 5b[ ]+pop %ebx - [0-9a-f]+: 81 c3 9a 13 00 00[ ]+add \$0x[0-9a-f]+,%ebx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 55[ ]+push %ebp + +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp + +[0-9a-f]+: 53[ ]+push %ebx + +[0-9a-f]+: 50[ ]+push %eax + +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <.*> + +[0-9a-f]+: 5b[ ]+pop %ebx + +[0-9a-f]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]+,%ebx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GDesc - [0-9a-f]+: 8d 83 24 00 00 00[ ]+lea 0x24\(%ebx\),%eax + +[0-9a-f]+: 8d 83 24 00 00 00[ ]+lea 0x24\(%ebx\),%eax # ->R_386_TLS_DESC sg1 - [0-9a-f]+: ff 10[ ]+call \*\(%eax\) - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gottpoff too - [0-9a-f]+: 8b 83 f8 ff ff ff[ ]+mov -0x8\(%ebx\),%eax + +[0-9a-f]+: 8b 83 f8 ff ff ff[ ]+mov -0x8\(%ebx\),%eax # ->R_386_TLS_TPOFF sg2 - [0-9a-f]+: f7 d8[ ]+neg %eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: f7 d8[ ]+neg %eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gotntpoff too - [0-9a-f]+: 8b 83 c4 ff ff ff[ ]+mov -0x3c\(%ebx\),%eax + +[0-9a-f]+: 8b 83 c4 ff ff ff[ ]+mov -0x3c\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sg3 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gottpoff and - [0-9a-f]+: 8b 83 d4 ff ff ff[ ]+mov -0x2c\(%ebx\),%eax + +[0-9a-f]+: 8b 83 d4 ff ff ff[ ]+mov -0x2c\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sg4 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD against local variable - [0-9a-f]+: 8d 83 0c 00 00 00[ ]+lea 0xc\(%ebx\),%eax + +[0-9a-f]+: 8d 83 0c 00 00 00[ ]+lea 0xc\(%ebx\),%eax # ->R_386_TLS_DESC sl1 - [0-9a-f]+: ff 10[ ]+call \*\(%eax\) - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against local variable referenced through @gottpoff too - [0-9a-f]+: 8b 83 b0 ff ff ff[ ]+mov -0x50\(%ebx\),%eax + +[0-9a-f]+: 8b 83 b0 ff ff ff[ ]+mov -0x50\(%ebx\),%eax # ->R_386_TLS_TPOFF sl2 - [0-9a-f]+: f7 d8[ ]+neg %eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: f7 d8[ ]+neg %eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against local variable referenced through @gotntpoff - [0-9a-f]+: 8b 83 b4 ff ff ff[ ]+mov -0x4c\(%ebx\),%eax + +[0-9a-f]+: 8b 83 b4 ff ff ff[ ]+mov -0x4c\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sl3 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against local variable referenced through @gottpoff and - [0-9a-f]+: 8b 83 bc ff ff ff[ ]+mov -0x44\(%ebx\),%eax + +[0-9a-f]+: 8b 83 bc ff ff ff[ ]+mov -0x44\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sl4 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD against hidden and local variable - [0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax + +[0-9a-f]+: 8d 83 2c 00 00 00[ ]+lea 0x2c\(%ebx\),%eax # ->R_386_TLS_DESC sh1 - [0-9a-f]+: ff 10[ ]+call \*\(%eax\) - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden and local variable referenced through @gottpoff too - [0-9a-f]+: 8b 83 fc ff ff ff[ ]+mov -0x4\(%ebx\),%eax + +[0-9a-f]+: 8b 83 fc ff ff ff[ ]+mov -0x4\(%ebx\),%eax # ->R_386_TLS_TPOFF sh2 - [0-9a-f]+: f7 d8[ ]+neg %eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: f7 d8[ ]+neg %eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden and local variable referenced through @gotntpoff too - [0-9a-f]+: 8b 83 c8 ff ff ff[ ]+mov -0x38\(%ebx\),%eax + +[0-9a-f]+: 8b 83 c8 ff ff ff[ ]+mov -0x38\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sh3 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden and local variable referenced through @gottpoff and @gotntpoff too - [0-9a-f]+: 8b 83 e8 ff ff ff[ ]+mov -0x18\(%ebx\),%eax + +[0-9a-f]+: 8b 83 e8 ff ff ff[ ]+mov -0x18\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sh4 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD against hidden but not local variable - [0-9a-f]+: 8d 83 14 00 00 00[ ]+lea 0x14\(%ebx\),%eax + +[0-9a-f]+: 8d 83 14 00 00 00[ ]+lea 0x14\(%ebx\),%eax # ->R_386_TLS_DESC sH1 - [0-9a-f]+: ff 10[ ]+call \*\(%eax\) - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden but not local variable referenced through - [0-9a-f]+: 8b 83 cc ff ff ff[ ]+mov -0x34\(%ebx\),%eax + +[0-9a-f]+: 8b 83 cc ff ff ff[ ]+mov -0x34\(%ebx\),%eax # ->R_386_TLS_TPOFF sH2 - [0-9a-f]+: f7 d8[ ]+neg %eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: f7 d8[ ]+neg %eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden but not local variable referenced through - [0-9a-f]+: 8b 83 ec ff ff ff[ ]+mov -0x14\(%ebx\),%eax + +[0-9a-f]+: 8b 83 ec ff ff ff[ ]+mov -0x14\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sH3 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden but not local variable referenced through - [0-9a-f]+: 8b 83 e0 ff ff ff[ ]+mov -0x20\(%ebx\),%eax + +[0-9a-f]+: 8b 83 e0 ff ff ff[ ]+mov -0x20\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sH4 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD - [0-9a-f]+: 8d 83 1c 00 00 00[ ]+lea 0x1c\(%ebx\),%eax + +[0-9a-f]+: 8d 83 1c 00 00 00[ ]+lea 0x1c\(%ebx\),%eax # ->R_386_TLS_DESC _TLS_MODULE_BASE_ - [0-9a-f]+: ff 10[ ]+call \*\(%eax\) - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 90 20 00 00 00[ ]+lea 0x20\(%eax\),%edx + +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 20 00 00 00[ ]+lea 0x20\(%eax\),%edx # sl1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 88 26 00 00 00[ ]+lea 0x26\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 26 00 00 00[ ]+lea 0x26\(%eax\),%ecx # sl2+2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD against hidden and local variables - [0-9a-f]+: 8d 90 40 00 00 00[ ]+lea 0x40\(%eax\),%edx + +[0-9a-f]+: 8d 90 40 00 00 00[ ]+lea 0x40\(%eax\),%edx # sh1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 88 47 00 00 00[ ]+lea 0x47\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 47 00 00 00[ ]+lea 0x47\(%eax\),%ecx # sh2+3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD against hidden but not local variables - [0-9a-f]+: 8d 90 60 00 00 00[ ]+lea 0x60\(%eax\),%edx + +[0-9a-f]+: 8d 90 60 00 00 00[ ]+lea 0x60\(%eax\),%edx # sH1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 88 65 00 00 00[ ]+lea 0x65\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 65 00 00 00[ ]+lea 0x65\(%eax\),%ecx # sH2+1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b f8 ff ff ff[ ]+sub -0x8\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b f8 ff ff ff[ ]+sub -0x8\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 sg2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 d0 ff ff ff[ ]+sub -0x30\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 d0 ff ff ff[ ]+sub -0x30\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sg4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b c4 ff ff ff[ ]+add -0x3c\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b c4 ff ff ff[ ]+add -0x3c\(%ebx\),%ecx # ->R_386_TLS_TPOFF sg3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 d4 ff ff ff[ ]+add -0x2c\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 d4 ff ff ff[ ]+add -0x2c\(%ebx\),%eax # ->R_386_TLS_TPOFF sg4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b b0 ff ff ff[ ]+sub -0x50\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b b0 ff ff ff[ ]+sub -0x50\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 [0xdcffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 b8 ff ff ff[ ]+sub -0x48\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 b8 ff ff ff[ ]+sub -0x48\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0xd4ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b b4 ff ff ff[ ]+add -0x4c\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b b4 ff ff ff[ ]+add -0x4c\(%ebx\),%ecx # ->R_386_TLS_TPOFF [0x28000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 bc ff ff ff[ ]+add -0x44\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 bc ff ff ff[ ]+add -0x44\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x2c000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against hidden and local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b fc ff ff ff[ ]+sub -0x4\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b fc ff ff ff[ ]+sub -0x4\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 [0xbcffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against hidden and local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 e4 ff ff ff[ ]+sub -0x1c\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 e4 ff ff ff[ ]+sub -0x1c\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0xb4ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden and local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b c8 ff ff ff[ ]+add -0x38\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b c8 ff ff ff[ ]+add -0x38\(%ebx\),%ecx # ->R_386_TLS_TPOFF [0x48000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden and local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 e8 ff ff ff[ ]+add -0x18\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 e8 ff ff ff[ ]+add -0x18\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x4c000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against hidden but not local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b cc ff ff ff[ ]+sub -0x34\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b cc ff ff ff[ ]+sub -0x34\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 [0x9cffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against hidden but not local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 dc ff ff ff[ ]+sub -0x24\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 dc ff ff ff[ ]+sub -0x24\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0x94ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden but not local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b ec ff ff ff[ ]+add -0x14\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b ec ff ff ff[ ]+add -0x14\(%ebx\),%ecx # ->R_386_TLS_TPOFF [0x68000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden but not local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 e0 ff ff ff[ ]+add -0x20\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 e0 ff ff ff[ ]+add -0x20\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x6c000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct access through %gs # @gotntpoff IE against global var - [0-9a-f]+: 8b 8b d8 ff ff ff[ ]+mov -0x28\(%ebx\),%ecx + +[0-9a-f]+: 8b 8b d8 ff ff ff[ ]+mov -0x28\(%ebx\),%ecx # ->R_386_TLS_TPOFF sg5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against local var - [0-9a-f]+: 8b 83 c0 ff ff ff[ ]+mov -0x40\(%ebx\),%eax + +[0-9a-f]+: 8b 83 c0 ff ff ff[ ]+mov -0x40\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x30000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 10[ ]+mov %gs:\(%eax\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 10[ ]+mov %gs:\(%eax\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden and local var - [0-9a-f]+: 8b 93 f0 ff ff ff[ ]+mov -0x10\(%ebx\),%edx + +[0-9a-f]+: 8b 93 f0 ff ff ff[ ]+mov -0x10\(%ebx\),%edx # ->R_386_TLS_TPOFF [0x50000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 12[ ]+mov %gs:\(%edx\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 12[ ]+mov %gs:\(%edx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden but not local var - [0-9a-f]+: 8b 8b f4 ff ff ff[ ]+mov -0xc\(%ebx\),%ecx + +[0-9a-f]+: 8b 8b f4 ff ff ff[ ]+mov -0xc\(%ebx\),%ecx # ->R_386_TLS_TPOFF [0x70000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx - [0-9a-f]+: c9[ ]+leave * - [0-9a-f]+: c3[ ]+ret * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd index c7c41c6..2b382a0 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd @@ -87,12 +87,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -108,6 +108,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +7 sl1 +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +7 sl2 +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +7 sl3 @@ -117,8 +118,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7 +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8 +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1 - +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +7 sh3 +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +8 sH2 +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +8 sH7 @@ -132,18 +131,21 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +8 sH6 +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +8 sH8 +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +7 sh1 - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +7 sh2 +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +7 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +7 sg3 +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +7 sg4 +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.sd b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.sd index ad3d1e3..996da5f 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.sd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.sd @@ -5,7 +5,7 @@ #objdump: -s -j.got -j.got.plt #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.got: [0-9a-f]+ dcffffff 28000000 d4ffffff 2c000000 .* @@ -14,7 +14,7 @@ Contents of section \.got: [0-9a-f]+ 6c000000 b4ffffff 4c000000 68000000 .* [0-9a-f]+ 50000000 70000000 00000000 bcffffff .* Contents of section \.got\.plt: - [0-9a-f]+ b0150000 00000000 00000000 00000000 .* + [0-9a-f]+ [0-9a-f]{8} 00000000 00000000 00000000 .* [0-9a-f]+ 20000000 00000000 60000000 00000000 .* [0-9a-f]+ 00000000 00000000 00000000 00000000 .* [0-9a-f]+ 40000000 +.* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.td b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.td index 12cc43c..f178e12 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.td +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsdesc.td @@ -5,7 +5,7 @@ #objdump: -sj.tdata #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.tdata: [0-9a-f]+ 11000000 12000000 13000000 14000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsg.sd b/binutils-2.22/ld/testsuite/ld-i386/tlsg.sd index d794762..6558abe 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsg.sd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsg.sd @@ -4,7 +4,7 @@ #objdump: -sj.debug_foobar #target: i?86-*-* -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Contents of section .debug_foobar: 0+ 18000000 +.* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc-nacl.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc-nacl.rd new file mode 100644 index 0000000..43f9a3d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc-nacl.rd @@ -0,0 +1,105 @@ +#source: tlsgdesc.s +#as: --32 +#ld: -shared -melf_i386_nacl --no-ld-generated-unwind-info +#readelf: -Ssrl +#target: i?86-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 + +\[[ 0-9]+\] \.plt +.* + +\[[ 0-9]+\] \.text +.* + +\[[ 0-9]+\] \.hash +.* + +\[[ 0-9]+\] \.dynsym +.* + +\[[ 0-9]+\] \.dynstr +.* + +\[[ 0-9]+\] \.rel.dyn +.* + +\[[ 0-9]+\] \.rel.plt +.* + +\[[ 0-9]+\] \.dynamic +.* + +\[[ 0-9]+\] \.got +.* + +\[[ 0-9]+\] \.got.plt +.* + +\[[ 0-9]+\] \.shstrtab +.* + +\[[ 0-9]+\] \.symtab +.* + +\[[ 0-9]+\] \.strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is DYN \(Shared object file\) +Entry point 0x[0-9a-f]+ +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +LOAD.* + +LOAD.* + +LOAD.* + +DYNAMIC.* + + Section to Segment mapping: + +Segment Sections... + +00 +.plt .text * + +01 +.hash .dynsym .dynstr .rel.dyn .rel.plt * + +02 +.dynamic .got .got.plt * + +03 +.dynamic * + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 8 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG3 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sG5 +[0-9a-f ]+R_386_TLS_DTPMOD3 0+ +sG2 +[0-9a-f ]+R_386_TLS_DTPOFF3 0+ +sG2 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sG4 +[0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG6 +[0-9a-f ]+R_386_TLS_DTPMOD3 0+ +sG1 +[0-9a-f ]+R_386_TLS_DTPOFF3 0+ +sG1 + +Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 3 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_JUMP_SLOT +0+ +___tls_get_addr +[0-9a-f ]+R_386_TLS_DESC +0+ +sG1 +[0-9a-f ]+R_386_TLS_DESC +0+ +sG2 + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +8 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.dd b/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.dd index 92062ce..301876c 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.dd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.dd @@ -4,153 +4,153 @@ #objdump: -drj.text #target: i?86-*-* -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: [0-9a-f]+ <fc1>: - [0-9a-f]+: 55[ ]+push %ebp - [0-9a-f]+: 89 e5[ ]+mov %esp,%ebp - [0-9a-f]+: 53[ ]+push %ebx - [0-9a-f]+: 50[ ]+push %eax - [0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <.*> - [0-9a-f]+: 5b[ ]+pop %ebx - [0-9a-f]+: 81 c3 be 11 00 00[ ]+add \$0x[0-9a-f]+,%ebx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 55[ ]+push %ebp + +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp + +[0-9a-f]+: 53[ ]+push %ebx + +[0-9a-f]+: 50[ ]+push %eax + +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <.*> + +[0-9a-f]+: 5b[ ]+pop %ebx + +[0-9a-f]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]+,%ebx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b e0 ff ff ff[ ]+sub -0x20\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b e0 ff ff ff[ ]+sub -0x20\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 sG3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b f0 ff ff ff[ ]+add -0x10\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b f0 ff ff ff[ ]+add -0x10\(%ebx\),%ecx # ->R_386_TLS_TPOFF sG4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD - [0-9a-f]+: 8d 04 1d f8 ff ff ff[ ]+lea -0x8\(,%ebx,1\),%eax + +[0-9a-f]+: 8d 04 1d f8 ff ff ff[ ]+lea -0x8\(,%ebx,1\),%eax # ->R_386_TLS_DTPMOD32 sG1 - [0-9a-f]+: e8 a9 ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 83 18 00 00 00[ ]+lea 0x18\(%ebx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 83 18 00 00 00[ ]+lea 0x18\(%ebx\),%eax # ->R_386_TLS_DESC sG1 - [0-9a-f]+: ff 10[ ]+call \*\(%eax\) - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 83 10 00 00 00[ ]+lea 0x10\(%ebx\),%eax + +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 83 10 00 00 00[ ]+lea 0x10\(%ebx\),%eax # ->R_386_TLS_DESC sG2 - [0-9a-f]+: ff 10[ ]+call \*\(%eax\) - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 04 1d e8 ff ff ff[ ]+lea -0x18\(,%ebx,1\),%eax + +[0-9a-f]+: ff 10[ ]+call \*\(%eax\) + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 04 1d e8 ff ff ff[ ]+lea -0x18\(,%ebx,1\),%eax # ->R_386_TLS_DTPMOD32 sG2 - [0-9a-f]+: e8 81 ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gottpoff too - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 e0 ff ff ff[ ]+sub -0x20\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 e0 ff ff ff[ ]+sub -0x20\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8b 83 e0 ff ff ff[ ]+mov -0x20\(%ebx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 83 e0 ff ff ff[ ]+mov -0x20\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG3 - [0-9a-f]+: f7 d8[ ]+neg %eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: f7 d8[ ]+neg %eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gotntpoff too - [0-9a-f]+: 8b 83 f0 ff ff ff[ ]+mov -0x10\(%ebx\),%eax + +[0-9a-f]+: 8b 83 f0 ff ff ff[ ]+mov -0x10\(%ebx\),%eax # ->R_386_TLS_TPOFF sG4 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 03 83 f0 ff ff ff[ ]+add -0x10\(%ebx\),%eax # ->R_386_TLS_TPOFF sG4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gotntpoff too - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 03 83 e4 ff ff ff[ ]+add -0x1c\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 03 83 e4 ff ff ff[ ]+add -0x1c\(%ebx\),%eax # ->R_386_TLS_TPOFF sG5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8b 83 e4 ff ff ff[ ]+mov -0x1c\(%ebx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 83 e4 ff ff ff[ ]+mov -0x1c\(%ebx\),%eax # ->R_386_TLS_TPOFF sG5 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gottpoff too - [0-9a-f]+: 8b 83 f4 ff ff ff[ ]+mov -0xc\(%ebx\),%eax + +[0-9a-f]+: 8b 83 f4 ff ff ff[ ]+mov -0xc\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG6 - [0-9a-f]+: f7 d8[ ]+neg %eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 f4 ff ff ff[ ]+sub -0xc\(%ebx\),%eax + +[0-9a-f]+: f7 d8[ ]+neg %eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 f4 ff ff ff[ ]+sub -0xc\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sG6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b e4 ff ff ff[ ]+add -0x1c\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b e4 ff ff ff[ ]+add -0x1c\(%ebx\),%ecx # ->R_386_TLS_TPOFF sG5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b f4 ff ff ff[ ]+sub -0xc\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b f4 ff ff ff[ ]+sub -0xc\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 sG6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx - [0-9a-f]+: c9[ ]+leave * - [0-9a-f]+: c3[ ]+ret * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd index fa0eeb9..1e074c7 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd @@ -67,12 +67,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr Symbol table '\.symtab' contains [0-9]+ entries: @@ -88,16 +88,16 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +8 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsindntpoff.dd b/binutils-2.22/ld/testsuite/ld-i386/tlsindntpoff.dd index db20de1..3942a4f 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsindntpoff.dd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsindntpoff.dd @@ -4,13 +4,13 @@ #objdump: -drj.text #target: i?86-*-* -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: [0-9a-f]+000 <_start>: - [0-9a-f]+000: 39 d8[ ]+cmp %ebx,%eax - [0-9a-f]+002: 73 08[ ]+jae [0-9a-f]+00c <_start\+0xc> - [0-9a-f]+004: b8 fc ff ff ff[ ]+mov \$0xfffffffc,%eax - [0-9a-f]+009: 65 8b 00[ ]+mov %gs:\(%eax\),%eax - [0-9a-f]+00c: c3[ ]+ret * + +[0-9a-f]+000: 39 d8[ ]+cmp %ebx,%eax + +[0-9a-f]+002: 73 08[ ]+jae [0-9a-f]+00c <_start\+0xc> + +[0-9a-f]+004: b8 fc ff ff ff[ ]+mov \$0xfffffffc,%eax + +[0-9a-f]+009: 65 8b 00[ ]+mov %gs:\(%eax\),%eax + +[0-9a-f]+00c: c3[ ]+ret * diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsnopic-nacl.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsnopic-nacl.rd new file mode 100644 index 0000000..dc85e7d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsnopic-nacl.rd @@ -0,0 +1,120 @@ +#source: tlsnopic1.s +#source: tlsnopic2.s +#as: --32 +#ld: -shared -melf_i386_nacl --no-ld-generated-unwind-info +#readelf: -Ssrl +#target: i?86-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 + +\[[ 0-9]+\] \.text +PROGBITS +0+ .* + +\[[ 0-9]+\] \.hash +.* + +\[[ 0-9]+\] \.dynsym +.* + +\[[ 0-9]+\] \.dynstr +.* + +\[[ 0-9]+\] \.rel.dyn +.* + +\[[ 0-9]+\] \.tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ 000024 00 WAT +0 +0 +1 + +\[[ 0-9]+\] \.dynamic +DYNAMIC +0*10010284 .* + +\[[ 0-9]+\] \.got +PROGBITS +0*10010304 .* + +\[[ 0-9]+\] \.got.plt +PROGBITS +0*1001031c .* + +\[[ 0-9]+\] \.shstrtab +.* + +\[[ 0-9]+\] \.symtab +.* + +\[[ 0-9]+\] \.strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is DYN \(Shared object file\) +Entry point 0x0+ +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +LOAD.* + +LOAD.* + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1 + + Section to Segment mapping: + +Segment Sections... + +00 +.text * + +01 +.hash .dynsym .dynstr .rel.dyn * + +02 +.dynamic .got .got.plt * + +03 +.dynamic * + +04 +.tbss * + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_RELATIVE + +[0-9a-f ]+R_386_RELATIVE + +[0-9a-f ]+R_386_RELATIVE + +[0-9a-f ]+R_386_RELATIVE + +[0-9a-f ]+R_386_RELATIVE + +[0-9a-f ]+R_386_RELATIVE + +[0-9a-f ]+R_386_TLS_TPOFF32 0+ +sg3 +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF + +[0-9a-f ]+R_386_TLS_TPOFF + +[0-9a-f ]+R_386_TLS_TPOFF + +[0-9a-f ]+R_386_TLS_TPOFF + +[0-9a-f ]+R_386_TLS_TPOFF + +[0-9a-f ]+R_386_TLS_TPOFF + +[0-9a-f ]+R_386_TLS_TPOFF + +[0-9a-f ]+R_386_TLS_TPOFF + +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sg4 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sg5 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sg1 +[0-9a-f ]+R_386_TLS_TPOFF +0+ +sg2 + + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg4 + +[0-9]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +1 fn3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+00 +0 +TLS +LOCAL +DEFAULT +6 bl1 + +[0-9]+: 0+04 +0 +TLS +LOCAL +DEFAULT +6 bl2 + +[0-9]+: 0+08 +0 +TLS +LOCAL +DEFAULT +6 bl3 + +[0-9]+: 0+0c +0 +TLS +LOCAL +DEFAULT +6 bl4 + +[0-9]+: 0+10 +0 +TLS +LOCAL +DEFAULT +6 bl5 + +[0-9]+: 0+1c +0 +TLS +LOCAL +DEFAULT +6 sh3 + +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +6 sh4 + +[0-9]+: 0+14 +0 +TLS +LOCAL +DEFAULT +6 sh1 + +[0-9]+: 0+18 +0 +TLS +LOCAL +DEFAULT +6 sh2 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +7 _DYNAMIC + +[0-9]+: 0*1001031c +0 +OBJECT +LOCAL +DEFAULT +9 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg4 + +[0-9]+: 0+ +0 +FUNC +GLOBAL +DEFAULT +1 fn3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.dd b/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.dd index 995cdaa..bd18de3 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.dd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.dd @@ -5,157 +5,156 @@ #objdump: -drj.text #target: i?86-*-* -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: -0+1000 <fn3>: - 1000: 55[ ]+push %ebp - 1001: 89 e5[ ]+mov %esp,%ebp +[0-9a-f]+ <fn3>: + +[0-9a-f]+: 55[ ]+push %ebp + +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp # @indntpoff IE against global var - 1003: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 1009: 90[ ]+nop * - 100a: 90[ ]+nop * - 100b: 03 05 7c 21 00 00[ ]+add 0x217c,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+c,%eax # ->R_386_TLS_TPOFF sg1 - 1011: 90[ ]+nop * - 1012: 90[ ]+nop * - 1013: 90[ ]+nop * - 1014: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE against global var - 1015: 8b 15 80 21 00 00[ ]+mov 0x2180,%edx + +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+0,%edx # ->R_386_TLS_TPOFF sg2 - 101b: 90[ ]+nop * - 101c: 90[ ]+nop * - 101d: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - 1020: 90[ ]+nop * - 1021: 90[ ]+nop * - 1022: 90[ ]+nop * - 1023: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE against hidden var - 1024: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 102a: 90[ ]+nop * - 102b: 90[ ]+nop * - 102c: 03 05 84 21 00 00[ ]+add 0x2184,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+4,%eax # ->R_386_TLS_TPOFF [0x14000000] - 1032: 90[ ]+nop * - 1033: 90[ ]+nop * - 1034: 90[ ]+nop * - 1035: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE against hidden var - 1036: 8b 15 88 21 00 00[ ]+mov 0x2188,%edx + +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+8,%edx # ->R_386_TLS_TPOFF [0x18000000] - 103c: 90[ ]+nop * - 103d: 90[ ]+nop * - 103e: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - 1041: 90[ ]+nop * - 1042: 90[ ]+nop * - 1043: 90[ ]+nop * - 1044: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff IE against local var - 1045: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 104b: 90[ ]+nop * - 104c: 90[ ]+nop * - 104d: 03 05 74 21 00 00[ ]+add 0x2174,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+4,%eax # ->R_386_TLS_TPOFF [0x00000000] - 1053: 90[ ]+nop * - 1054: 90[ ]+nop * - 1055: 90[ ]+nop * - 1056: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @indntpoff direct %gs access IE against local var - 1057: 8b 15 78 21 00 00[ ]+mov 0x2178,%edx + +[0-9a-f]+: 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+8,%edx # ->R_386_TLS_TPOFF [0x04000000] - 105d: 90[ ]+nop * - 105e: 90[ ]+nop * - 105f: 65 8b 02[ ]+mov %gs:\(%edx\),%eax - 1062: 90[ ]+nop * - 1063: 90[ ]+nop * - 1064: 90[ ]+nop * - 1065: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 02[ ]+mov %gs:\(%edx\),%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @tpoff, global var - 1066: ba fd ff ff ff[ ]+mov \$0xfffffffd,%edx + +[0-9a-f]+: ba fd ff ff ff[ ]+mov \$0xfffffffd,%edx # R_386_TLS_TPOFF32 sg3 - 106b: 90[ ]+nop * - 106c: 90[ ]+nop * - 106d: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 1073: 90[ ]+nop * - 1074: 90[ ]+nop * - 1075: 29 d0[ ]+sub %edx,%eax - 1077: 90[ ]+nop * - 1078: 90[ ]+nop * - 1079: 90[ ]+nop * - 107a: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 29 d0[ ]+sub %edx,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @tpoff, local var - 107b: b8 f7 ff ff ff[ ]+mov \$0xfffffff7,%eax + +[0-9a-f]+: b8 f7 ff ff ff[ ]+mov \$0xfffffff7,%eax # R_386_TLS_TPOFF32 - 1080: 90[ ]+nop * - 1081: 90[ ]+nop * - 1082: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx - 1089: 90[ ]+nop * - 108a: 90[ ]+nop * - 108b: 29 c2[ ]+sub %eax,%edx - 108d: 90[ ]+nop * - 108e: 90[ ]+nop * - 108f: 90[ ]+nop * - 1090: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 29 c2[ ]+sub %eax,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, global var - 1091: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - 1097: 90[ ]+nop * - 1098: 90[ ]+nop * - 1099: 8d 90 02 00 00 00[ ]+lea 0x2\(%eax\),%edx + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 02 00 00 00[ ]+lea 0x2\(%eax\),%edx # R_386_TLS_TPOFF sg4 - 109f: 90[ ]+nop * - 10a0: 90[ ]+nop * - 10a1: 90[ ]+nop * - 10a2: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, hidden var, non-canonical sequence - 10a3: b8 1c 00 00 00[ ]+mov \$0x1c,%eax + +[0-9a-f]+: b8 1c 00 00 00[ ]+mov \$0x1c,%eax # R_386_TLS_TPOFF - 10a8: 90[ ]+nop * - 10a9: 90[ ]+nop * - 10aa: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx - 10b1: 90[ ]+nop * - 10b2: 90[ ]+nop * - 10b3: 01 c2[ ]+add %eax,%edx - 10b5: 90[ ]+nop * - 10b6: 90[ ]+nop * - 10b7: 90[ ]+nop * - 10b8: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 01 c2[ ]+add %eax,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, local var, non-canonical sequence - 10b9: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx - 10c0: 90[ ]+nop * - 10c1: 90[ ]+nop * - 10c2: 81 c2 0d 00 00 00[ ]+add \$0xd,%edx + +[0-9a-f]+: 65 8b 15 00 00 00 00 mov %gs:0x0,%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 81 c2 0d 00 00 00[ ]+add \$0xd,%edx # R_386_TLS_TPOFF - 10c8: 90[ ]+nop * - 10c9: 90[ ]+nop * - 10ca: 90[ ]+nop * - 10cb: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct %gs access # LE @ntpoff, global var - 10cc: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax # R_386_TLS_TPOFF sg5 - 10d2: 90[ ]+nop * - 10d3: 90[ ]+nop * - 10d4: 90[ ]+nop * - 10d5: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, local var - 10d6: 65 8b 15 13 00 00 00 mov %gs:0x13,%edx + +[0-9a-f]+: 65 8b 15 13 00 00 00 mov %gs:0x13,%edx # R_386_TLS_TPOFF - 10dd: 90[ ]+nop * - 10de: 90[ ]+nop * - 10df: 90[ ]+nop * - 10e0: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE @ntpoff, hidden var - 10e1: 65 8b 15 21 00 00 00 mov %gs:0x21,%edx + +[0-9a-f]+: 65 8b 15 21 00 00 00 mov %gs:0x21,%edx # R_386_TLS_TPOFF - 10e8: 90[ ]+nop * - 10e9: 90[ ]+nop * - 10ea: 90[ ]+nop * - 10eb: 90[ ]+nop * - 10ec: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx - 10ef: c9[ ]+leave * - 10f0: c3[ ]+ret * - 10f1: 90[ ]+nop * - 10f2: 90[ ]+nop * - 10f3: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd b/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd index 2396fc5..418a9f2 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd @@ -77,10 +77,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +5 fn3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -94,23 +94,25 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 0+00 +0 +TLS +LOCAL +DEFAULT +6 bl1 +[0-9]+: 0+04 +0 +TLS +LOCAL +DEFAULT +6 bl2 +[0-9]+: 0+08 +0 +TLS +LOCAL +DEFAULT +6 bl3 +[0-9]+: 0+0c +0 +TLS +LOCAL +DEFAULT +6 bl4 +[0-9]+: 0+10 +0 +TLS +LOCAL +DEFAULT +6 bl5 - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +[0-9]+: 0+1c +0 +TLS +LOCAL +DEFAULT +6 sh3 +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +6 sh4 +[0-9]+: 0+14 +0 +TLS +LOCAL +DEFAULT +6 sh1 - +[0-9]+: 0+218c +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+18 +0 +TLS +LOCAL +DEFAULT +6 sh2 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +7 _DYNAMIC + +[0-9]+: 0+218c +0 +OBJECT +LOCAL +DEFAULT +9 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg4 +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +5 fn3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sg2 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +9 _end diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.sd b/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.sd index 925c5d5..786aac6 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.sd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlsnopic.sd @@ -5,8 +5,8 @@ #objdump: -sj.got #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.got: - 2174 00000000 04000000 00000000 00000000 .* - 2184 14000000 18000000 +.* + [0-9a-f]+4 00000000 04000000 00000000 00000000 .* + [0-9a-f]+4 14000000 18000000 +.* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlspic-nacl.rd b/binutils-2.22/ld/testsuite/ld-i386/tlspic-nacl.rd new file mode 100644 index 0000000..328947c --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-i386/tlspic-nacl.rd @@ -0,0 +1,158 @@ +#source: tlspic1.s +#source: tlspic2.s +#as: --32 +#ld: -shared -melf_i386_nacl --no-ld-generated-unwind-info +#readelf: -Ssrl +#target: i?86-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 + +\[[ 0-9]+\] \.plt +.* + +\[[ 0-9]+\] \.text +.* + +\[[ 0-9]+\] \.hash +.* + +\[[ 0-9]+\] \.dynsym +.* + +\[[ 0-9]+\] \.dynstr +.* + +\[[ 0-9]+\] \.rel.dyn +.* + +\[[ 0-9]+\] \.rel.plt +.* + +\[[ 0-9]+\] \.tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ 000060 00 WAT +0 +0 +1 + +\[[ 0-9]+\] \.tbss +NOBITS +[0-9aa-f]+ [0-9a-f]+ 000020 00 WAT +0 +0 +1 + +\[[ 0-9]+\] \.dynamic +.* + +\[[ 0-9]+\] \.got +.* + +\[[ 0-9]+\] \.got.plt +.* + +\[[ 0-9]+\] \.shstrtab +.* + +\[[ 0-9]+\] \.symtab +.* + +\[[ 0-9]+\] \.strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is DYN \(Shared object file\) +Entry point 0x[0-9a-f]+ +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +LOAD.* + +LOAD.* + +LOAD.* + +DYNAMIC.* + +TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1 + + Section to Segment mapping: + +Segment Sections... + +00 +.plt .text * + +01 +.hash .dynsym .dynstr .rel.dyn .rel.plt * + +02 +.tdata .dynamic .got .got.plt * + +03 +.dynamic * + +04 +.tdata .tbss * + +Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_TLS_DTPMOD3 +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_DTPMOD3 +[0-9a-f ]+R_386_TLS_DTPMOD3 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_TPOFF * +[0-9a-f ]+R_386_TLS_DTPMOD3 +[0-9a-f ]+R_386_TLS_TPOFF32 +[0-9a-f ]+R_386_TLS_TPOFF +0+8 +sg3 +[0-9a-f ]+R_386_TLS_TPOFF32 0+c +sg4 +[0-9a-f ]+R_386_TLS_TPOFF +0+c +sg4 +[0-9a-f ]+R_386_TLS_TPOFF +0+10 +sg5 +[0-9a-f ]+R_386_TLS_DTPMOD3 0+ +sg1 +[0-9a-f ]+R_386_TLS_DTPOFF3 0+ +sg1 +[0-9a-f ]+R_386_TLS_TPOFF32 0+4 +sg2 + +Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries: + Offset +Info +Type +Sym.Value +Sym. Name +[0-9a-f ]+R_386_JUMP_SLOT +0+ +___tls_get_addr + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +8 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +8 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fn1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 * +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +8 sl1 + +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +8 sl2 + +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +8 sl3 + +[0-9]+: 0+2c +0 +TLS +LOCAL +DEFAULT +8 sl4 + +[0-9]+: 0+30 +0 +TLS +LOCAL +DEFAULT +8 sl5 + +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +8 sl6 + +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +8 sl7 + +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +8 sl8 + +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 + +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +8 sh3 + +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +9 sH2 + +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +9 sH7 + +[0-9]+: 0+58 +0 +TLS +LOCAL +DEFAULT +8 sh7 + +[0-9]+: 0+5c +0 +TLS +LOCAL +DEFAULT +8 sh8 + +[0-9]+: 0+6c +0 +TLS +LOCAL +DEFAULT +9 sH4 + +[0-9]+: 0+4c +0 +TLS +LOCAL +DEFAULT +8 sh4 + +[0-9]+: 0+68 +0 +TLS +LOCAL +DEFAULT +9 sH3 + +[0-9]+: 0+50 +0 +TLS +LOCAL +DEFAULT +8 sh5 + +[0-9]+: 0+70 +0 +TLS +LOCAL +DEFAULT +9 sH5 + +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +9 sH6 + +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +9 sH8 + +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +8 sh1 + +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +8 sh2 + +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +8 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +8 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fn1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlspic.dd b/binutils-2.22/ld/testsuite/ld-i386/tlspic.dd index b0c046d..6746821 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlspic.dd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlspic.dd @@ -5,407 +5,406 @@ #objdump: -drj.text #target: i?86-*-* -.*: +file format elf32-i386 +.*: +file format elf32-i386.* Disassembly of section .text: [0-9a-f]+ <fn1>: - [0-9a-f]+: 55[ ]+push %ebp - [0-9a-f]+: 89 e5[ ]+mov %esp,%ebp - [0-9a-f]+: 53[ ]+push %ebx - [0-9a-f]+: 50[ ]+push %eax - [0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <fn1\+0xa> - [0-9a-f]+: 5b[ ]+pop %ebx - [0-9a-f]+: 81 c3 42 14 00 00[ ]+add \$0x[0-9a-f]+,%ebx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 55[ ]+push %ebp + +[0-9a-f]+: 89 e5[ ]+mov %esp,%ebp + +[0-9a-f]+: 53[ ]+push %ebx + +[0-9a-f]+: 50[ ]+push %eax + +[0-9a-f]+: e8 00 00 00 00[ ]+call [0-9a-f]+ <fn1\+0xa> + +[0-9a-f]+: 5b[ ]+pop %ebx + +[0-9a-f]+: 81 c3 ([0-9a-f]{2} ){4}[ ]+add \$0x[0-9a-f]+,%ebx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD - [0-9a-f]+: 8d 04 1d d4 ff ff ff[ ]+lea -0x2c\(,%ebx,1\),%eax + +[0-9a-f]+: 8d 04 1d d4 ff ff ff[ ]+lea -0x2c\(,%ebx,1\),%eax # ->R_386_TLS_DTPMOD32 sg1 - [0-9a-f]+: e8 cf ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gottpoff too - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 f0 ff ff ff[ ]+sub -0x10\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 f0 ff ff ff[ ]+sub -0x10\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sg2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gotntpoff too - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 03 83 b4 ff ff ff[ ]+add -0x4c\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 03 83 b4 ff ff ff[ ]+add -0x4c\(%ebx\),%eax # ->R_386_TLS_TPOFF sg3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through @gottpoff and - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 c0 ff ff ff[ ]+sub -0x40\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 c0 ff ff ff[ ]+sub -0x40\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sg4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD against local variable - [0-9a-f]+: 8d 04 1d 88 ff ff ff[ ]+lea -0x78\(,%ebx,1\),%eax + +[0-9a-f]+: 8d 04 1d 88 ff ff ff[ ]+lea -0x78\(,%ebx,1\),%eax # ->R_386_TLS_DTPMOD32 [0x00000000 0x20000000] - [0-9a-f]+: e8 8f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against local variable referenced through @gottpoff too - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 90 ff ff ff[ ]+sub -0x70\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 90 ff ff ff[ ]+sub -0x70\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0xdcffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against local variable referenced through @gotntpoff - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 03 83 94 ff ff ff[ ]+add -0x6c\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 03 83 94 ff ff ff[ ]+add -0x6c\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x28000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against local variable referenced through @gottpoff and - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 98 ff ff ff[ ]+sub -0x68\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 98 ff ff ff[ ]+sub -0x68\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0xd4ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD against hidden and local variable - [0-9a-f]+: 8d 04 1d f4 ff ff ff[ ]+lea -0xc\(,%ebx,1\),%eax + +[0-9a-f]+: 8d 04 1d f4 ff ff ff[ ]+lea -0xc\(,%ebx,1\),%eax # ->R_386_TLS_DTPMOD32 [0x00000000 0x40000000] - [0-9a-f]+: e8 4f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden and local variable referenced through @gottpoff too - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 fc ff ff ff[ ]+sub -0x4\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 fc ff ff ff[ ]+sub -0x4\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0xbcffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden and local variable referenced through @gotntpoff too - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 03 83 b8 ff ff ff[ ]+add -0x48\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 03 83 b8 ff ff ff[ ]+add -0x48\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x48000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden and local variable referenced through @gottpoff and @gotntpoff too - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 dc ff ff ff[ ]+sub -0x24\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 dc ff ff ff[ ]+sub -0x24\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0xb4ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD against hidden but not local variable - [0-9a-f]+: 8d 04 1d ac ff ff ff[ ]+lea -0x54\(,%ebx,1\),%eax + +[0-9a-f]+: 8d 04 1d ac ff ff ff[ ]+lea -0x54\(,%ebx,1\),%eax # ->R_386_TLS_DTPMOD32 [0x00000000 0x60000000] - [0-9a-f]+: e8 0f ff ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden but not local variable referenced through - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 bc ff ff ff[ ]+sub -0x44\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 bc ff ff ff[ ]+sub -0x44\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0x9cffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden but not local variable referenced through - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 03 83 e4 ff ff ff[ ]+add -0x1c\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 03 83 e4 ff ff ff[ ]+add -0x1c\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x68000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden but not local variable referenced through - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 2b 83 cc ff ff ff[ ]+sub -0x34\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 2b 83 cc ff ff ff[ ]+sub -0x34\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0x94ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD - [0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea -0x5c\(%ebx\),%eax + +[0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea -0x5c\(%ebx\),%eax # ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000] - [0-9a-f]+: e8 d0 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 90 20 00 00 00[ ]+lea 0x20\(%eax\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 20 00 00 00[ ]+lea 0x20\(%eax\),%edx # sl1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 88 26 00 00 00[ ]+lea 0x26\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 26 00 00 00[ ]+lea 0x26\(%eax\),%ecx # sl2+2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD against hidden and local variables - [0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea -0x5c\(%ebx\),%eax + +[0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea -0x5c\(%ebx\),%eax # ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000] - [0-9a-f]+: e8 b1 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 90 40 00 00 00[ ]+lea 0x40\(%eax\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 40 00 00 00[ ]+lea 0x40\(%eax\),%edx # sh1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 88 47 00 00 00[ ]+lea 0x47\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 47 00 00 00[ ]+lea 0x47\(%eax\),%ecx # sh2+3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD against hidden but not local variables - [0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea -0x5c\(%ebx\),%eax + +[0-9a-f]+: 8d 83 a4 ff ff ff[ ]+lea -0x5c\(%ebx\),%eax # ->R_386_TLS_DTPMOD32 [0x00000000 0x00000000] - [0-9a-f]+: e8 92 fe ff ff[ ]+call [0-9a-f]+ <___tls_get_addr@plt> + +[0-9a-f]+: e8 ([0-9a-f]{2} ){4}[ ]+call [0-9a-f]+ <___tls_get_addr@plt> # ->R_386_JUMP_SLOT ___tls_get_addr - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 90 60 00 00 00[ ]+lea 0x60\(%eax\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 90 60 00 00 00[ ]+lea 0x60\(%eax\),%edx # sH1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8d 88 65 00 00 00[ ]+lea 0x65\(%eax\),%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8d 88 65 00 00 00[ ]+lea 0x65\(%eax\),%ecx # sH2+1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b f0 ff ff ff[ ]+sub -0x10\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b f0 ff ff ff[ ]+sub -0x10\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 sg2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against global var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 c0 ff ff ff[ ]+sub -0x40\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 c0 ff ff ff[ ]+sub -0x40\(%ebx\),%eax # ->R_386_TLS_TPOFF32 sg4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b b4 ff ff ff[ ]+add -0x4c\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b b4 ff ff ff[ ]+add -0x4c\(%ebx\),%ecx # ->R_386_TLS_TPOFF sg3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against global var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 c4 ff ff ff[ ]+add -0x3c\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 c4 ff ff ff[ ]+add -0x3c\(%ebx\),%eax # ->R_386_TLS_TPOFF sg4 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b 90 ff ff ff[ ]+sub -0x70\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b 90 ff ff ff[ ]+sub -0x70\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 [0xdcffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 98 ff ff ff[ ]+sub -0x68\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 98 ff ff ff[ ]+sub -0x68\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0xd4ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b 94 ff ff ff[ ]+add -0x6c\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b 94 ff ff ff[ ]+add -0x6c\(%ebx\),%ecx # ->R_386_TLS_TPOFF [0x28000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 9c ff ff ff[ ]+add -0x64\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 9c ff ff ff[ ]+add -0x64\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x2c000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against hidden and local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b fc ff ff ff[ ]+sub -0x4\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b fc ff ff ff[ ]+sub -0x4\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 [0xbcffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against hidden and local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 dc ff ff ff[ ]+sub -0x24\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 dc ff ff ff[ ]+sub -0x24\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0xb4ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden and local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b b8 ff ff ff[ ]+add -0x48\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b b8 ff ff ff[ ]+add -0x48\(%ebx\),%ecx # ->R_386_TLS_TPOFF [0x48000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden and local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 e0 ff ff ff[ ]+add -0x20\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 e0 ff ff ff[ ]+add -0x20\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x4c000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against hidden but not local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 8b bc ff ff ff[ ]+sub -0x44\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 8b bc ff ff ff[ ]+sub -0x44\(%ebx\),%ecx # ->R_386_TLS_TPOFF32 [0x9cffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gottpoff IE against hidden but not local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 2b 83 cc ff ff ff[ ]+sub -0x34\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 2b 83 cc ff ff ff[ ]+sub -0x34\(%ebx\),%eax # ->R_386_TLS_TPOFF32 [0x94ffffff] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden but not local var - [0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 8b e4 ff ff ff[ ]+add -0x1c\(%ebx\),%ecx + +[0-9a-f]+: 65 8b 0d 00 00 00 00[ ]+mov %gs:0x0,%ecx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 8b e4 ff ff ff[ ]+add -0x1c\(%ebx\),%ecx # ->R_386_TLS_TPOFF [0x68000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden but not local var - [0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 03 83 d0 ff ff ff[ ]+add -0x30\(%ebx\),%eax + +[0-9a-f]+: 65 a1 00 00 00 00[ ]+mov %gs:0x0,%eax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 03 83 d0 ff ff ff[ ]+add -0x30\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x6c000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct access through %gs # @gotntpoff IE against global var - [0-9a-f]+: 8b 8b c8 ff ff ff[ ]+mov -0x38\(%ebx\),%ecx + +[0-9a-f]+: 8b 8b c8 ff ff ff[ ]+mov -0x38\(%ebx\),%ecx # ->R_386_TLS_TPOFF sg5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against local var - [0-9a-f]+: 8b 83 a0 ff ff ff[ ]+mov -0x60\(%ebx\),%eax + +[0-9a-f]+: 8b 83 a0 ff ff ff[ ]+mov -0x60\(%ebx\),%eax # ->R_386_TLS_TPOFF [0x30000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 10[ ]+mov %gs:\(%eax\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 10[ ]+mov %gs:\(%eax\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden and local var - [0-9a-f]+: 8b 93 e8 ff ff ff[ ]+mov -0x18\(%ebx\),%edx + +[0-9a-f]+: 8b 93 e8 ff ff ff[ ]+mov -0x18\(%ebx\),%edx # ->R_386_TLS_TPOFF [0x50000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 12[ ]+mov %gs:\(%edx\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 12[ ]+mov %gs:\(%edx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # @gotntpoff IE against hidden but not local var - [0-9a-f]+: 8b 8b ec ff ff ff[ ]+mov -0x14\(%ebx\),%ecx + +[0-9a-f]+: 8b 8b ec ff ff ff[ ]+mov -0x14\(%ebx\),%ecx # ->R_386_TLS_TPOFF [0x70000000] - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx - [0-9a-f]+: c9[ ]+leave * - [0-9a-f]+: c3[ ]+ret * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 65 8b 11[ ]+mov %gs:\(%ecx\),%edx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 8b 5d fc[ ]+mov -0x4\(%ebp\),%ebx + +[0-9a-f]+: c9[ ]+leave * + +[0-9a-f]+: c3[ ]+ret * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlspic.rd b/binutils-2.22/ld/testsuite/ld-i386/tlspic.rd index 7fe042e..7d07cf5 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlspic.rd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlspic.rd @@ -90,12 +90,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr Symbol table '\.symtab' contains [0-9]+ entries: @@ -113,6 +113,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 * +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +8 sl1 +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +8 sl2 +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +8 sl3 @@ -122,7 +123,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +8 sl7 +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +8 sl8 +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +8 sh3 +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +9 sH2 +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +9 sH7 @@ -136,19 +136,21 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +9 sH6 +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +9 sH8 +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +8 sh1 - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +8 sh2 +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +8 sg3 +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +8 sg4 +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND ___tls_get_addr diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlspic.sd b/binutils-2.22/ld/testsuite/ld-i386/tlspic.sd index 15b3b93..0b10ba2 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlspic.sd +++ b/binutils-2.22/ld/testsuite/ld-i386/tlspic.sd @@ -5,7 +5,7 @@ #objdump: -sj.got #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.got: [0-9a-f]+ 00000000 20000000 dcffffff 28000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlspic.td b/binutils-2.22/ld/testsuite/ld-i386/tlspic.td index a96d6f6..d4c64a3 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlspic.td +++ b/binutils-2.22/ld/testsuite/ld-i386/tlspic.td @@ -5,7 +5,7 @@ #objdump: -sj.tdata #target: i?86-*-* -.*: file format elf32-i386 +.*: file format elf32-i386.* Contents of section \.tdata: [0-9a-f]+ 11000000 12000000 13000000 14000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-i386/tlspie2.d b/binutils-2.22/ld/testsuite/ld-i386/tlspie2.d index 16d6ae4..799d646 100644 --- a/binutils-2.22/ld/testsuite/ld-i386/tlspie2.d +++ b/binutils-2.22/ld/testsuite/ld-i386/tlspie2.d @@ -8,6 +8,6 @@ Disassembly of section .text: -0+188 <_start>: +[0-9a-f]+ <_start>: [ ]*[a-f0-9]+: 8d 05 fc ff ff ff lea 0xfffffffc,%eax #pass diff --git a/binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd b/binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd index 0ad3a77..ab2dacd 100644 --- a/binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd +++ b/binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd @@ -61,10 +61,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +LOCAL +DEFAULT +UND * .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +15 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +15 _edata +.* NOTYPE +GLOBAL +DEFAULT +15 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -84,6 +84,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +13 * .* SECTION +LOCAL +DEFAULT +14 * .* SECTION +LOCAL +DEFAULT +15 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +11 sl1 .* TLS +LOCAL +DEFAULT +11 sl2 .* TLS +LOCAL +DEFAULT +11 sl3 @@ -92,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +11 sl6 .* TLS +LOCAL +DEFAULT +11 sl7 .* TLS +LOCAL +DEFAULT +11 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +12 bl1 .* TLS +LOCAL +DEFAULT +12 bl2 .* TLS +LOCAL +DEFAULT +12 bl3 @@ -100,6 +102,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +12 bl6 .* TLS +LOCAL +DEFAULT +12 bl7 .* TLS +LOCAL +DEFAULT +12 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +13 _DYNAMIC .* OBJECT +LOCAL +DEFAULT +14 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +11 sg8 @@ -120,15 +123,15 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +11 sh4 .* TLS +GLOBAL +DEFAULT +12 bg7 .* TLS +GLOBAL +HIDDEN +11 sh5 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +15 __bss_start .* FUNC +GLOBAL +DEFAULT +8 fn2 .* TLS +GLOBAL +DEFAULT +11 sg2 .* TLS +GLOBAL +DEFAULT +UND sG1 .* TLS +GLOBAL +HIDDEN +11 sh1 .* TLS +GLOBAL +DEFAULT +11 sg6 .* TLS +GLOBAL +DEFAULT +11 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +15 _edata +.* NOTYPE +GLOBAL +DEFAULT +15 _end .* TLS +GLOBAL +HIDDEN +11 sh2 .* TLS +GLOBAL +HIDDEN +11 sh6 .* TLS +GLOBAL +DEFAULT +12 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd b/binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd index 8320365..7abf82d 100644 --- a/binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd +++ b/binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd @@ -48,9 +48,9 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 6 entries: [0-9a-f ]+R_IA64_DTPMOD64LSB +0+ sg1 \+ 0 [0-9a-f ]+R_IA64_DTPREL64LSB +0+ sg1 \+ 0 [0-9a-f ]+R_IA64_TPREL64LSB +0+4 sg2 \+ 0 -[0-9a-f ]+R_IA64_DTPMOD64LSB +0+ -[0-9a-f ]+R_IA64_TPREL64LSB +0+44 -[0-9a-f ]+R_IA64_TPREL64LSB +0+24 +[0-9a-f ]+R_IA64_DTPMOD64LSB +0 +[0-9a-f ]+R_IA64_TPREL64LSB +44 +[0-9a-f ]+R_IA64_TPREL64LSB +24 Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend @@ -66,12 +66,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +10 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +14 __bss_start .* TLS +GLOBAL +DEFAULT +10 sg2 .* TLS +GLOBAL +DEFAULT +10 sg6 .* TLS +GLOBAL +DEFAULT +10 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +14 _edata +.* NOTYPE +GLOBAL +DEFAULT +14 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name @@ -90,6 +90,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +12 * .* SECTION +LOCAL +DEFAULT +13 * .* SECTION +LOCAL +DEFAULT +14 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +10 sl1 .* TLS +LOCAL +DEFAULT +10 sl2 .* TLS +LOCAL +DEFAULT +10 sl3 @@ -99,7 +100,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +10 sl7 .* TLS +LOCAL +DEFAULT +10 sl8 .* TLS +LOCAL +DEFAULT +11 sH1 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +10 sh3 .* TLS +LOCAL +DEFAULT +11 sH2 .* TLS +LOCAL +DEFAULT +11 sH7 @@ -113,9 +113,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +11 sH6 .* TLS +LOCAL +DEFAULT +11 sH8 .* TLS +LOCAL +DEFAULT +10 sh1 -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +10 sh2 .* TLS +LOCAL +DEFAULT +10 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +10 sg8 .* TLS +GLOBAL +DEFAULT +10 sg3 .* TLS +GLOBAL +DEFAULT +10 sg4 @@ -123,9 +125,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +10 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +14 __bss_start .* TLS +GLOBAL +DEFAULT +10 sg2 .* TLS +GLOBAL +DEFAULT +10 sg6 .* TLS +GLOBAL +DEFAULT +10 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +14 _edata +.* NOTYPE +GLOBAL +DEFAULT +14 _end diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/binutils.exp b/binutils-2.22/ld/testsuite/ld-ifunc/binutils.exp index d24caf8..e035421 100644 --- a/binutils-2.22/ld/testsuite/ld-ifunc/binutils.exp +++ b/binutils-2.22/ld/testsuite/ld-ifunc/binutils.exp @@ -1,5 +1,5 @@ # Expect script for binutils tests -# Copyright 2009, 2010 Free Software Foundation, Inc. +# Copyright 2009, 2010, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -24,11 +24,13 @@ # Make sure that binutils can correctly handle ld output in ELF with # STT_GNU_IFUNC symbols. -if { !([istarget "i?86-*-elf*"] +if { !([istarget "i?86-*-elf*"] || (([istarget "i?86-*-linux*"] || [istarget "i?86-*-gnu*"]) && ![istarget "*-*-*aout*"] && ![istarget "*-*-*oldld*"]) + || [istarget "i?86-*-nacl*"] + || [istarget "x86_64-*-nacl*"] || [istarget "x86_64-*-linux*"] || [istarget "amd64-*-linux*"]) } { return diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-i386.s b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-i386.s index eb893af..5bda920 100644 --- a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-i386.s +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-i386.s @@ -1,6 +1,6 @@ .text .type foo, @function - .global + .global foo foo: movl xxx@GOT(%ebx), %eax ret diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s index 5bfc9e0..45df09a 100644 --- a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s @@ -1,6 +1,6 @@ .text .type foo, @function - .global + .global foo foo: movl xxx(%rip), %eax ret diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-i386.s b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-i386.s index 5ee4fab..ea541e2 100644 --- a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-i386.s +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-i386.s @@ -1,6 +1,6 @@ .text .type foo, @function - .global + .global foo foo: movl ifunc@GOT(%ebx), %eax ret diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-x86-64.s b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-x86-64.s index ee336de..837f250 100644 --- a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-x86-64.s +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-x86-64.s @@ -1,6 +1,6 @@ .text .type foo, @function - .global + .global foo foo: movl ifunc@GOTPCREL(%rip), %eax ret diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-i386.d b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-i386.d new file mode 100644 index 0000000..8ae3d0a --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-i386.d @@ -0,0 +1,10 @@ +#source: ifunc-16-x86.s +#ld: -shared -m elf_i386 +#as: --32 +#readelf: -r --wide +#target: x86_64-*-* i?86-*-* + +Relocation section '.rel.plt' at .* +[ ]+Offset[ ]+Info[ ]+Type[ ]+.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_JUMP_SLOT[ ]+0+[ ]+ifunc +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_IRELATIVE[ ]* diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-x86-64.d b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-x86-64.d new file mode 100644 index 0000000..d69626d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-x86-64.d @@ -0,0 +1,10 @@ +#source: ifunc-16-x86.s +#as: --64 +#ld: -shared -melf_x86_64 +#readelf: -r --wide +#target: x86_64-*-* + +Relocation section '.rela.plt' at .* +[ ]+Offset[ ]+Info[ ]+Type[ ]+.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_JUMP_SLOT[ ]+0+[ ]+ifunc \+ 0 +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_IRELATIVE[ ]+[0-9a-f]* diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-x86.s b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-x86.s new file mode 100644 index 0000000..fb38253 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-x86.s @@ -0,0 +1,17 @@ + .text + .globl fct + .type fct, @gnu_indirect_function + .set fct,resolve + .hidden int_fct + .globl int_fct + .set int_fct,fct + .p2align 4,,15 + .type resolve, @function +resolve: + call ifunc@PLT + .size resolve, .-resolve + .globl g + .type g, @function +g: + jmp int_fct@PLT + .size g, .-g diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-3a-x86.d b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-3a-x86.d index 24be639..3ff8024 100644 --- a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-3a-x86.d +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc-3a-x86.d @@ -4,5 +4,5 @@ #target: x86_64-*-* i?86-*-* #... -[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x1b0|\+0x240|)@plt> +[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*(\+0x1b0|\+0x240|\+0x1a0|)@plt> #pass diff --git a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc.exp b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc.exp index 60599ff..3eef3a9 100644 --- a/binutils-2.22/ld/testsuite/ld-ifunc/ifunc.exp +++ b/binutils-2.22/ld/testsuite/ld-ifunc/ifunc.exp @@ -1,6 +1,6 @@ # Expect script for linker support of IFUNC symbols and relocations. # -# Copyright 2009, 2010 Free Software Foundation, Inc. +# Copyright 2009, 2010, 2012 Free Software Foundation, Inc. # Contributed by Red Hat. # # This file is part of the GNU Binutils. @@ -30,6 +30,7 @@ if {!(([istarget "i?86-*-*"] || [istarget "powerpc*-*-*"] || [istarget "sparc*-*-*"]) && ([istarget "*-*-elf*"] + || [istarget "*-*-nacl*"] || (([istarget "*-*-linux*"] || [istarget "*-*-gnu*"]) && ![istarget "*-*-*aout*"] @@ -77,7 +78,7 @@ proc check_osabi { binary_file expected_osabi } { } verbose "Expected OSABI: $expected_osabi, Obtained osabi: $osabi" - + return 0 } diff --git a/binutils-2.22/ld/testsuite/ld-linkonce/linkonce.exp b/binutils-2.22/ld/testsuite/ld-linkonce/linkonce.exp index e8b85ac..0211114 100644 --- a/binutils-2.22/ld/testsuite/ld-linkonce/linkonce.exp +++ b/binutils-2.22/ld/testsuite/ld-linkonce/linkonce.exp @@ -1,5 +1,5 @@ # Expect script for ld linkonce tests -# Copyright 2001, 2002, 2005, 2007, 2010 Free Software Foundation, Inc. +# Copyright 2001, 2002, 2005, 2007, 2010, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -26,6 +26,7 @@ if { ![istarget *-*-linux*] \ && ![istarget *-*-gnu*] \ + && ![istarget *-*-nacl*] \ && ![istarget hppa*64*-*-hpux*] \ && ![istarget *-*-elf] } { return diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/adj-brset.d b/binutils-2.22/ld/testsuite/ld-m68hc11/adj-brset.d index f1788f7..fbda304 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/adj-brset.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/adj-brset.d @@ -1,32 +1,31 @@ #source: adj-brset.s #as: -m68hc11 -#ld: --relax +#ld: -m m68hc11elf --relax #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: +file format elf32\-m68hc11 Disassembly of section .text: -0+8000 <_start> brclr 140,x \#\$c8 0+804a <L8> -0+8004 <L1> addd \*0+4 <_toto> -0+8006 <L1\+0x2> brclr 20,x \#\$03 0+8004 <L1> -0+800a <L1\+0x6> brclr 90,x \#\$63 0+801a <L3> -0+800e <L2> addd \*0+4 <_toto> -0+8010 <L2\+0x2> brclr 19,y \#\$04 0+800e <L2> -0+8015 <L2\+0x7> brclr 91,y \#\$62 0+8024 <L4> -0+801a <L3> addd \*0+4 <_toto> -0+801c <L3\+0x2> brset 18,x \#\$05 0+801a <L3> -0+8020 <L3\+0x6> brset 92,x \#\$61 0+8030 <L5> -0+8024 <L4> addd \*0+4 <_toto> -0+8026 <L4\+0x2> brset 17,y \#\$06 0+8024 <L4> -0+802b <L4\+0x7> brset 93,y \#\$60 0+8030 <L5> -0+8030 <L5> addd \*0+4 <_toto> -0+8032 <L5\+0x2> brset \*0+32 <_table> \#\$07 0+8030 <L5> -0+8036 <L5\+0x6> brset \*0+3c <_table\+0xa> \#\$5f 0+8044 <L7> -0+803a <L6> addd \*0+4 <_toto> -0+803c <L6\+0x2> brclr \*0+33 <_table\+0x1> \#\$08 0+803a <L6> -0+8040 <L6\+0x6> brset \*0+3d <_table\+0xb> \#\$5e 0+804a <L8> -0+8044 <L7> addd \*0+4 <_toto> -0+8046 <L7\+0x2> brclr \*0+33 <_table\+0x1> \#\$08 0+803a <L6> -0+804a <L8> brclr 140,x \#\$c8 0+8000 <_start> +0+8000 <_start> brclr 0x8c,x, #0xc8, 0x0+804a <L8> +0+8004 <L1> addd \*0x0+4 <_toto> +0+8006 <L1\+0x2> brclr 0x14,x, \#0x03, 0x0+8004 <L1> +0+800a <L1\+0x6> brclr 0x5a,x, \#0x63, 0x0+801a <L3> +0+800e <L2> addd \*0x0+4 <_toto> +0+8010 <L2\+0x2> brclr 0x13,y, \#0x04, 0x0+800e <L2> +0+8015 <L2\+0x7> brclr 0x5b,y, \#0x62, 0x0+8024 <L4> +0+801a <L3> addd \*0x0+4 <_toto> +0+801c <L3\+0x2> brset 0x12,x, \#0x05, 0x0+801a <L3> +0+8020 <L3\+0x6> brset 0x5c,x, \#0x61, 0x0+8030 <L5> +0+8024 <L4> addd \*0x0+4 <_toto> +0+8026 <L4\+0x2> brset 0x11,y, \#0x06, 0x0+8024 <L4> +0+802b <L4\+0x7> brset 0x5d,y, \#0x60, 0x0+8030 <L5> +0+8030 <L5> addd \*0x0+4 <_toto> +0+8032 <L5\+0x2> brset \*0x0+32 <_table>, \#0x07, 0x0+8030 <L5> +0+8036 <L5\+0x6> brset \*0x0+3c <_table\+0xa>, \#0x5f, 0x0+8044 <L7> +0+803a <L6> addd \*0x0+4 <_toto> +0+803c <L6\+0x2> brclr \*0x0+33 <_table\+0x1>, \#0x08, 0x0+803a <L6> +0+8040 <L6\+0x6> brset \*0x0+3d <_table\+0xb>, \#0x5e, 0x0+804a <L8> +0+8044 <L7> addd \*0x0+4 <_toto> +0+8046 <L7\+0x2> brclr \*0x0+33 <_table\+0x1>, \#0x08, 0x0+803a <L6> +0+804a <L8> brclr 0x8c,x, \#0xc8, 0x0+8000 <_start> 0+804e <L8\+0x4> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/adj-jump.d b/binutils-2.22/ld/testsuite/ld-m68hc11/adj-jump.d index be87524..cca407f 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/adj-jump.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/adj-jump.d @@ -1,60 +1,59 @@ #source: adj-jump.s #as: -m68hc11 -#ld: --relax +#ld: -m m68hc11elf --relax #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: +file format elf32\-m68hc11 Disassembly of section .text: -0+8000 <_start> bra 0+8074 <L3> +0+8000 <_start> bra 0x0+8074 <L3> ... -0+8016 <_start\+0x16> bra 0+8074 <L3> -0+8018 <L1> addd 0,x -0+801a <L1\+0x2> bne 0+8018 <L1> -0+801c <L1\+0x4> addd \*0+4 <_toto> -0+801e <L1\+0x6> beq 0+8018 <L1> -0+8020 <L1\+0x8> addd \*0+5 <_toto\+0x1> -0+8022 <L1\+0xa> bne 0+8018 <L1> -0+8024 <L1\+0xc> bgt 0+8018 <L1> -0+8026 <L1\+0xe> bge 0+8018 <L1> -0+8028 <L1\+0x10> beq 0+8018 <L1> -0+802a <L1\+0x12> ble 0+8018 <L1> -0+802c <L1\+0x14> blt 0+8018 <L1> -0+802e <L1\+0x16> bhi 0+8018 <L1> -0+8030 <L1\+0x18> bcc 0+8018 <L1> -0+8032 <L1\+0x1a> beq 0+8018 <L1> -0+8034 <L1\+0x1c> bls 0+8018 <L1> -0+8036 <L1\+0x1e> bcs 0+8018 <L1> -0+8038 <L1\+0x20> bcs 0+8018 <L1> -0+803a <L1\+0x22> bmi 0+8018 <L1> -0+803c <L1\+0x24> bvs 0+8018 <L1> -0+803e <L1\+0x26> bcc 0+8018 <L1> -0+8040 <L1\+0x28> bpl 0+8018 <L1> -0+8042 <L1\+0x2a> bvc 0+8018 <L1> -0+8044 <L1\+0x2c> bne 0+8018 <L1> -0+8046 <L1\+0x2e> brn 0+8018 <L1> -0+8048 <L1\+0x30> bra 0+8018 <L1> -0+804a <L1\+0x32> addd \*0+4 <_toto> -0+804c <L1\+0x34> addd \*0+4 <_toto> -0+804e <L1\+0x36> addd \*0+4 <_toto> -0+8050 <L1\+0x38> addd \*0+4 <_toto> -0+8052 <L1\+0x3a> addd \*0+4 <_toto> -0+8054 <L1\+0x3c> addd \*0+4 <_toto> -0+8056 <L1\+0x3e> addd \*0+4 <_toto> -0+8058 <L1\+0x40> addd \*0+4 <_toto> -0+805a <L1\+0x42> addd \*0+4 <_toto> -0+805c <L1\+0x44> addd \*0+4 <_toto> -0+805e <L1\+0x46> addd \*0+4 <_toto> -0+8060 <L1\+0x48> addd \*0+4 <_toto> -0+8062 <L1\+0x4a> addd \*0+4 <_toto> -0+8064 <L1\+0x4c> addd \*0+4 <_toto> -0+8066 <L1\+0x4e> addd \*0+4 <_toto> -0+8068 <L2> bra 0+8000 <_start> -0+806a <L2\+0x2> bne 0+8068 <L2> -0+806c <L2\+0x4> beq 0+8074 <L3> -0+806e <L2\+0x6> addd \*0+4 <_toto> -0+8070 <L2\+0x8> beq 0+8074 <L3> -0+8072 <L2\+0xa> addd \*0+4 <_toto> -0+8074 <L3> addd \*0+4 <_toto> +0+8016 <_start\+0x16> bra 0x0+8074 <L3> +0+8018 <L1> addd 0x0,x +0+801a <L1\+0x2> bne 0x0+8018 <L1> +0+801c <L1\+0x4> addd \*0x0+4 <_toto> +0+801e <L1\+0x6> beq 0x0+8018 <L1> +0+8020 <L1\+0x8> addd \*0x0+5 <_toto\+0x1> +0+8022 <L1\+0xa> bne 0x0+8018 <L1> +0+8024 <L1\+0xc> bgt 0x0+8018 <L1> +0+8026 <L1\+0xe> bge 0x0+8018 <L1> +0+8028 <L1\+0x10> beq 0x0+8018 <L1> +0+802a <L1\+0x12> ble 0x0+8018 <L1> +0+802c <L1\+0x14> blt 0x0+8018 <L1> +0+802e <L1\+0x16> bhi 0x0+8018 <L1> +0+8030 <L1\+0x18> bcc 0x0+8018 <L1> +0+8032 <L1\+0x1a> beq 0x0+8018 <L1> +0+8034 <L1\+0x1c> bls 0x0+8018 <L1> +0+8036 <L1\+0x1e> bcs 0x0+8018 <L1> +0+8038 <L1\+0x20> bcs 0x0+8018 <L1> +0+803a <L1\+0x22> bmi 0x0+8018 <L1> +0+803c <L1\+0x24> bvs 0x0+8018 <L1> +0+803e <L1\+0x26> bcc 0x0+8018 <L1> +0+8040 <L1\+0x28> bpl 0x0+8018 <L1> +0+8042 <L1\+0x2a> bvc 0x0+8018 <L1> +0+8044 <L1\+0x2c> bne 0x0+8018 <L1> +0+8046 <L1\+0x2e> brn 0x0+8018 <L1> +0+8048 <L1\+0x30> bra 0x0+8018 <L1> +0+804a <L1\+0x32> addd \*0x0+4 <_toto> +0+804c <L1\+0x34> addd \*0x0+4 <_toto> +0+804e <L1\+0x36> addd \*0x0+4 <_toto> +0+8050 <L1\+0x38> addd \*0x0+4 <_toto> +0+8052 <L1\+0x3a> addd \*0x0+4 <_toto> +0+8054 <L1\+0x3c> addd \*0x0+4 <_toto> +0+8056 <L1\+0x3e> addd \*0x0+4 <_toto> +0+8058 <L1\+0x40> addd \*0x0+4 <_toto> +0+805a <L1\+0x42> addd \*0x0+4 <_toto> +0+805c <L1\+0x44> addd \*0x0+4 <_toto> +0+805e <L1\+0x46> addd \*0x0+4 <_toto> +0+8060 <L1\+0x48> addd \*0x0+4 <_toto> +0+8062 <L1\+0x4a> addd \*0x0+4 <_toto> +0+8064 <L1\+0x4c> addd \*0x0+4 <_toto> +0+8066 <L1\+0x4e> addd \*0x0+4 <_toto> +0+8068 <L2> bra 0x0+8000 <_start> +0+806a <L2\+0x2> bne 0x0+8068 <L2> +0+806c <L2\+0x4> beq 0x0+8074 <L3> +0+806e <L2\+0x6> addd \*0x0+4 <_toto> +0+8070 <L2\+0x8> beq 0x0+8074 <L3> +0+8072 <L2\+0xa> addd \*0x0+4 <_toto> +0+8074 <L3> addd \*0x0+4 <_toto> 0+8076 <L3\+0x2> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/bug-1403.d b/binutils-2.22/ld/testsuite/ld-m68hc11/bug-1403.d index c643cd1..16f6e19 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/bug-1403.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/bug-1403.d @@ -1,12 +1,11 @@ #source: bug-1403.s #as: -m68hc11 -#ld: --relax +#ld: -m m68hc11elf --relax #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> bset \*0+ <__bss_size> \#\$04 -0+8003 <L1> bra 0+8005 <toto> +0+8000 <_start> bset \*0x0+ <__bss_size>, \#0x04 +0+8003 <L1> bra 0x0+8005 <toto> 0+8005 <toto> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/bug-1417.d b/binutils-2.22/ld/testsuite/ld-m68hc11/bug-1417.d index 84b3ad4..942ba63 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/bug-1417.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/bug-1417.d @@ -1,15 +1,14 @@ #source: bug-1417.s #as: -m68hc11 -#ld: --relax +#ld: -m m68hc11elf --relax #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> tst 0+ <__bss_size> -0+8003 <_start\+0x3> bne 0+8007 <L1> -0+8005 <_start\+0x5> bsr 0+800b <foo> -0+8007 <L1> bset \*0+ <__bss_size> \#\$04 +0+8000 <_start> tst 0x0+ <__bss_size> +0+8003 <_start\+0x3> bne 0x0+8007 <L1> +0+8005 <_start\+0x5> bsr 0x0+800b <foo> +0+8007 <L1> bset \*0x0+ <__bss_size>, \#0x04 0+800a <L2> rts 0+800b <foo> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/bug-3331.d b/binutils-2.22/ld/testsuite/ld-m68hc11/bug-3331.d index 91050bf..6f72313 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/bug-3331.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/bug-3331.d @@ -1,14 +1,13 @@ #source: bug-3331.s #as: -m68hc11 -#ld: --relax +#ld: -m m68hc11elf --relax #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> ldx #0+1100 <__data_section_start> -0+8003 <_start\+0x3> bset 0,x \#\$04 -0+8006 <L1> ldd \#0+2 <__bss_size\+0x2> -0+8009 <L1\+0x3> std \*0+ <__bss_size> +0+8000 <_start> ldx #0x0+1100 <__data_section_start> +0+8003 <_start\+0x3> bset 0x0,x, \#0x04 +0+8006 <L1> ldd \#0x0+2 <__bss_size\+0x2> +0+8009 <L1\+0x3> std \*0x0+ <__bss_size> 0+800b <L1\+0x5> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/far-hc11.d b/binutils-2.22/ld/testsuite/ld-m68hc11/far-hc11.d index e380511..b93bb63 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/far-hc11.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/far-hc11.d @@ -2,72 +2,71 @@ #as: -m68hc11 #ld: -m m68hc11elf #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: file format elf32-m68hc11 Disassembly of section .text: 0+8000 <tramp._far_foo> pshb -0+8001 <tramp._far_foo\+0x1> ldab \#0 -0+8003 <tramp._far_foo\+0x3> ldy \#0+6c <_far_foo> -0+8007 <tramp._far_foo\+0x7> jmp 0+8056 <__far_trampoline> +0+8001 <tramp._far_foo\+0x1> ldab \#0x0 +0+8003 <tramp._far_foo\+0x3> ldy \#0x0+8072 <_far_foo> +0+8007 <tramp._far_foo\+0x7> jmp 0x0+8056 <__far_trampoline> 0+800a <tramp._far_bar> pshb -0+800b <tramp._far_bar\+0x1> ldab \#0 -0+800d <tramp._far_bar\+0x3> ldy \#0+64 <stack> -0+8011 <tramp._far_bar\+0x7> jmp 0+8056 <__far_trampoline> -0+8014 <_start> lds \#0+64 <stack> -0+8017 <_start\+0x3> ldx \#0+abcd <__data_image\+0x2b63> +0+800b <tramp._far_bar\+0x1> ldab \#0x0 +0+800d <tramp._far_bar\+0x3> ldy \#0x0+806a .* +0+8011 <tramp._far_bar\+0x7> jmp 0x0+8056 <__far_trampoline> +0+8014 <_start> lds \#0x0+64 <stack> +0+8017 <_start\+0x3> ldx \#0x0+abcd .* 0+801a <_start\+0x6> pshx -0+801b <_start\+0x7> ldd \#0+1234 <__data_section_start\+0x134> -0+801e <_start\+0xa> ldx \#0+5678 <__data_section_start\+0x4578> -0+8021 <_start\+0xd> jsr 0+800a <tramp._far_bar> -0+8024 <_start\+0x10> cpx \#0+1234 <__data_section_start\+0x134> -0+8027 <_start\+0x13> bne 0+804e <fail> -0+8029 <_start\+0x15> cpd \#0+5678 <__data_section_start\+0x4578> -0+802d <_start\+0x19> bne 0+804e <fail> +0+801b <_start\+0x7> ldd \#0x0+1234 .* +0+801e <_start\+0xa> ldx \#0x0+5678 .* +0+8021 <_start\+0xd> jsr 0x0+800a <tramp._far_bar> +0+8024 <_start\+0x10> cpx \#0x0+1234 .* +0+8027 <_start\+0x13> bne 0x0+804e <fail> +0+8029 <_start\+0x15> cpd \#0x0+5678 .* +0+802d <_start\+0x19> bne 0x0+804e <fail> 0+802f <_start\+0x1b> pulx -0+8030 <_start\+0x1c> cpx \#0+abcd <__data_image\+0x2b63> -0+8033 <_start\+0x1f> bne 0+804e <fail> -0+8035 <_start\+0x21> ldd \#0+8000 <tramp._far_foo> +0+8030 <_start\+0x1c> cpx \#0x0+abcd .* +0+8033 <_start\+0x1f> bne 0x0+804e <fail> +0+8035 <_start\+0x21> ldd \#0x0+8000 <tramp._far_foo> 0+8038 <_start\+0x24> xgdx -0+8039 <_start\+0x25> jsr 0,x -0+803b <_start\+0x27> ldd \#0+800a <tramp._far_bar> +0+8039 <_start\+0x25> jsr 0x0,x +0+803b <_start\+0x27> ldd \#0x0+800a <tramp._far_bar> 0+803e <_start\+0x2a> xgdy -0+8040 <_start\+0x2c> jsr 0,y -0+8043 <_start\+0x2f> ldaa \#0 -0+8045 <_start\+0x31> ldy \#0+73 <_far_no_tramp> -0+8049 <_start\+0x35> bsr 0+8066 <__call_a16> +0+8040 <_start\+0x2c> jsr 0x0,y +0+8043 <_start\+0x2f> ldaa \#0x0 +0+8045 <_start\+0x31> ldy \#0x0+8079 <_far_no_tramp> +0+8049 <_start\+0x35> bsr 0x0+8066 <__call_a16> 0+804b <_start\+0x37> clra 0+804c <_start\+0x38> clrb 0+804d <_start\+0x39> wai -0+804e <fail> ldd \#0+1 <__bss_size\+0x1> +0+804e <fail> ldd \#0x0+1 <__bss_size\+0x1> 0+8051 <fail\+0x3> wai -0+8052 <fail\+0x4> bra 0+8014 <_start> +0+8052 <fail\+0x4> bra 0x0+8014 <_start> 0+8054 <__return> ins 0+8055 <__return\+0x1> rts 0+8056 <__far_trampoline> psha 0+8057 <__far_trampoline\+0x1> psha 0+8058 <__far_trampoline\+0x2> pshx 0+8059 <__far_trampoline\+0x3> tsx -0+805a <__far_trampoline\+0x4> ldab 4,x -0+805c <__far_trampoline\+0x6> ldaa 2,x -0+805e <__far_trampoline\+0x8> staa 4,x +0+805a <__far_trampoline\+0x4> ldab 0x4,x +0+805c <__far_trampoline\+0x6> ldaa 0x2,x +0+805e <__far_trampoline\+0x8> staa 0x4,x 0+8060 <__far_trampoline\+0xa> pulx 0+8061 <__far_trampoline\+0xb> pula 0+8062 <__far_trampoline\+0xc> pula -0+8063 <__far_trampoline\+0xd> jmp 0,y +0+8063 <__far_trampoline\+0xd> jmp 0x0,y 0+8066 <__call_a16> psha -0+8067 <__call_a16\+0x1> jmp 0,y +0+8067 <__call_a16\+0x1> jmp 0x0,y Disassembly of section .bank1: -0+64 <_far_bar> jsr 0+6b <local_bank1> -0+67 <_far_bar\+0x3> xgdx -0+68 <_far_bar\+0x4> jmp 0+8054 <__return> -0+6b <local_bank1> rts +0+806a <_far_bar> jsr 0x0+8071 <local_bank1> +0+806d <_far_bar\+0x3> xgdx +0+806e <_far_bar\+0x4> jmp 0x0+8054 <__return> +0+8071 <local_bank1> rts Disassembly of section .bank2: -0+6c <_far_foo> jsr 0+72 <local_bank2> -0+6f <_far_foo\+0x3> jmp 0+8054 <__return> -0+72 <local_bank2> rts +0+8072 <_far_foo> jsr 0x0+8078 <local_bank2> +0+8075 <_far_foo\+0x3> jmp 0x0+8054 <__return> +0+8078 <local_bank2> rts Disassembly of section .bank3: -0+73 <_far_no_tramp> jsr 0+79 <local_bank3> -0+76 <_far_no_tramp\+0x3> jmp 0+8054 <__return> -0+79 <local_bank3> rts +0+8079 <_far_no_tramp> jsr 0x0+807f <local_bank3> +0+807c <_far_no_tramp\+0x3> jmp 0x0+8054 <__return> +0+807f <local_bank3> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/far-hc12.d b/binutils-2.22/ld/testsuite/ld-m68hc11/far-hc12.d index 304ae87..7d99089 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/far-hc12.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/far-hc12.d @@ -2,54 +2,53 @@ #as: -m68hc12 #ld: -m m68hc12elf --script $srcdir/$subdir/far-hc12.ld #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: file format elf32\-m68hc12 Disassembly of section .text: -0+c000 <tramp\._far_foo> ldy \#0+8000 <__bank_start> -0+c003 <tramp\._far_foo\+0x3> call 0+c049 <__far_trampoline> \{0+c049 <__far_trampoline>, 1\} -0+c007 <tramp\._far_bar> ldy \#0+8000 <__bank_start> -0+c00a <tramp\._far_bar\+0x3> call 0+c049 <__far_trampoline> \{0+c049 <__far_trampoline>, 0\} -0+c00e <_start> lds \#0+2063 <stack-0x1> -0+c011 <_start\+0x3> ldx \#0+abcd <__bank_start\+0x2bcd> +0+c000 <tramp\._far_foo> ldy \#0x0+8000 <__bank_start> +0+c003 <tramp\._far_foo\+0x3> call 0x0+c049 <__far_trampoline> \{0x0+c049 <__far_trampoline>, 0x1\} +0+c007 <tramp\._far_bar> ldy \#0x0+8000 <__bank_start> +0+c00a <tramp\._far_bar\+0x3> call 0x0+c049 <__far_trampoline> \{0x0+c049 <__far_trampoline>, 0x0\} +0+c00e <_start> lds \#0x0+2063 <stack-0x1> +0+c011 <_start\+0x3> ldx \#0x0+abcd <__bank_start\+0x2bcd> 0+c014 <_start\+0x6> pshx -0+c015 <_start\+0x7> ldd \#0+1234 <stack\-0xe30> -0+c018 <_start\+0xa> ldx \#0+5678 <__bank_size\+0x1678> -0+c01b <_start\+0xd> jsr 0+c007 <tramp._far_bar> -0+c01e <_start\+0x10> cpx \#0+1234 <stack\-0xe30> -0+c021 <_start\+0x13> bne 0+c043 <fail> -0+c023 <_start\+0x15> cpd \#0+5678 <__bank_size\+0x1678> -0+c026 <_start\+0x18> bne 0+c043 <fail> +0+c015 <_start\+0x7> ldd \#0x0+1234 <stack\-0xe30> +0+c018 <_start\+0xa> ldx \#0x0+5678 <__bank_size\+0x1678> +0+c01b <_start\+0xd> jsr 0x0+c007 <tramp._far_bar> +0+c01e <_start\+0x10> cpx \#0x0+1234 <stack\-0xe30> +0+c021 <_start\+0x13> bne 0x0+c043 <fail> +0+c023 <_start\+0x15> cpd \#0x0+5678 <__bank_size\+0x1678> +0+c026 <_start\+0x18> bne 0x0+c043 <fail> 0+c028 <_start\+0x1a> pulx -0+c029 <_start\+0x1b> cpx \#0+abcd <__bank_start\+0x2bcd> -0+c02c <_start\+0x1e> bne 0+c043 <fail> -0+c02e <_start\+0x20> ldd \#0+c000 <tramp._far_foo> +0+c029 <_start\+0x1b> cpx \#0x0+abcd <__bank_start\+0x2bcd> +0+c02c <_start\+0x1e> bne 0x0+c043 <fail> +0+c02e <_start\+0x20> ldd \#0x0+c000 <tramp._far_foo> 0+c031 <_start\+0x23> xgdx -0+c033 <_start\+0x25> jsr 0,X -0+c035 <_start\+0x27> ldd \#0+c007 <tramp._far_bar> +0+c033 <_start\+0x25> jsr 0x0,X +0+c035 <_start\+0x27> ldd \#0x0+c007 <tramp._far_bar> 0+c038 <_start\+0x2a> xgdy -0+c03a <_start\+0x2c> jsr 0,Y -0+c03c <_start\+0x2e> call 0+18000 <_far_no_tramp> \{0+8000 <__bank_start>, 2\} +0+c03a <_start\+0x2c> jsr 0x0,Y +0+c03c <_start\+0x2e> call 0x0+18000 <_far_no_tramp> \{0x0+8000 <__bank_start>, 0x2\} 0+c040 <_start\+0x32> clra 0+c041 <_start\+0x33> clrb 0+c042 <_start\+0x34> wai -0+c043 <fail> ldd \#0+1 <stack\-0x2063> +0+c043 <fail> ldd \#0x0+1 <stack\-0x2063> 0+c046 <fail\+0x3> wai -0+c047 <fail\+0x4> bra 0+c00e <_start> -0+c049 <__far_trampoline> movb 0,SP, 2,SP -0+c04d <__far_trampoline\+0x4> leas 2,SP -0+c04f <__far_trampoline\+0x6> jmp 0,Y +0+c047 <fail\+0x4> bra 0x0+c00e <_start> +0+c049 <__far_trampoline> movb 0x0,SP, 0x2,SP +0+c04d <__far_trampoline\+0x4> leas 0x2,SP +0+c04f <__far_trampoline\+0x6> jmp 0x0,Y Disassembly of section .bank1: -0+10+ <_far_bar> jsr 0+10006 <local_bank1> +0+10+ <_far_bar> jsr 0x0+10006 <local_bank1> 0+10003 <_far_bar\+0x3> xgdx 0+10005 <_far_bar\+0x5> rtc 0+10006 <local_bank1> rts Disassembly of section .bank2: -0+14000 <_far_foo> jsr 0+14004 <local_bank2> +0+14000 <_far_foo> jsr 0x0+14004 <local_bank2> 0+14003 <_far_foo\+0x3> rtc 0+14004 <local_bank2> rts Disassembly of section .bank3: -0+18000 <_far_no_tramp> jsr 0+18004 <local_bank3> +0+18000 <_far_no_tramp> jsr 0x0+18004 <local_bank3> 0+18003 <_far_no_tramp\+0x3> rtc 0+18004 <local_bank3> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/link-hcs12.d b/binutils-2.22/ld/testsuite/ld-m68hc11/link-hcs12.d index f243da2..5fd5fae 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/link-hcs12.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/link-hcs12.d @@ -1,24 +1,19 @@ #source: link-hcs12.s -m68hcs12 #source: link-hc12.s -m68hc12 #as: -mshort -#ld: -m m68hc12elf +#ld: -m m68hc12elf --script $srcdir/$subdir/far-hc12.ld #objdump: -p -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: file format elf32\-m68hc12 Program Header: - LOAD off 0x0+ vaddr 0x0+1000 paddr 0x0+1000 align 2\*\*12 - filesz 0x0+100 memsz 0x0+100 flags rw- - LOAD off 0x0+1000 vaddr 0x0+8000 paddr 0x0+8000 align 2\*\*12 + LOAD off 0x0+1000 vaddr 0x0+c000 paddr 0x0+c000 align 2\*\*12 filesz 0x0+6 memsz 0x0+6 flags r-x - LOAD off 0x0+1100 vaddr 0x0+1100 paddr 0x0+8006 align 2\*\*12 - filesz 0x0+ memsz 0x0+ flags rw- private flags = 22:\[abi=16\-bit int, 64\-bit double, cpu=HCS12\] \[memory=flat\] Disassembly of section .text: -0+8000 <_start> jsr 0+8005 <main> -0+8003 <_start\+0x3> bra 0+8000 <_start> -0+8005 <main> rts +0+c000 <_start> jsr 0x0+c005 <main> +0+c003 <_start\+0x3> bra 0x0+c000 <_start> +0+c005 <main> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/m68hc11.exp b/binutils-2.22/ld/testsuite/ld-m68hc11/m68hc11.exp index 103b792..d673bc0 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/m68hc11.exp +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/m68hc11.exp @@ -1,5 +1,5 @@ # Expect script for run_dump_test based ld-m68hc11 tests. -# Copyright 2002, 2005, 2007 Free Software Foundation, Inc. +# Copyright 2002, 2005, 2007, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -22,7 +22,8 @@ # Test 68HC11 relaxing. This tests the assembler as well as the linker. -if { ![istarget m6811-*-*] && ![istarget m6812-*-*] } { +if { ![istarget m6811-*-*] && ![istarget m6812-*-*] + && ![istarget m68hc11-*-*] && ![istarget m68hc12-*-*] } { return } diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/relax-direct.d b/binutils-2.22/ld/testsuite/ld-m68hc11/relax-direct.d index 9bd0822..519c074 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/relax-direct.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/relax-direct.d @@ -1,63 +1,62 @@ #source: relax-direct.s #as: -m68hc11 -#ld: --relax +#ld: -m m68hc11elf --relax #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> lds \*0+28 <stack> -0+8002 <_start\+0x2> ldd \*0+ <__bss_size> -0+8004 <_start\+0x4> beq 0+800f <F1> -0+8006 <_start\+0x6> bne 0+800b <_start\+0xb> -0+8008 <_start\+0x8> jmp 0+8138 <F2> -0+800b <_start\+0xb> std \*0+ <__bss_size> -0+800d <_start\+0xd> jsr \*0+ <__bss_size> -0+800f <F1> addd \*0+4 <_toto> -0+8011 <F1\+0x2> bne 0+8000 <_start> -0+8013 <F1\+0x4> addd \*0+cc <_table\+0x9a> -0+8015 <F1\+0x6> addd 0+114 <_stack_top\+0x1a> -0+8018 <F1\+0x9> adca \*0+34 <_table\+0x2> -0+801a <F1\+0xb> adcb \*0+35 <_table\+0x3> -0+801c <F1\+0xd> adda \*0+36 <_table\+0x4> -0+801e <F1\+0xf> addb \*0+37 <_table\+0x5> -0+8020 <F1\+0x11> addd \*0+38 <_table\+0x6> -0+8022 <F1\+0x13> anda \*0+39 <_table\+0x7> -0+8024 <F1\+0x15> andb \*0+3a <_table\+0x8> -0+8026 <F1\+0x17> cmpa \*0+3b <_table\+0x9> -0+8028 <F1\+0x19> cmpb \*0+3c <_table\+0xa> -0+802a <F1\+0x1b> cpd \*0+3d <_table\+0xb> -0+802d <F1\+0x1e> cpx \*0+3e <_table\+0xc> -0+802f <F1\+0x20> cpy \*0+3f <_table\+0xd> -0+8032 <F1\+0x23> eora \*0+40 <_table\+0xe> -0+8034 <F1\+0x25> eorb \*0+41 <_table\+0xf> -0+8036 <F1\+0x27> jsr \*0+42 <_table\+0x10> -0+8038 <F1\+0x29> ldaa \*0+43 <_table\+0x11> -0+803a <F1\+0x2b> ldab \*0+44 <_table\+0x12> -0+803c <F1\+0x2d> ldd \*0+45 <_table\+0x13> -0+803e <F1\+0x2f> lds \*0+46 <_table\+0x14> -0+8040 <F1\+0x31> ldx \*0+47 <_table\+0x15> -0+8042 <F1\+0x33> ldy \*0+48 <_table\+0x16> -0+8045 <F1\+0x36> oraa \*0+49 <_table\+0x17> -0+8047 <F1\+0x38> orab \*0+4a <_table\+0x18> -0+8049 <F1\+0x3a> sbcb \*0+4b <_table\+0x19> -0+804b <F1\+0x3c> sbca \*0+4c <_table\+0x1a> -0+804d <F1\+0x3e> staa \*0+4d <_table\+0x1b> -0+804f <F1\+0x40> stab \*0+4e <_table\+0x1c> -0+8051 <F1\+0x42> std \*0+4f <_table\+0x1d> -0+8053 <F1\+0x44> sts \*0+50 <_table\+0x1e> -0+8055 <F1\+0x46> stx \*0+51 <_table\+0x1f> -0+8057 <F1\+0x48> sty \*0+52 <_table\+0x20> -0+805a <F1\+0x4b> suba \*0+53 <_table\+0x21> -0+805c <F1\+0x4d> subb \*0+54 <_table\+0x22> -0+805e <F1\+0x4f> subd \*0+55 <_table\+0x23> -0+8060 <F1\+0x51> bne 0+8000 <_start> -0+8062 <F1\+0x53> bra 0+800f <F1> +0+8000 <_start> lds \*0x0+28 <stack> +0+8002 <_start\+0x2> ldd \*0x0+ <__bss_size> +0+8004 <_start\+0x4> beq 0x0+800f <F1> +0+8006 <_start\+0x6> bne 0x0+800b <_start\+0xb> +0+8008 <_start\+0x8> jmp 0x0+8138 <F2> +0+800b <_start\+0xb> std \*0x0+ <__bss_size> +0+800d <_start\+0xd> jsr \*0x0+ <__bss_size> +0+800f <F1> addd \*0x0+4 <_toto> +0+8011 <F1\+0x2> bne 0x0+8000 <_start> +0+8013 <F1\+0x4> addd \*0x0+cc <_table\+0x9a> +0+8015 <F1\+0x6> addd 0x0+114 <_stack_top\+0x1a> +0+8018 <F1\+0x9> adca \*0x0+34 <_table\+0x2> +0+801a <F1\+0xb> adcb \*0x0+35 <_table\+0x3> +0+801c <F1\+0xd> adda \*0x0+36 <_table\+0x4> +0+801e <F1\+0xf> addb \*0x0+37 <_table\+0x5> +0+8020 <F1\+0x11> addd \*0x0+38 <_table\+0x6> +0+8022 <F1\+0x13> anda \*0x0+39 <_table\+0x7> +0+8024 <F1\+0x15> andb \*0x0+3a <_table\+0x8> +0+8026 <F1\+0x17> cmpa \*0x0+3b <_table\+0x9> +0+8028 <F1\+0x19> cmpb \*0x0+3c <_table\+0xa> +0+802a <F1\+0x1b> cpd \*0x0+3d <_table\+0xb> +0+802d <F1\+0x1e> cpx \*0x0+3e <_table\+0xc> +0+802f <F1\+0x20> cpy \*0x0+3f <_table\+0xd> +0+8032 <F1\+0x23> eora \*0x0+40 <_table\+0xe> +0+8034 <F1\+0x25> eorb \*0x0+41 <_table\+0xf> +0+8036 <F1\+0x27> jsr \*0x0+42 <_table\+0x10> +0+8038 <F1\+0x29> ldaa \*0x0+43 <_table\+0x11> +0+803a <F1\+0x2b> ldab \*0x0+44 <_table\+0x12> +0+803c <F1\+0x2d> ldd \*0x0+45 <_table\+0x13> +0+803e <F1\+0x2f> lds \*0x0+46 <_table\+0x14> +0+8040 <F1\+0x31> ldx \*0x0+47 <_table\+0x15> +0+8042 <F1\+0x33> ldy \*0x0+48 <_table\+0x16> +0+8045 <F1\+0x36> oraa \*0x0+49 <_table\+0x17> +0+8047 <F1\+0x38> orab \*0x0+4a <_table\+0x18> +0+8049 <F1\+0x3a> sbcb \*0x0+4b <_table\+0x19> +0+804b <F1\+0x3c> sbca \*0x0+4c <_table\+0x1a> +0+804d <F1\+0x3e> staa \*0x0+4d <_table\+0x1b> +0+804f <F1\+0x40> stab \*0x0+4e <_table\+0x1c> +0+8051 <F1\+0x42> std \*0x0+4f <_table\+0x1d> +0+8053 <F1\+0x44> sts \*0x0+50 <_table\+0x1e> +0+8055 <F1\+0x46> stx \*0x0+51 <_table\+0x1f> +0+8057 <F1\+0x48> sty \*0x0+52 <_table\+0x20> +0+805a <F1\+0x4b> suba \*0x0+53 <_table\+0x21> +0+805c <F1\+0x4d> subb \*0x0+54 <_table\+0x22> +0+805e <F1\+0x4f> subd \*0x0+55 <_table\+0x23> +0+8060 <F1\+0x51> bne 0x0+8000 <_start> +0+8062 <F1\+0x53> bra 0x0+800f <F1> 0+8064 <F1\+0x55> rts -0+8065 <no_relax> addd 0+136 <_stack_top\+0x3c> -0+8068 <no_relax\+0x3> std 0+122 <_stack_top\+0x28> -0+806b <no_relax\+0x6> tst 0+5 <_toto\+0x1> -0+806e <no_relax\+0x9> bne 0+8065 <no_relax> +0+8065 <no_relax> addd 0x0+136 <_stack_top\+0x3c> +0+8068 <no_relax\+0x3> std 0x0+122 <_stack_top\+0x28> +0+806b <no_relax\+0x6> tst 0x0+5 <_toto\+0x1> +0+806e <no_relax\+0x9> bne 0x0+8065 <no_relax> ... -0+8138 <F2> jmp 0+8000 <_start> +0+8138 <F2> jmp 0x0+8000 <_start> diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/relax-group.d b/binutils-2.22/ld/testsuite/ld-m68hc11/relax-group.d index baf294b..8c4fb24 100644 --- a/binutils-2.22/ld/testsuite/ld-m68hc11/relax-group.d +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/relax-group.d @@ -1,63 +1,62 @@ #source: relax-group.s #as: -m68hc11 -#ld: --relax +#ld: -m m68hc11elf --relax #objdump: -d --prefix-addresses -r -#target: m6811-*-* m6812-*-* .*: +file format elf32-m68hc11 Disassembly of section .text: -0+8000 <_start> bset \*0+ <__bss_size> #\$04 -0+8003 <L1x> bset \*0+ <__bss_size> #\$04 -0+8006 <L1y> bset \*0+3 <__bss_size\+0x3> #\$04 -0+8009 <L1y\+0x3> bset \*0+4 <table4> #\$08 -0+800c <L2x> bset \*0+3 <__bss_size\+0x3> #\$04 -0+800f <L2x\+0x3> bset \*0+4 <table4> #\$08 -0+8012 <L2y> bset \*0+6 <table4\+0x2> #\$04 -0+8015 <L2y\+0x3> bset \*0+7 <table4\+0x3> #\$08 -0+8018 <L2y\+0x6> bset \*0+8 <table8> #\$0c -0+801b <L2y\+0x9> bset \*0+9 <table8\+0x1> #\$0c -0+801e <L2y\+0xc> bset \*0+a <table8\+0x2> #\$0c -0+8021 <L2y\+0xf> bset \*0+b <table8\+0x3> #\$0c -0+8024 <L3x> bset \*0+6 <table4\+0x2> #\$04 -0+8027 <L3x\+0x3> bset \*0+7 <table4\+0x3> #\$08 -0+802a <L3x\+0x6> bset \*0+8 <table8> #\$0c -0+802d <L3x\+0x9> bset \*0+9 <table8\+0x1> #\$0c -0+8030 <L3x\+0xc> bset \*0+a <table8\+0x2> #\$0c -0+8033 <L3x\+0xf> bset \*0+b <table8\+0x3> #\$0c -0+8036 <L3y> bra 0+8000 <_start> -0+8038 <L3y\+0x2> ldx #0+fe <end_table\+0xe8> -0+803b <L3y\+0x5> bset \*0+fe <end_table\+0xe8> #\$04 -0+803e <L3y\+0x8> bset \*0+ff <end_table\+0xe9> #\$08 -0+8041 <L3y\+0xb> bset 2,x #\$0c -0+8044 <L3y\+0xe> bset 3,x #\$0c -0+8047 <L3y\+0x11> bset 4,x #\$0c -0+804a <L3y\+0x14> bset 5,x #\$0c -0+804d <L4x> ldy #0+fe <end_table\+0xe8> -0+8051 <L4x\+0x4> bset \*0+fe <end_table\+0xe8> #\$04 -0+8054 <L4x\+0x7> bset \*0+ff <end_table\+0xe9> #\$08 -0+8057 <L4x\+0xa> bset 2,y #\$0c -0+805b <L4x\+0xe> bset 3,y #\$0c -0+805f <L4x\+0x12> bset 4,y #\$0c -0+8063 <L4x\+0x16> bset 5,y #\$0c -0+8067 <L4y> bclr \*0+a <table8\+0x2> #\$04 -0+806a <L4y\+0x3> bclr \*0+b <table8\+0x3> #\$08 -0+806d <L5x> bclr \*0+1a <end_table\+0x4> #\$04 -0+8070 <L5x\+0x3> bclr \*0+1b <end_table\+0x5> #\$08 -0+8073 <L5y> brset \*0+8 <table8> #\$04 0+8073 <L5y> -0+8077 <L6x> brset \*0+8 <table8> #\$04 0+8077 <L6x> -0+807b <L7x> brset \*0+8 <table8> #\$04 0+8094 <brend> -0+807f <L8x> brset \*0+8 <table8> #\$04 0+8094 <brend> -0+8083 <L8y> brclr \*0+8 <table8> #\$04 0+8083 <L8y> -0+8087 <L9x> brclr \*0+8 <table8> #\$04 0+8087 <L9x> -0+808b <L9y> brclr \*0+8 <table8> #\$04 0+8094 <brend> -0+808f <L10x> brclr \*0+8 <table8> #\$04 0+8094 <brend> +0+8000 <_start> bset \*0x0+ <__bss_size>, #0x04 +0+8003 <L1x> bset \*0x0+ <__bss_size>, #0x04 +0+8006 <L1y> bset \*0x0+3 <__bss_size\+0x3>, #0x04 +0+8009 <L1y\+0x3> bset \*0x0+4 <table4>, #0x08 +0+800c <L2x> bset \*0x0+3 <__bss_size\+0x3>, #0x04 +0+800f <L2x\+0x3> bset \*0x0+4 <table4>, #0x08 +0+8012 <L2y> bset \*0x0+6 <table4\+0x2>, #0x04 +0+8015 <L2y\+0x3> bset \*0x0+7 <table4\+0x3>, #0x08 +0+8018 <L2y\+0x6> bset \*0x0+8 <table8>, #0x0c +0+801b <L2y\+0x9> bset \*0x0+9 <table8\+0x1>, #0x0c +0+801e <L2y\+0xc> bset \*0x0+a <table8\+0x2>, #0x0c +0+8021 <L2y\+0xf> bset \*0x0+b <table8\+0x3>, #0x0c +0+8024 <L3x> bset \*0x0+6 <table4\+0x2>, #0x04 +0+8027 <L3x\+0x3> bset \*0x0+7 <table4\+0x3>, #0x08 +0+802a <L3x\+0x6> bset \*0x0+8 <table8>, #0x0c +0+802d <L3x\+0x9> bset \*0x0+9 <table8\+0x1>, #0x0c +0+8030 <L3x\+0xc> bset \*0x0+a <table8\+0x2>, #0x0c +0+8033 <L3x\+0xf> bset \*0x0+b <table8\+0x3>, #0x0c +0+8036 <L3y> bra 0x0+8000 <_start> +0+8038 <L3y\+0x2> ldx #0x0+fe <end_table\+0xe8> +0+803b <L3y\+0x5> bset \*0x0+fe <end_table\+0xe8>, #0x04 +0+803e <L3y\+0x8> bset \*0x0+ff <end_table\+0xe9>, #0x08 +0+8041 <L3y\+0xb> bset 0x2,x, #0x0c +0+8044 <L3y\+0xe> bset 0x3,x, #0x0c +0+8047 <L3y\+0x11> bset 0x4,x, #0x0c +0+804a <L3y\+0x14> bset 0x5,x, #0x0c +0+804d <L4x> ldy #0x0+fe <end_table\+0xe8> +0+8051 <L4x\+0x4> bset \*0x0+fe <end_table\+0xe8>, #0x04 +0+8054 <L4x\+0x7> bset \*0x0+ff <end_table\+0xe9>, #0x08 +0+8057 <L4x\+0xa> bset 0x2,y, #0x0c +0+805b <L4x\+0xe> bset 0x3,y, #0x0c +0+805f <L4x\+0x12> bset 0x4,y, #0x0c +0+8063 <L4x\+0x16> bset 0x5,y, #0x0c +0+8067 <L4y> bclr \*0x0+a <table8\+0x2>, #0x04 +0+806a <L4y\+0x3> bclr \*0x0+b <table8\+0x3>, #0x08 +0+806d <L5x> bclr \*0x0+1a <end_table\+0x4>, #0x04 +0+8070 <L5x\+0x3> bclr \*0x0+1b <end_table\+0x5>, #0x08 +0+8073 <L5y> brset \*0x0+8 <table8>, #0x04, 0x0+8073 <L5y> +0+8077 <L6x> brset \*0x0+8 <table8>, #0x04, 0x0+8077 <L6x> +0+807b <L7x> brset \*0x0+8 <table8>, #0x04, 0x0+8094 <brend> +0+807f <L8x> brset \*0x0+8 <table8>, #0x04, 0x0+8094 <brend> +0+8083 <L8y> brclr \*0x0+8 <table8>, #0x04, 0x0+8083 <L8y> +0+8087 <L9x> brclr \*0x0+8 <table8>, #0x04, 0x0+8087 <L9x> +0+808b <L9y> brclr \*0x0+8 <table8>, #0x04, 0x0+8094 <brend> +0+808f <L10x> brclr \*0x0+8 <table8>, #0x04, 0x0+8094 <brend> 0+8093 <L10y> nop -0+8094 <brend> bset 0,x #\$04 -0+8097 <w2> ldx #0+ <__bss_size> -0+809a <w3> ldy #0+8 <table8> +0+8094 <brend> bset 0x0,x, #0x04 +0+8097 <w2> ldx #0x0+ <__bss_size> +0+809a <w3> ldy #0x0+8 <table8> 0+809e <w4> rts -0+809f <w5> ldx #0+ <__bss_size> -0+80a2 <w5\+0x3> bset 0,x #\$05 -0+80a5 <w5\+0x6> jmp 0+8000 <_start> +0+809f <w5> ldx #0x0+ <__bss_size> +0+80a2 <w5\+0x3> bset 0x0,x, #0x05 +0+80a5 <w5\+0x6> jmp 0x0+8000 <_start> 0+80a8 <w5\+0x9> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-link.d b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-link.d new file mode 100644 index 0000000..cdf80ab --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-link.d @@ -0,0 +1,25 @@ +#as: -mm9s12xg +#source: xgate-link.s +#ld: --relax -mm68hc12elf -defsym var1=0xfeed -defsym var2=0xdeaf -defsym var3=0xa1b2 -defsym var4=0x3456 -defsym var5=0xfa -defsym var6=0x20fe +#objdump: -d --prefix-addresses -r -mm9s12xg + +tmpdir/dump: file format elf32-m68hc12 + + +Disassembly of section .text: +00008000 <_start> ldl R1, #0xed +00008002 <_start\+0x2> ldh R1, #0xfe +00008004 <_start\+0x4> addl R5, #0xaf +00008006 <_start\+0x6> addh R5, #0xde +00008008 <_start\+0x8> ldl R2, #0x56 +0000800a <_start\+0xa> ldh R2, #0x34 +0000800c <_start\+0xc> ldl R3, #0x21 +0000800e <_start\+0xe> ldh R6, #0xfa +00008010 <_start\+0x10> cmpl R1, #0xcd +00008012 <_start\+0x12> cpch R1, #0xab +00008014 <_start\+0x14> cmpl R2, #0xb2 +00008016 <_start\+0x16> cpch R2, #0xa1 +00008018 <_start\+0x18> ldl R1, #0xfe +0000801a <_start\+0x1a> ldh R1, #0x20 +0000801c <_start\+0x1c> ldl R2, #0x02 +0000801e <_start\+0x1e> ldh R2, #0x22 diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-link.s b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-link.s new file mode 100644 index 0000000..8413bd9 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-link.s @@ -0,0 +1,16 @@ +;;; Test 16bit relocate with XGATE +;;; + .sect .text + .globl _start +_start: + + ldw r1,#var1 ; expands to two IMM8 %hi,%lo relocate + add r5,#var2 ; expands to two IMM8 %hi,%lo relocate + ldl r2,#%lovar4 ; test explicit %lo + ldh r2,#%hivar4 ; test explicit %hi + ldl r3,#0x21 ; regular IMM8 + ldh r6,#var5 ; IMM8 with relocate + cmp r1,#0xabcd ; expands to two IMM8 with constant + cmp r2,#var3 ; expands to two IMM8 %hi,%lo relocate + ldw r1,#var6 + ldw r2,#var6+0x104 ; check for correct carry diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-offset.d b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-offset.d new file mode 100644 index 0000000..ee8d492 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-offset.d @@ -0,0 +1,13 @@ +#as: -mm9s12xg --xgate-ramoffset +#source: xgate-offset.s +#ld: --relax -mm68hc12elf -defsym var=0x20fe +#objdump: -d --prefix-addresses -r -mm9s12xg + +tmpdir/dump: file format elf32-m68hc12 + + +Disassembly of section .text: +00008000 <_start> ldl R1, #0xfe +00008002 <_start\+0x2> ldh R1, #0xe0 +00008004 <_start\+0x4> ldl R2, #0x04 +00008006 <_start\+0x6> ldh R2, #0xe2 diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-offset.s b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-offset.s new file mode 100644 index 0000000..f81bc89 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate-offset.s @@ -0,0 +1,8 @@ +;;; Test 16bit relocate with --xgate-ramoffset +;;; + .sect .text + .globl _start +_start: + + ldw r1,#var + ldw r2,#var+0x106 ; check for correct carry too diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/xgate1.d b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate1.d new file mode 100644 index 0000000..abe6bbc --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate1.d @@ -0,0 +1,24 @@ +#as: -mm9s12xg +#source: xgate1.s +#source: xgate2.s +#ld: --relax -mm68hc12elf +#objdump: -d --prefix-addresses -r -mm9s12xg + +tmpdir/dump: file format elf32-m68hc12 + + +Disassembly of section .text: +00008000 <_start> ldl R1, \#0x00 +00008002 <_start\+0x2> ldh R1, \#0x11 +00008004 <_start\+0x4> sub R0, R1, R0 +00008006 <_start\+0x6> beq 0x0+8010 <linked_ad1> +00008008 <_start\+0x8> sub R0, R2, R0 +0000800a <_start\+0xa> beq 0x0+800e <the_end> +0000800c <_start\+0xc> bra 0x0+8018 <linked_ad2> +0000800e <the_end> rts +00008010 <linked_ad1> cmpl R4, \#0x01 +00008012 <linked_ad1\+0x2> bne 0x0+8018 <linked_ad2> +00008014 <label1> nop +00008016 <label1\+0x2> par R5 +00008018 <linked_ad2> csem \#0x2 +0000801a <linked_ad2\+0x2> rts diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/xgate1.s b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate1.s new file mode 100644 index 0000000..26baf67 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate1.s @@ -0,0 +1,18 @@ +;;; Test branches and branch relocate with XGATE +;;; + .sect .text + .globl _start +_start: + + ldw r1,#var1 ; expands to two IMM8 %hi,%lo relocate + tst r1 + beq linked_ad1 + tst r2 + beq the_end + bra linked_ad2 + +the_end: + rts + + .sect .data +var1: fdb 0x1234 diff --git a/binutils-2.22/ld/testsuite/ld-m68hc11/xgate2.s b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate2.s new file mode 100644 index 0000000..54b1ed9 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-m68hc11/xgate2.s @@ -0,0 +1,16 @@ +;;; Part2 of branch test +;;; +.globl linked_ad1, linked_ad2 + .sect .text + +linked_ad1: + cmpl r4,#1 + bne linked_ad2 + +label1: + nop + par r5 + +linked_ad2: + csem #2 + rts diff --git a/binutils-2.22/ld/testsuite/ld-m68k/m68k.exp b/binutils-2.22/ld/testsuite/ld-m68k/m68k.exp index 198a5e2..843d919 100644 --- a/binutils-2.22/ld/testsuite/ld-m68k/m68k.exp +++ b/binutils-2.22/ld/testsuite/ld-m68k/m68k.exp @@ -1,5 +1,5 @@ # Expect script for run_dump_test based ld-m68k tests. -# Copyright 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# Copyright 2006, 2007, 2008, 2009, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -85,7 +85,7 @@ if { [istarget m68k-*-linux*] } then { {{nm -ngD tls-gd-1.d2} {readelf -d tls-gd-1.d3}} "tls-gd-1.so"} {"TLS indirect symbol use" - "tmpdir/tls-gd-1.so -rpath-link ./" "" {tls-main-1.s} + "--copy-dt-needed-entries tmpdir/tls-gd-1.so -rpath-link ./" "" {tls-main-1.s} {{readelf -d tls-main-1.d}} "tls-main-1"}} diff --git a/binutils-2.22/ld/testsuite/ld-m68k/tls-ld-1.d b/binutils-2.22/ld/testsuite/ld-m68k/tls-ld-1.d index 01e8904..9f374f3 100644 --- a/binutils-2.22/ld/testsuite/ld-m68k/tls-ld-1.d +++ b/binutils-2.22/ld/testsuite/ld-m68k/tls-ld-1.d @@ -17,6 +17,6 @@ Dynamic section at offset .* contains 10 entries: 0x00000000 \(NULL\) 0x0 Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 2 entries: - Offset Info Type Sym.Value Sym. Name \+ Addend -[0-9a-f]+ [0-9a-f]+ R_68K_32 00000000 __tls_get_addr \+ 0 -[0-9a-f]+ [0-9a-f]+ R_68K_TLS_DTPMOD3 00000000 + Offset +Info +Type +Sym.Value +Sym. Name \+ Addend +[0-9a-f]+ +[0-9a-f]+ R_68K_32 +0+ +__tls_get_addr \+ 0 +[0-9a-f]+ +[0-9a-f]+ R_68K_TLS_DTPMOD3 +0 diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d index cd95356..32bc319 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-0.s #source: attr-gnu-4-0.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d index 88bd9c2..7a5c7a1 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-0.s #source: attr-gnu-4-1.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d index a9cd487..f29d5d5 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-0.s #source: attr-gnu-4-2.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d index 64f03f5..e571e13 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-0.s #source: attr-gnu-4-3.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d index 62b9eef..f8dee5c 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-0.s #source: attr-gnu-4-4.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d index ebfc6d8..6856df0 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-0.s #source: attr-gnu-4-5.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d index cd15000..7661963 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-1.s #source: attr-gnu-4-0.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d index 37ccda1..f70306b 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-1.s #source: attr-gnu-4-1.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d index 3ee6025..447621c 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-1.s #source: attr-gnu-4-2.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses -msingle-float, .* uses -mdouble-float #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d index a48c119..417798e 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-1.s #source: attr-gnu-4-3.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses hard float, .* uses soft float #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d index e899382..b940889 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-1.s #source: attr-gnu-4-4.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses -msingle-float, .* uses -mips32r2 -mfp64 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d index e3ac7fc..337b8a4 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-1.s #source: attr-gnu-4-5.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #warning: Warning: .* uses unknown floating point ABI 5 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d index 23fc72d..3620069 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-2.s #source: attr-gnu-4-0.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d index 3f84867..08436e7 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-2.s #source: attr-gnu-4-1.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses -msingle-float, .* uses -mdouble-float #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d index 062bfaf..63edea9 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-2.s #source: attr-gnu-4-2.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d index c0c14fd..d9f76d3 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-2.s #source: attr-gnu-4-3.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses hard float, .* uses soft float #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d index 09e8175..213996c 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-2.s #source: attr-gnu-4-4.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses -mips32r2 -mfp64 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d index 0f27255..5b26875 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-2.s #source: attr-gnu-4-5.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #warning: Warning: .* uses unknown floating point ABI 5 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d index d123328..cdc108e 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-3.s #source: attr-gnu-4-0.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d index 6a629e7..cac5812 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-3.s #source: attr-gnu-4-1.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses hard float, .* uses soft float #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d index 824d467..dd066dd 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-3.s #source: attr-gnu-4-2.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses hard float, .* uses soft float #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d index 28d9d31..39eebb3 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-3.s #source: attr-gnu-4-3.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d index 2a9b0f3..33a987a 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-3.s #source: attr-gnu-4-4.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses hard float, .* uses soft float #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d index c3ad25f..763e12e 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-3.s #source: attr-gnu-4-5.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #warning: Warning: .* uses unknown floating point ABI 5 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d index d28aa2a..27d4571 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-4.s #source: attr-gnu-4-0.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d index 71f74a9..a00e626 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-4.s #source: attr-gnu-4-1.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses -msingle-float, .* uses -mips32r2 -mfp64 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d index c095695..f67f1c8 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-4.s #source: attr-gnu-4-2.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses -mips32r2 -mfp64 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d index 8396e38..e3d8b20 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-4.s #source: attr-gnu-4-3.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses hard float, .* uses soft float #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d index 8be31de..68b03a0 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-4.s #source: attr-gnu-4-4.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #readelf: -A #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d index 11738c5..0bf4d71 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d @@ -1,7 +1,6 @@ #source: attr-gnu-4-4.s #source: attr-gnu-4-5.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses unknown floating point ABI 5 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d index b5f1c22..5c62640 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d @@ -1,6 +1,5 @@ #source: attr-gnu-4-5.s #source: attr-gnu-4-1.s -#as: -EB -32 -#ld: -r -melf32btsmip +#ld: -r #warning: Warning: .* uses unknown floating point ABI 5 #target: mips*-*-* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/comm-data.exp b/binutils-2.22/ld/testsuite/ld-mips-elf/comm-data.exp new file mode 100644 index 0000000..943e852 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/comm-data.exp @@ -0,0 +1,89 @@ +# Expect script for common symbol override, MIPS variation. +# +# Copyright 2011 Free Software Foundation, Inc. +# +# This file is part of the GNU Binutils. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, +# MA 02110-1301, USA. +# + +# +# Written by Maciej W. Rozycki <macro@codesourcery.com> +# + +# Exclude non-Linux targets; feel free to include your favorite one +# if you like. +if ![istarget mips*-*-linux*] { + return +} + +proc mips_comm_data_test { abi flag emul reloc } { + + set testname "MIPS $abi/$reloc common symbol override test" + + # There's no "-z copyreloc" option, deal with it. + set ZFLAG [string map [list copyreloc "" nocopyreloc "-z $reloc"] $reloc] + set AFLAGS "$flag -EB" + set LDFLAGS "-m$emul" + + # Define a global symbol. + run_ld_link_tests [list \ + [list \ + "$testname (auxiliary shared object build)" \ + "$LDFLAGS -shared" \ + "$AFLAGS -call_shared" \ + { ../ld-elf/comm-data1.s } \ + { \ + { readelf -s ../ld-elf/comm-data1.sd } \ + } \ + "libmips-$abi-$reloc-comm-data.so" \ + ] \ + ] + + # Set the pointer size according to the ABI. + if { $abi == "n64" } { + append AFLAGS " --defsym ELF64=1" + } + + # Verify that a common symbol has been converted to an undefined + # reference to the global symbol of the same name defined above + # and that the debug reference has been dropped. + run_ld_link_tests [list \ + [list \ + "$testname" \ + "$LDFLAGS $ZFLAG -Ltmpdir -lmips-$abi-$reloc-comm-data" \ + "$AFLAGS -call_nonpic" \ + { ../ld-elf/comm-data2.s } \ + { \ + { readelf -s ../ld-elf/comm-data2.sd } \ + { readelf -r ../ld-elf/comm-data2.rd } \ + { readelf "-x .debug_foo" ../ld-elf/comm-data2.xd } \ + } \ + "mips-$abi-$reloc-comm-data" \ + ] \ + ] +} + +# For targets that default to a specific ISA (instead of "from-abi"), +# the 64-bit -march option is required to override it, like for +# "mipsisa32r2el-*-*". +set abis { o32 -32 elf32btsmip n32 "-n32 -march=mips3" elf32btsmipn32 n64 "-64 -march=mips3" elf64btsmip } +set relocs { copyreloc nocopyreloc } +foreach { abi flag emul } $abis { + foreach reloc $relocs { + mips_comm_data_test $abi $flag $emul $reloc + } +} diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame1.ld b/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame1.ld index 93c4972..30fb948 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame1.ld +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame1.ld @@ -13,7 +13,7 @@ SECTIONS . = 0x30000; .eh_frame : { *(.eh_frame) } .got : { *(.got) } - .gcc_compiled_long32 : { *(.gcc_compiled_long32) } + .gcc_compiled_long32 : { KEEP (*(.gcc_compiled_long32)) } /DISCARD/ : { *(*) } } diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame3.d b/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame3.d index 0328eb8..8225a3c 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame3.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame3.d @@ -1,9 +1,9 @@ #name: MIPS eh-frame 3 #source: eh-frame1.s #source: eh-frame1.s -#as: -EB -mips3 -mabi=eabi --defsym alignment=3 --defsym fill=0 --defsym foo=0x1020304050607080 +#as: -EB -mips3 -mabi=eabi --defsym alignment=3 --defsym fill=0 #readelf: -wf -#ld: -EB -Teh-frame1.ld +#ld: -EB -Teh-frame1.ld --defsym foo=0x50607080 # # This test is for the official LP64 version of EABI64, which uses a # combination of 32-bit objects and 64-bit FDE addresses. @@ -41,7 +41,7 @@ Contents of the \.eh_frame section: Code alignment factor: 1 Data alignment factor: 4 Return address column: 31 - Augmentation data: 00 10 20 30 40 50 60 70 80 + Augmentation data: 00 00 00 00 00 50 60 70 80 DW_CFA_nop DW_CFA_nop @@ -75,7 +75,7 @@ Contents of the \.eh_frame section: Code alignment factor: 1 Data alignment factor: 4 Return address column: 31 - Augmentation data: 50 00 00 00 00 00 00 00 10 20 30 40 50 60 70 80 + Augmentation data: 50 00 00 00 00 00 00 00 00 00 00 00 50 60 70 80 00000108 0000001c 00000024 FDE cie=000000e8 pc=00020120..00020130 @@ -102,7 +102,7 @@ Contents of the \.eh_frame section: Code alignment factor: 1 Data alignment factor: 4 Return address column: 31 - Augmentation data: 00 10 20 30 40 50 60 70 80 00 + Augmentation data: 00 00 00 00 00 50 60 70 80 00 DW_CFA_nop DW_CFA_nop @@ -139,38 +139,20 @@ Contents of the \.eh_frame section: DW_CFA_nop DW_CFA_nop -000001c8 0000000c 00000000 CIE - Version: 1 - Augmentation: "" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - -000001d8 00000014 00000014 FDE cie=000001c8 pc=000201d0..000201e0 +000001c8 00000014 000001cc FDE cie=00000000 pc=000201d0..000201e0 # basic1 removed, followed by repeat of above -000001f0 00000014 0000002c FDE cie=000001c8 pc=000201e0..000201f0 +000001e0 00000014 000001e4 FDE cie=00000000 pc=000201e0..000201f0 -00000208 00000014 00000044 FDE cie=000001c8 pc=000201f0..00020210 +000001f8 00000014 000001fc FDE cie=00000000 pc=000201f0..00020210 -00000220 00000014 0000005c FDE cie=000001c8 pc=00020210..00020240 +00000210 00000014 00000214 FDE cie=00000000 pc=00020210..00020240 -00000238 00000014 00000074 FDE cie=000001c8 pc=00020240..00020280 +00000228 00000014 0000022c FDE cie=00000000 pc=00020240..00020280 -00000250 00000014 0000008c FDE cie=000001c8 pc=00020280..000202d0 - -00000268 0000001c 00000000 CIE - Version: 1 - Augmentation: "zP" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - Augmentation data: 00 10 20 30 40 50 60 70 80 +00000240 00000014 00000244 FDE cie=00000000 pc=00020280..000202d0 +00000258 0000001c 000001d4 FDE cie=00000088 pc=000202d0..000202e0 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -179,7 +161,7 @@ Contents of the \.eh_frame section: DW_CFA_nop DW_CFA_nop -00000288 0000001c 00000024 FDE cie=00000268 pc=000202d0..000202e0 +00000278 0000001c 000001f4 FDE cie=00000088 pc=000202e0..00020300 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -188,7 +170,7 @@ Contents of the \.eh_frame section: DW_CFA_nop DW_CFA_nop -000002a8 0000001c 00000044 FDE cie=00000268 pc=000202e0..00020300 +00000298 0000001c 000001b4 FDE cie=000000e8 pc=00020300..00020310 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -197,16 +179,7 @@ Contents of the \.eh_frame section: DW_CFA_nop DW_CFA_nop -000002c8 0000001c 00000000 CIE - Version: 1 - Augmentation: "zP" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - Augmentation data: 50 00 00 00 00 00 00 00 10 20 30 40 50 60 70 80 - - -000002e8 0000001c 00000024 FDE cie=000002c8 pc=00020300..00020310 +000002b8 0000001c 000001d4 FDE cie=000000e8 pc=00020310..00020330 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -215,30 +188,7 @@ Contents of the \.eh_frame section: DW_CFA_nop DW_CFA_nop -00000308 0000001c 00000044 FDE cie=000002c8 pc=00020310..00020330 - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - -00000328 0000001c 00000000 CIE - Version: 1 - Augmentation: "zPR" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - Augmentation data: 00 10 20 30 40 50 60 70 80 00 - - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - -00000348 0000001c 00000024 FDE cie=00000328 pc=00020330..00020340 +000002d8 0000001c 00000194 FDE cie=00000148 pc=00020330..00020340 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -249,7 +199,7 @@ Contents of the \.eh_frame section: # FDE for .discard removed # zPR2 removed -00000368 0000001c 00000044 FDE cie=00000328 pc=00020340..00020370 +000002f8 0000001c 000001b4 FDE cie=00000148 pc=00020340..00020370 DW_CFA_nop DW_CFA_nop DW_CFA_nop @@ -258,24 +208,13 @@ Contents of the \.eh_frame section: DW_CFA_nop DW_CFA_nop -00000388 0000001c 00000064 FDE cie=00000328 pc=00020370..000203b0 - DW_CFA_nop +00000318 0000001c 000001d4 FDE cie=00000148 pc=00020370..000203b0 DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop DW_CFA_nop - -000003a8 0000000c 00000000 CIE - Version: 1 - Augmentation: "" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - - DW_CFA_nop - DW_CFA_nop DW_CFA_nop -000003b8 00000014 00000014 FDE cie=000003a8 pc=000203b0..000203c0 +00000338 00000014 0000033c FDE cie=00000000 pc=000203b0..000203c0 diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame4.d b/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame4.d index effb457..e56d8e0 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame4.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame4.d @@ -1,9 +1,9 @@ #name: MIPS eh-frame 4 #source: eh-frame1.s #source: eh-frame1.s -#as: -EB -mips3 -mabi=eabi --defsym alignment=2 --defsym fill=0 --defsym foo=0x50607080 +#as: -EB -mips3 -mabi=eabi --defsym alignment=2 --defsym fill=0 #readelf: -wf -#ld: -EB -Teh-frame1.ld +#ld: -EB -Teh-frame1.ld --defsym foo=0x50607080 # # This test is for the semi-official ILP32 variation of EABI64. # @@ -102,107 +102,54 @@ Contents of the \.eh_frame section: DW_CFA_nop DW_CFA_nop -00000134 0000000c 00000000 CIE - Version: 1 - Augmentation: "" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - -00000144 0000000c 00000014 FDE cie=00000134 pc=000201d0..000201e0 +00000134 0000000c 00000138 FDE cie=00000000 pc=000201d0..000201e0 # basic1 removed, followed by repeat of above -00000154 0000000c 00000024 FDE cie=00000134 pc=000201e0..000201f0 - -00000164 0000000c 00000034 FDE cie=00000134 pc=000201f0..00020210 - -00000174 0000000c 00000044 FDE cie=00000134 pc=00020210..00020240 +00000144 0000000c 00000148 FDE cie=00000000 pc=000201e0..000201f0 -00000184 0000000c 00000054 FDE cie=00000134 pc=00020240..00020280 +00000154 0000000c 00000158 FDE cie=00000000 pc=000201f0..00020210 -00000194 0000000c 00000064 FDE cie=00000134 pc=00020280..000202d0 +00000164 0000000c 00000168 FDE cie=00000000 pc=00020210..00020240 -000001a4 00000014 00000000 CIE - Version: 1 - Augmentation: "zP" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - Augmentation data: 00 50 60 70 80 +00000174 0000000c 00000178 FDE cie=00000000 pc=00020240..00020280 - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop +00000184 0000000c 00000188 FDE cie=00000000 pc=00020280..000202d0 -000001bc 00000010 0000001c FDE cie=000001a4 pc=000202d0..000202e0 +00000194 00000010 00000138 FDE cie=00000060 pc=000202d0..000202e0 DW_CFA_nop DW_CFA_nop DW_CFA_nop -000001d0 00000010 00000030 FDE cie=000001a4 pc=000202e0..00020300 +000001a8 00000010 0000014c FDE cie=00000060 pc=000202e0..00020300 DW_CFA_nop DW_CFA_nop DW_CFA_nop -000001e4 00000014 00000000 CIE - Version: 1 - Augmentation: "zP" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - Augmentation data: 50 00 00 00 50 60 70 80 - - -000001fc 00000010 0000001c FDE cie=000001e4 pc=00020300..00020310 +000001bc 00000010 00000120 FDE cie=000000a0 pc=00020300..00020310 DW_CFA_nop DW_CFA_nop DW_CFA_nop -00000210 00000010 00000030 FDE cie=000001e4 pc=00020310..00020330 - DW_CFA_nop +000001d0 00000010 00000134 FDE cie=000000a0 pc=00020310..00020330 DW_CFA_nop DW_CFA_nop - -00000224 00000014 00000000 CIE - Version: 1 - Augmentation: "zPR" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - Augmentation data: 00 50 60 70 80 00 - DW_CFA_nop -0000023c 00000010 0000001c FDE cie=00000224 pc=00020330..00020340 +000001e4 00000010 00000108 FDE cie=000000e0 pc=00020330..00020340 DW_CFA_nop DW_CFA_nop DW_CFA_nop # FDE for .discard removed # zPR2 removed -00000250 00000010 00000030 FDE cie=00000224 pc=00020340..00020370 - DW_CFA_nop - DW_CFA_nop - DW_CFA_nop - -00000264 00000010 00000044 FDE cie=00000224 pc=00020370..000203b0 +000001f8 00000010 0000011c FDE cie=000000e0 pc=00020340..00020370 DW_CFA_nop DW_CFA_nop DW_CFA_nop -00000278 0000000c 00000000 CIE - Version: 1 - Augmentation: "" - Code alignment factor: 1 - Data alignment factor: 4 - Return address column: 31 - +0000020c 00000010 00000130 FDE cie=000000e0 pc=00020370..000203b0 DW_CFA_nop DW_CFA_nop DW_CFA_nop -00000288 0000000c 00000014 FDE cie=00000278 pc=000203b0..000203c0 +00000220 0000000c 00000224 FDE cie=00000000 pc=000203b0..000203c0 diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/mips-elf.exp b/binutils-2.22/ld/testsuite/ld-mips-elf/mips-elf.exp index ce448cf..ffcb9c4 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -503,7 +503,7 @@ if {[istarget mips*-*-linux*]} { set mips16_call_global_test [list \ [list "Global calls from mips16" \ - "$o32_ld_flags" \ + "$o32_ld_flags -T no-shared-1.ld" \ "$o32_as_flags -mips32r2" \ {mips16-call-global-1.s mips16-call-global-2.s mips16-call-global-3.s} \ {{objdump -dr mips16-call-global.d}} \ diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-1.s b/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-1.s index 1e60bcc..4c6d0a4 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-1.s +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-1.s @@ -2,6 +2,7 @@ .globl __start .ent __start + .align 4 __start: .frame $sp,24,$31 save 24,$31 diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-2.s b/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-2.s index 2843fcd..7f9bbf0 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-2.s +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-2.s @@ -3,6 +3,7 @@ .globl x .ent x .type x,@function + .align 4 x: jr $31 .end x diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-3.s b/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-3.s index 5113c5d..1606e3c 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-3.s +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-3.s @@ -3,6 +3,7 @@ .globl y .ent y .type y,@function + .align 4 y: jr $31 .end y diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global.d b/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global.d index 390d84c..573c219 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global.d @@ -3,37 +3,37 @@ Disassembly of section .text: -.*0090 <__start>: -.*0090: 64c3 save 24,ra -.*0092: 1a00 002e jal .*00b8 <x\+0x8> -.*0096: 6500 nop -.*0098: 1e00 0032 jalx .*00c8 <z> -.*009c: 6500 nop -.*009e: 6443 restore 24,ra -.*00a0: e8a0 jrc ra -.*00a2: 6500 nop -.*00a4: 6500 nop -.*00a6: 6500 nop -.*00a8: 6500 nop -.*00aa: 6500 nop -.*00ac: 6500 nop -.*00ae: 6500 nop +0*50000 <__start>: + *50000: 64c3 save 24,ra + *50002: 1820 400a jal 50028 <x\+0x8> + *50006: 6500 nop + *50008: 1c20 400e jalx 50038 <z> + *5000c: 6500 nop + *5000e: 6443 restore 24,ra + *50010: e8a0 jrc ra + *50012: 6500 nop + *50014: 6500 nop + *50016: 6500 nop + *50018: 6500 nop + *5001a: 6500 nop + *5001c: 6500 nop + *5001e: 6500 nop -.*00b0 <x>: -.*00b0: e8a0 jrc ra -.*00b2: 6500 nop -.*00b4: 6500 nop -.*00b6: 6500 nop -.*00b8: 6500 nop -.*00ba: 6500 nop -.*00bc: 6500 nop -.*00be: 6500 nop +0*50020 <x>: + *50020: e8a0 jrc ra + *50022: 6500 nop + *50024: 6500 nop + *50026: 6500 nop + *50028: 6500 nop + *5002a: 6500 nop + *5002c: 6500 nop + *5002e: 6500 nop -.*00c0 <y>: -.*00c0: 03e00008 jr ra -.*00c4: 00000000 nop +0*50030 <y>: + *50030: 03e00008 jr ra + *50034: 00000000 nop -.*00c8 <z>: -.*00c8: 03e00008 jr ra -.*00cc: 00000000 nop +0*50038 <z>: + *50038: 03e00008 jr ra + *5003c: 00000000 nop \.\.\. diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-1.d b/binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-1.d index 15f04b2..810a263 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-1.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-1.d @@ -18,7 +18,7 @@ Dynamic section at offset .* contains 17 entries: 0x00000013 \(RELENT\) 8 \(bytes\) 0x70000001 \(MIPS_RLD_VERSION\) 1 0x70000005 \(MIPS_FLAGS\) NOTPOT - 0x70000006 \(MIPS_BASE_ADDRESS\) 0 + 0x70000006 \(MIPS_BASE_ADDRESS\) 0x0 0x7000000a \(MIPS_LOCAL_GOTNO\) 2 0x70000011 \(MIPS_SYMTABNO\) [0-9]+ 0x70000012 \(MIPS_UNREFEXTNO\) [0-9]+ diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.dd b/binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.dd index 7efa5d1..47c05bf 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.dd +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.dd @@ -19,7 +19,7 @@ Disassembly of section \.plt: .*: ddd91000 ld t9,4096\(t2\) .*: 25ce1000 addiu t2,t2,4096 .*: 030ec023 subu t8,t8,t2 -.*: 03e07821 move t3,ra +.*: 03e0782d move t3,ra .*: 0018c0c2 srl t8,t8,0x3 .*: 0320f809 jalr t9 .*: 2718fffe addiu t8,t8,-2 diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/reloc-merge-lo16.d b/binutils-2.22/ld/testsuite/ld-mips-elf/reloc-merge-lo16.d index 7cb3cfe..8297c8ff 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/reloc-merge-lo16.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/reloc-merge-lo16.d @@ -8,6 +8,7 @@ .*: +file format .*mips.* #... 0+80fe70 l .rodata 0+000000 g +#... 0+400000 g F .text 0+00000c __start #... 0+400000 <[^>]*> 3c020081 lui v0,0x81 diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/textrel-1.d b/binutils-2.22/ld/testsuite/ld-mips-elf/textrel-1.d index 16bd727..b0615b5 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/textrel-1.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/textrel-1.d @@ -17,7 +17,7 @@ Dynamic section at offset .* contains 17 entries: 0x00000013 \(RELENT\) 8 \(bytes\) 0x70000001 \(MIPS_RLD_VERSION\) 1 0x70000005 \(MIPS_FLAGS\) NOTPOT - 0x70000006 \(MIPS_BASE_ADDRESS\) 0 + 0x70000006 \(MIPS_BASE_ADDRESS\) 0x0 0x7000000a \(MIPS_LOCAL_GOTNO\) [0-9]* 0x70000011 \(MIPS_SYMTABNO\) [0-9]* 0x70000012 \(MIPS_UNREFEXTNO\) [0-9]* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/tls-multi-got-1.r b/binutils-2.22/ld/testsuite/ld-mips-elf/tls-multi-got-1.r index a51abf1..14a12d6 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/tls-multi-got-1.r +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/tls-multi-got-1.r @@ -12,7 +12,7 @@ Dynamic section at offset .* contains 18 entries: 0x00000013 \(RELENT\) 8 \(bytes\) 0x70000001 \(MIPS_RLD_VERSION\) 1 0x70000005 \(MIPS_FLAGS\) NOTPOT - 0x70000006 \(MIPS_BASE_ADDRESS\) 0 + 0x70000006 \(MIPS_BASE_ADDRESS\) 0x0 0x7000000a \(MIPS_LOCAL_GOTNO\) 2 0x70000011 \(MIPS_SYMTABNO\) 20013 0x70000012 \(MIPS_UNREFEXTNO\) 10 diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d index bf803c8..80c00d3 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d @@ -5,7 +5,7 @@ Disassembly of section .text: .* <__start>: .*: 3c1c0fc0 lui gp,0xfc0 - .*: 279c7b80 addiu gp,gp,31616 + .*: 279c7bf0 addiu gp,gp,31728 .*: 0399e021 addu gp,gp,t9 .*: 27bdfff0 addiu sp,sp,-16 .*: afbe0008 sw s8,8\(sp\) @@ -55,7 +55,7 @@ Disassembly of section .text: .* <other>: .*: 3c1c0fc0 lui gp,0xfc0 - .*: 279c7ac0 addiu gp,gp,31424 + .*: 279c7b30 addiu gp,gp,31536 .*: 0399e021 addu gp,gp,t9 .*: 27bdfff0 addiu sp,sp,-16 .*: afbe0008 sw s8,8\(sp\) diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got index 7053939..eb1ff68 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got @@ -13,6 +13,6 @@ OFFSET TYPE VALUE Contents of section .got: - 10000020 00000000 80000000 0040053c 00000001 .........@...... + 10000020 00000000 80000000 004004cc 00000001 .........@...... 10000030 00000000 00000000 00000000 00000000 ................ 10000040 00000000 00000000 00000000 ............ diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d index e1f76b5..e99862c 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d @@ -5,7 +5,7 @@ Disassembly of section .text: .* <__start>: .*: 3c1c0fc0 lui gp,0xfc0 - .*: 279c7b80 addiu gp,gp,31616 + .*: 279c7bf0 addiu gp,gp,31728 .*: 0399e021 addu gp,gp,t9 .*: 27bdfff0 addiu sp,sp,-16 .*: afbe0008 sw s8,8\(sp\) @@ -55,7 +55,7 @@ Disassembly of section .text: .* <other>: .*: 3c1c0fc0 lui gp,0xfc0 - .*: 279c7ac0 addiu gp,gp,31424 + .*: 279c7b30 addiu gp,gp,31536 .*: 0399e021 addu gp,gp,t9 .*: 27bdfff0 addiu sp,sp,-16 .*: afbe0008 sw s8,8\(sp\) diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got index c5516c5..f3134ba 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got @@ -13,7 +13,7 @@ OFFSET TYPE VALUE Contents of section .got: - 10000020 00000000 80000000 0040053c 00000000 .* + 10000020 00000000 80000000 004004cc 00000000 .* 10000030 00000000 00000000 00000000 00000000 .* 10000040 00000001 00000000 00000000 00000000 .* 10000050 00000000 00000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d index 27db816..ead6a33 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d @@ -5,7 +5,7 @@ Disassembly of section .text: .* <other>: .*: 3c1c0fc0 lui gp,0xfc0 - .*: 279c7b80 addiu gp,gp,31616 + .*: 279c7bf0 addiu gp,gp,31728 .*: 0399e021 addu gp,gp,t9 .*: 27bdfff0 addiu sp,sp,-16 .*: afbe0008 sw s8,8\(sp\) @@ -51,7 +51,7 @@ Disassembly of section .text: .* <__start>: .*: 3c1c0fc0 lui gp,0xfc0 - .*: 279c7ad0 addiu gp,gp,31440 + .*: 279c7b40 addiu gp,gp,31552 .*: 0399e021 addu gp,gp,t9 .*: 27bdfff0 addiu sp,sp,-16 .*: afbe0008 sw s8,8\(sp\) diff --git a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got index 54f491e..8628d46 100644 --- a/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got +++ b/binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got @@ -13,7 +13,7 @@ OFFSET TYPE VALUE Contents of section .got: - 10000020 00000000 80000000 004005ec 00000000 .* + 10000020 00000000 80000000 0040057c 00000000 .* 10000030 00000000 00000000 00000000 00000000 .* 10000040 00000001 00000000 00000000 00000000 .* 10000050 00000000 00000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-1.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-1.d index 97bc33d..3701804 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-1.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-1.d @@ -11,7 +11,9 @@ SYMBOL TABLE: 0000000000000000 l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+4 l \.text 0+ x +#... 0+ g \.text 0+ _start #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-10.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-10.d index 713d7ad..1bc6269 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-10.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-10.d @@ -12,11 +12,13 @@ SYMBOL TABLE: 0+ l d \.init 0+ (|\.init) 0+7f8 l +d \.MMIX.reg_contents 0+ (|\.MMIX\.reg_contents) +0+ l df \*ABS\* 0+ .* 0+ l \.init 0+ _start -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end -0+4 g \.init 0+ _start\. +0+ l df \*ABS\* 0+ .* +2000000000000000 l \.init 0+ __bss_start +2000000000000000 l \.init 0+ _edata +2000000000000000 l \.init 0+ _end +0+4 l \.init 0+ _start\. Contents of section \.init: 0000 e37704a6 .* diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-11.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-11.d index 5925cff..7f47450 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-11.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-11.d @@ -14,14 +14,15 @@ SYMBOL TABLE: 0+ l d \.init 0+ (|\.init) 0+10 l d \.text 0+ (|\.text) 0+7e8 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +0+ l df \*ABS\* 0+ .* 0+ l \.init 0+ _start +0+ l df \*ABS\* 0+ .* +2000000000000000 l \.text 0+ __bss_start +2000000000000000 l \.text 0+ _edata +2000000000000000 l \.text 0+ _end +0+10 l \.text 0+ _start\. 0+14 g \.text 0+ x 0+10 g \.text 0+ x2 -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end -0+10 g \.text 0+ _start\. - Contents of section \.init: 0000 00000000 0000003d 00000000 0000003a .* diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-14.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-14.d index e19e4a8..c78a08e 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-14.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-14.d @@ -12,6 +12,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+ g \.text 0+ _start 0+8 g \.text 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-16.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-16.d index d7e372c..02f6ba7 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-16.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-16.d @@ -13,6 +13,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+ g \.text 0+ _start 0+c g \.text 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-17.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-17.d index f70b852..1dc75ce 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-17.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-17.d @@ -12,6 +12,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+ g \.text 0+ _start 0+10 g \.text 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-18.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-18.d index 3d1d2f1..7e06fae 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-18.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-18.d @@ -13,7 +13,9 @@ SYMBOL TABLE: 0+100 l d \.text 0+ (|\.text) 4000000000001060 l d \.text\.away 0+ (|\.text\.away) 0+7e0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +0+ l df \*ABS\* 0+ .* 4000000000001064 l \.text\.away 0+ x +0+ l df \*ABS\* 0+ .* 0+100 g \.text 0+ x 4000000000001060 g \.text\.away 0+ Main 0+104 g \.text 0+ x2 diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-2.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-2.d index 7206cab..0cd00a3 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-2.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-2.d @@ -12,7 +12,9 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7e8 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+4 l \.text 0+ x +#... 0+ g \.text 0+ _start 0+fe g \*REG\* 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-22.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-22.d index c6a1314..127b489 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-22.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-22.d @@ -12,7 +12,9 @@ SYMBOL TABLE: 0000000000000000 l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +0+ l df \*ABS\* 0+ .* 0+4 l \.text 0+ x +0+ l df \*ABS\* 0+ .* 0+ g \.text 0+ Main 0+ g \.text 0+ _start diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-3.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-3.d index e1435ef..410d508 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-3.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-3.d @@ -12,7 +12,9 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+4 l \.text 0+ x +#... 0+ g \.text 0+ _start #... 0+8 g \.text 0+ y diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-4.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-4.d index 372e7e6..40b4210 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-4.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-4.d @@ -13,7 +13,9 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7e0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+8 l \.text 0+ x +#... 0+ g \.text 0+ _start 0+fe g \*REG\* 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-5.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-5.d index a1a192d..5e988ea 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-5.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-5.d @@ -13,7 +13,9 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7e8 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+4 l \.text 0+ x +#... 0+ g \.text 0+ _start #... 0+c g \.text 0+ y diff --git a/binutils-2.22/ld/testsuite/ld-mmix/bpo-9.d b/binutils-2.22/ld/testsuite/ld-mmix/bpo-9.d index 16d0017..773943e 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/bpo-9.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/bpo-9.d @@ -13,11 +13,12 @@ SYMBOL TABLE: 0+ l d \.init 0+ (|\.init) 0+10 l d \.text 0+ (|\.text) 0+7e8 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+ l \.init 0+ _start +#... 0+14 g \.text 0+ x 0+10 g \.text 0+ x2 #... - Contents of section \.init: 0000 00000000 0000003d 00000000 0000003a .* Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-1.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-1.d index d64ce0a..a40a9a1 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-1.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-1.d @@ -12,6 +12,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+c g \.text 0+ _start 0+fe g \*REG\* 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-19.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-19.d index 4468161..fe58c2e 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-19.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-19.d @@ -9,6 +9,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+ g F \.text 0+ Main 0+ g \.text 0+ _start 0+fe g \*REG\* 0+ areg diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-2.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-2.d index ab8fbb2..dbc1423 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-2.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-2.d @@ -16,6 +16,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7e0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+fe g \*REG\* 0+ b 0+20 g \.text 0+ _start 0+fc g \*REG\* 0+ areg diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-3.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-3.d index 25189c2..ff39e72 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-3.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-3.d @@ -16,6 +16,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+10 g \.text 0+ _start 0+fe g \*REG\* 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-4.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-4.d index 8b882c1..b60fe80 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-4.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-4.d @@ -13,6 +13,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+18 g \.text 0+ _start 0+fe g \*REG\* 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-5.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-5.d index 67e50d2..56b45b4 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-5.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-5.d @@ -13,6 +13,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+14 g \.text 0+ _start 0+fe g \*REG\* 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-5s.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-5s.d index 84f5951..4ed8173 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-5s.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-5s.d @@ -12,6 +12,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+7f0 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +#... 0+4 g \.text 0+ _start 0+fe g \*REG\* 0+ areg #... diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-6.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-6.d index e4df905..d8157f7 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-6.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-6.d @@ -41,6 +41,7 @@ SYMBOL TABLE: 0+0 l d \.text 0+ (|\.text) 0+100 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +0+ l df \*ABS\* 0+ .* 0+20 l \*REG\* 0+ P 0+21 l \*REG\* 0+ O 0+22 l \*REG\* 0+ N @@ -57,6 +58,7 @@ SYMBOL TABLE: 0+2d l \*REG\* 0+ C 0+2e l \*REG\* 0+ B 0+2f l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+30 l \*REG\* 0+ P 0+31 l \*REG\* 0+ O 0+32 l \*REG\* 0+ N @@ -73,6 +75,7 @@ SYMBOL TABLE: 0+3d l \*REG\* 0+ C 0+3e l \*REG\* 0+ B 0+3f l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+40 l \*REG\* 0+ P 0+41 l \*REG\* 0+ O 0+42 l \*REG\* 0+ N @@ -89,6 +92,7 @@ SYMBOL TABLE: 0+4d l \*REG\* 0+ C 0+4e l \*REG\* 0+ B 0+4f l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+50 l \*REG\* 0+ P 0+51 l \*REG\* 0+ O 0+52 l \*REG\* 0+ N @@ -105,6 +109,7 @@ SYMBOL TABLE: 0+5d l \*REG\* 0+ C 0+5e l \*REG\* 0+ B 0+5f l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+60 l \*REG\* 0+ P 0+61 l \*REG\* 0+ O 0+62 l \*REG\* 0+ N @@ -121,6 +126,7 @@ SYMBOL TABLE: 0+6d l \*REG\* 0+ C 0+6e l \*REG\* 0+ B 0+6f l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+70 l \*REG\* 0+ P 0+71 l \*REG\* 0+ O 0+72 l \*REG\* 0+ N @@ -137,6 +143,7 @@ SYMBOL TABLE: 0+7d l \*REG\* 0+ C 0+7e l \*REG\* 0+ B 0+7f l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+80 l \*REG\* 0+ P 0+81 l \*REG\* 0+ O 0+82 l \*REG\* 0+ N @@ -153,6 +160,7 @@ SYMBOL TABLE: 0+8d l \*REG\* 0+ C 0+8e l \*REG\* 0+ B 0+8f l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+90 l \*REG\* 0+ P 0+91 l \*REG\* 0+ O 0+92 l \*REG\* 0+ N @@ -169,6 +177,7 @@ SYMBOL TABLE: 0+9d l \*REG\* 0+ C 0+9e l \*REG\* 0+ B 0+9f l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+a0 l \*REG\* 0+ P 0+a1 l \*REG\* 0+ O 0+a2 l \*REG\* 0+ N @@ -185,6 +194,7 @@ SYMBOL TABLE: 0+ad l \*REG\* 0+ C 0+ae l \*REG\* 0+ B 0+af l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+b0 l \*REG\* 0+ P 0+b1 l \*REG\* 0+ O 0+b2 l \*REG\* 0+ N @@ -201,6 +211,7 @@ SYMBOL TABLE: 0+bd l \*REG\* 0+ C 0+be l \*REG\* 0+ B 0+bf l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+c0 l \*REG\* 0+ P 0+c1 l \*REG\* 0+ O 0+c2 l \*REG\* 0+ N @@ -217,6 +228,7 @@ SYMBOL TABLE: 0+cd l \*REG\* 0+ C 0+ce l \*REG\* 0+ B 0+cf l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+d0 l \*REG\* 0+ P 0+d1 l \*REG\* 0+ O 0+d2 l \*REG\* 0+ N @@ -233,6 +245,7 @@ SYMBOL TABLE: 0+dd l \*REG\* 0+ C 0+de l \*REG\* 0+ B 0+df l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+e0 l \*REG\* 0+ P 0+e1 l \*REG\* 0+ O 0+e2 l \*REG\* 0+ N @@ -249,25 +262,40 @@ SYMBOL TABLE: 0+ed l \*REG\* 0+ C 0+ee l \*REG\* 0+ B 0+ef l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+f0 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f1 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f2 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f3 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f4 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f5 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f6 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f7 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f8 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f9 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fa l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fb l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fc l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fd l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+14 g \.text 0+ _start 0+fe g \*REG\* 0+ areg -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end +2000000000000000 g \.text 0+ __bss_start +2000000000000000 g \.text 0+ _edata +2000000000000000 g \.text 0+ _end 0+14 g \.text 0+ _start\. 0+10 g \.text 0+ a diff --git a/binutils-2.22/ld/testsuite/ld-mmix/greg-7.d b/binutils-2.22/ld/testsuite/ld-mmix/greg-7.d index a5d1692..57df901 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/greg-7.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/greg-7.d @@ -41,6 +41,7 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+100 l d \.MMIX\.reg_contents 0+ (|\.MMIX\.reg_contents) +0+ l df \*ABS\* 0+ .* 0+21 l \*REG\* 0+ P 0+22 l \*REG\* 0+ O 0+23 l \*REG\* 0+ N @@ -57,6 +58,7 @@ SYMBOL TABLE: 0+2e l \*REG\* 0+ C 0+2f l \*REG\* 0+ B 0+30 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+31 l \*REG\* 0+ P 0+32 l \*REG\* 0+ O 0+33 l \*REG\* 0+ N @@ -73,6 +75,7 @@ SYMBOL TABLE: 0+3e l \*REG\* 0+ C 0+3f l \*REG\* 0+ B 0+40 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+41 l \*REG\* 0+ P 0+42 l \*REG\* 0+ O 0+43 l \*REG\* 0+ N @@ -89,6 +92,7 @@ SYMBOL TABLE: 0+4e l \*REG\* 0+ C 0+4f l \*REG\* 0+ B 0+50 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+51 l \*REG\* 0+ P 0+52 l \*REG\* 0+ O 0+53 l \*REG\* 0+ N @@ -105,6 +109,7 @@ SYMBOL TABLE: 0+5e l \*REG\* 0+ C 0+5f l \*REG\* 0+ B 0+60 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+61 l \*REG\* 0+ P 0+62 l \*REG\* 0+ O 0+63 l \*REG\* 0+ N @@ -121,6 +126,7 @@ SYMBOL TABLE: 0+6e l \*REG\* 0+ C 0+6f l \*REG\* 0+ B 0+70 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+71 l \*REG\* 0+ P 0+72 l \*REG\* 0+ O 0+73 l \*REG\* 0+ N @@ -137,6 +143,7 @@ SYMBOL TABLE: 0+7e l \*REG\* 0+ C 0+7f l \*REG\* 0+ B 0+80 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+81 l \*REG\* 0+ P 0+82 l \*REG\* 0+ O 0+83 l \*REG\* 0+ N @@ -153,6 +160,7 @@ SYMBOL TABLE: 0+8e l \*REG\* 0+ C 0+8f l \*REG\* 0+ B 0+90 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+91 l \*REG\* 0+ P 0+92 l \*REG\* 0+ O 0+93 l \*REG\* 0+ N @@ -169,6 +177,7 @@ SYMBOL TABLE: 0+9e l \*REG\* 0+ C 0+9f l \*REG\* 0+ B 0+a0 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+a1 l \*REG\* 0+ P 0+a2 l \*REG\* 0+ O 0+a3 l \*REG\* 0+ N @@ -185,6 +194,7 @@ SYMBOL TABLE: 0+ae l \*REG\* 0+ C 0+af l \*REG\* 0+ B 0+b0 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+b1 l \*REG\* 0+ P 0+b2 l \*REG\* 0+ O 0+b3 l \*REG\* 0+ N @@ -201,6 +211,7 @@ SYMBOL TABLE: 0+be l \*REG\* 0+ C 0+bf l \*REG\* 0+ B 0+c0 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+c1 l \*REG\* 0+ P 0+c2 l \*REG\* 0+ O 0+c3 l \*REG\* 0+ N @@ -217,6 +228,7 @@ SYMBOL TABLE: 0+ce l \*REG\* 0+ C 0+cf l \*REG\* 0+ B 0+d0 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+d1 l \*REG\* 0+ P 0+d2 l \*REG\* 0+ O 0+d3 l \*REG\* 0+ N @@ -233,6 +245,7 @@ SYMBOL TABLE: 0+de l \*REG\* 0+ C 0+df l \*REG\* 0+ B 0+e0 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+e1 l \*REG\* 0+ P 0+e2 l \*REG\* 0+ O 0+e3 l \*REG\* 0+ N @@ -249,25 +262,40 @@ SYMBOL TABLE: 0+ee l \*REG\* 0+ C 0+ef l \*REG\* 0+ B 0+f0 l \*REG\* 0+ A +0+ l df \*ABS\* 0+ .* 0+f1 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f2 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f3 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f4 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f5 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f6 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f7 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f8 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+f9 l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fa l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fb l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fc l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fd l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+fe l \*REG\* 0+ lsym +0+ l df \*ABS\* 0+ .* 0+14 g \.text 0+ _start 0+20 g \*REG\* 0+ areg -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end +2000000000000000 g \.text 0+ __bss_start +2000000000000000 g \.text 0+ _edata +2000000000000000 g \.text 0+ _end 0+14 g \.text 0+ _start\. 0+10 g \.text 0+ a diff --git a/binutils-2.22/ld/testsuite/ld-mmix/loc1.d b/binutils-2.22/ld/testsuite/ld-mmix/loc1.d index cac2689..97db59f 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/loc1.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/loc1.d @@ -10,9 +10,9 @@ SYMBOL TABLE: 0+1000 l d \.text 0+ (|\.text) 0+1000 g \.text 0+ loc1 0+1000 g \*ABS\* 0+ __\.MMIX\.start\.\.text -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end +2000000000000000 g \.text 0+ __bss_start +2000000000000000 g \.text 0+ _edata +2000000000000000 g \.text 0+ _end 0+1000 g \.text 0+ _start\. Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/loc2.d b/binutils-2.22/ld/testsuite/ld-mmix/loc2.d index 7d44c22..e00b5ef 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/loc2.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/loc2.d @@ -12,9 +12,9 @@ SYMBOL TABLE: 0+1004 g \.text 0+ _start 0+1000 g \.text 0+ loc1 0+1000 g \*ABS\* 0+ __\.MMIX\.start\.\.text -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end +2000000000000000 g \.text 0+ __bss_start +2000000000000000 g \.text 0+ _edata +2000000000000000 g \.text 0+ _end 0+1004 g \.text 0+ _start\. Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/loc3.d b/binutils-2.22/ld/testsuite/ld-mmix/loc3.d index ff0fe8a..110fdbc 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/loc3.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/loc3.d @@ -12,9 +12,9 @@ SYMBOL TABLE: 0+1000 g \.text 0+ _start 0+1004 g \.text 0+ loc1 0+1000 g \*ABS\* 0+ __\.MMIX\.start\.\.text -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end +2000000000000000 g \.text 0+ __bss_start +2000000000000000 g \.text 0+ _edata +2000000000000000 g \.text 0+ _end 0+1000 g \.text 0+ _start\. Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/loc4.d b/binutils-2.22/ld/testsuite/ld-mmix/loc4.d index 34428a9..dccfb76 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/loc4.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/loc4.d @@ -11,15 +11,17 @@ SYMBOL TABLE: 0+1000 l d \.text 0+ (|\.text) 2000000000000000 l d \.data 0+ (|\.data) +0+ l df \*ABS\* 0+ .* 2000000000000000 l \.data 0+ xx +0+ l df \*ABS\* 0+ .* 0+1004 g F \.text 0+ Main 2000000000000000 g \*ABS\* 0+ __\.MMIX\.start\.\.data 0+1004 g \.text 0+ _start 0+1000 g \.text 0+ loc1 0+1000 g \*ABS\* 0+ __\.MMIX\.start\.\.text -2000000000000008 g \*ABS\* 0+ __bss_start -2000000000000008 g \*ABS\* 0+ _edata -2000000000000008 g \*ABS\* 0+ _end +2000000000000008 g \.data 0+ __bss_start +2000000000000008 g \.data 0+ _edata +2000000000000008 g \.data 0+ _end 0+1004 g \.text 0+ _start\. Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/loc6.d b/binutils-2.22/ld/testsuite/ld-mmix/loc6.d index 425edae..1fce9a4 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/loc6.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/loc6.d @@ -13,9 +13,9 @@ SYMBOL TABLE: 2000000000000200 g \.data 0+ dloc1 2000000000000200 g \*ABS\* 0+ __\.MMIX\.start\.\.data 0+ g \.text 0+ _start -200000000000020c g \*ABS\* 0+ __bss_start -200000000000020c g \*ABS\* 0+ _edata -2000000000000210 g \*ABS\* 0+ _end +200000000000020c g \.data 0+ __bss_start +200000000000020c g \.data 0+ _edata +2000000000000210 g \.data 0+ _end 0+ g \.text 0+ _start\. Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/local1.d b/binutils-2.22/ld/testsuite/ld-mmix/local1.d index 3899f74..8252971 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/local1.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/local1.d @@ -23,22 +23,25 @@ Section Headers: +0+10 +0+ +W +0 +0 +1 +\[ 3\] \.shstrtab +STRTAB +0+ +0+90 +0+34 +0+ +0 +0 +1 - +\[ 4\] \.symtab +SYMTAB +0+ +0+248 - +0+108 +0+18 +5 +5 +8 - +\[ 5\] \.strtab +STRTAB +0+ +0+350 - +0+32 +0+ +0 +0 +1 + +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+ + +[0-9a-f]+ +0+18 +5 +[0-9] +8 + +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+ + +[0-9a-f]+ +0+ +0 +0 +1 Key to Flags: #... -Symbol table '\.symtab' contains 11 entries: +Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name - +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND - +1: 0+ +0 +SECTION +LOCAL +DEFAULT +1 - +2: 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2 - +3: 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym - +4: 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym - +5: 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +PRC\[0xff00\] ext1 - +6: 0+4 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start +.* 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +.* 0+ +0 +SECTION +LOCAL +DEFAULT +1 +.* 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2 +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +PRC\[0xff00\] ext1 +.* 0+4 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start #... Hex dump of section '\.text': diff --git a/binutils-2.22/ld/testsuite/ld-mmix/local3.d b/binutils-2.22/ld/testsuite/ld-mmix/local3.d index cebdf09..c559ec2 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/local3.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/local3.d @@ -21,22 +21,25 @@ Section Headers: +0+10 +0+ +W +0 +0 +1 +\[ 3\] \.shstrtab +STRTAB +0+ +0+90 +0+34 +0+ +0 +0 +1 - +\[ 4\] \.symtab +SYMTAB +0+ +0+248 - +0+108 +0+18 +5 +5 +8 - +\[ 5\] \.strtab +STRTAB +0+ +0+350 - +0+32 +0+ +0 +0 +1 + +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+ + +[0-9a-f]+ +0+18 +5 +[0-9] +8 + +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+ + +[0-9a-f]+ +0+ +0 +0 +1 Key to Flags: #... -Symbol table '\.symtab' contains 11 entries: +Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name - +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND - +1: 0+ +0 +SECTION +LOCAL +DEFAULT +1 - +2: 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2 - +3: 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym - +4: 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym - +5: 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +ABS ext1 - +6: 0+4 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start +.* 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +.* 0+ +0 +SECTION +LOCAL +DEFAULT +1 +.* 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2 +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +ABS ext1 +.* 0+4 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start #... Hex dump of section '\.text': diff --git a/binutils-2.22/ld/testsuite/ld-mmix/local5.d b/binutils-2.22/ld/testsuite/ld-mmix/local5.d index ee60297..802f282 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/local5.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/local5.d @@ -22,22 +22,25 @@ Section Headers: +0+10 +0+ +W +0 +0 +1 +\[ 3\] \.shstrtab +STRTAB +0+ +0+94 +0+34 +0+ +0 +0 +1 - +\[ 4\] \.symtab +SYMTAB +0+ +0+248 - +0+108 +0+18 +5 +5 +8 - +\[ 5\] \.strtab +STRTAB +0+ +0+350 - +0+32 +0+ +0 +0 +1 + +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+ + +[0-9a-f]+ +0+18 +5 +[0-9] +8 + +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+ + +[0-9a-f]+ +0+ +0 +0 +1 Key to Flags: #... -Symbol table '\.symtab' contains 11 entries: +Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name - +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND - +1: 0+ +0 +SECTION +LOCAL +DEFAULT +1 - +2: 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2 - +3: 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym - +4: 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym - +5: 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +PRC\[0xff00\] ext1 - +6: 0+8 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start +.* 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +.* 0+ +0 +SECTION +LOCAL +DEFAULT +1 +.* 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2 +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +PRC\[0xff00\] ext1 +.* 0+8 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start #... Hex dump of section '\.text': diff --git a/binutils-2.22/ld/testsuite/ld-mmix/local7.d b/binutils-2.22/ld/testsuite/ld-mmix/local7.d index bc2cd6c..7a5847b 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/local7.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/local7.d @@ -23,22 +23,25 @@ Section Headers: +0+10 +0+ +W +0 +0 +1 +\[ 3\] \.shstrtab +STRTAB +0+ +0+94 +0+34 +0+ +0 +0 +1 - +\[ 4\] \.symtab +SYMTAB +0+ +0+248 - +0+108 +0+18 +5 +5 +8 - +\[ 5\] \.strtab +STRTAB +0+ +0+350 - +0+32 +0+ +0 +0 +1 + +\[ 4\] \.symtab +SYMTAB +0+ +[0-9a-f]+ + +[0-9a-f]+ +0+18 +5 +[0-9] +8 + +\[ 5\] \.strtab +STRTAB +0+ +[0-9a-f]+ + +[0-9a-f]+ +0+ +0 +0 +1 Key to Flags: #... -Symbol table '\.symtab' contains 11 entries: +Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name - +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND - +1: 0+ +0 +SECTION +LOCAL +DEFAULT +1 - +2: 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2 - +3: 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym - +4: 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym - +5: 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +ABS ext1 - +6: 0+8 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start +.* 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +.* 0+ +0 +SECTION +LOCAL +DEFAULT +1 +.* 0+7e8 +0 +SECTION +LOCAL +DEFAULT +2 +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fd +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fe +0 +NOTYPE +LOCAL +DEFAULT +PRC\[0xff00\] lsym +.* 0+ +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0+fc +0 +NOTYPE +GLOBAL +DEFAULT +ABS ext1 +.* 0+8 +0 +NOTYPE +GLOBAL +DEFAULT +1 _start #... Hex dump of section '\.text': diff --git a/binutils-2.22/ld/testsuite/ld-mmix/locdo-1.d b/binutils-2.22/ld/testsuite/ld-mmix/locdo-1.d index 4a16735..66a9f32 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/locdo-1.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/locdo-1.d @@ -11,10 +11,10 @@ SYMBOL TABLE: 2000000000000008 g \*ABS\* 0+ __\.MMIX\.start\.\.data 2000000000000008 g \.data 0+ od 0+ g \.text 0+ _start -2000000000000010 g \*ABS\* 0+ __bss_start +2000000000000010 g \.data 0+ __bss_start 2000000000000000 g \*ABS\* 0+ Data_Segment -2000000000000010 g \*ABS\* 0+ _edata -2000000000000010 g \*ABS\* 0+ _end +2000000000000010 g \.data 0+ _edata +2000000000000010 g \.data 0+ _end 0+ g \.text 0+ _start\. Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/loct-1.d b/binutils-2.22/ld/testsuite/ld-mmix/loct-1.d index 24f4112..853b065 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/loct-1.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/loct-1.d @@ -7,12 +7,14 @@ SYMBOL TABLE: 0+1004 l d \.text 0+ (|\.text) +0+ l df \*ABS\* 0+ .* 0+1004 l \.text 0+ t +0+ l df \*ABS\* 0+ .* 0+100c g \.text 0+ _start 0+1004 g \*ABS\* 0+ __\.MMIX\.start\.\.text -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end +2000000000000000 g \.text 0+ __bss_start +2000000000000000 g \.text 0+ _edata +2000000000000000 g \.text 0+ _end 0+100c g \.text 0+ _start\. Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/locto-1.d b/binutils-2.22/ld/testsuite/ld-mmix/locto-1.d index 5c5c391..911f9a4 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/locto-1.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/locto-1.d @@ -10,9 +10,9 @@ SYMBOL TABLE: 0+1008 g \.text 0+ od 0+1010 g \.text 0+ _start 0+1008 g \*ABS\* 0+ __\.MMIX\.start\.\.text -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end +2000000000000000 g \.text 0+ __bss_start +2000000000000000 g \.text 0+ _edata +2000000000000000 g \.text 0+ _end 0+1010 g \.text 0+ _start\. Contents of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/sec-7m.d b/binutils-2.22/ld/testsuite/ld-mmix/sec-7m.d index bc930e5..46bb028 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/sec-7m.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/sec-7m.d @@ -20,7 +20,7 @@ Sections: Idx Name[ ]+Size[ ]+VMA[ ]+LMA[ ]+File off Algn 0 \.text[ ]+0+4 0+ 0+ 0+ 2\*\*2 [ ]+CONTENTS, ALLOC, LOAD, CODE - 1 \.di +0+27ffb +0+4 +0+4 +0+ +2\*\*2 + 1 \.di +0+27ffb +0+ +0+ +0+ +2\*\*2 [ ]+CONTENTS, READONLY Contents of section \.text: 0000 e3fd0001[ ]+.* diff --git a/binutils-2.22/ld/testsuite/ld-mmix/start-1.d b/binutils-2.22/ld/testsuite/ld-mmix/start-1.d index 37c23d6..c8f6ea7 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/start-1.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/start-1.d @@ -7,9 +7,9 @@ SYMBOL TABLE: 0+ l d \.text 0+ (|\.text) 0+4 g \.text 0+ _start -2000000000000000 g \*ABS\* 0+ __bss_start -2000000000000000 g \*ABS\* 0+ _edata -2000000000000000 g \*ABS\* 0+ _end +2000000000000000 g \.text 0+ __bss_start +2000000000000000 g \.text 0+ _edata +2000000000000000 g \.text 0+ _end 0+4 g \.text 0+ _start\. Disassembly of section \.text: diff --git a/binutils-2.22/ld/testsuite/ld-mmix/undef-3.d b/binutils-2.22/ld/testsuite/ld-mmix/undef-3.d index 2571513..93d7a99 100644 --- a/binutils-2.22/ld/testsuite/ld-mmix/undef-3.d +++ b/binutils-2.22/ld/testsuite/ld-mmix/undef-3.d @@ -26,7 +26,7 @@ Symbol table '\.symtab' contains 8 entries: +1: 0+ +0 +SECTION +LOCAL +DEFAULT +1 +2: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND undefd +3: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +1 _start - +4: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start - +5: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +6: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +4: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 __bss_start + +5: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 _edata + +6: 2000000000000000 +0 +NOTYPE +GLOBAL +DEFAULT +1 _end +7: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +1 _start\. diff --git a/binutils-2.22/ld/testsuite/ld-mn10300/i135409-1.d b/binutils-2.22/ld/testsuite/ld-mn10300/i135409-1.d index 7fa868a..9fe686b 100644 --- a/binutils-2.22/ld/testsuite/ld-mn10300/i135409-1.d +++ b/binutils-2.22/ld/testsuite/ld-mn10300/i135409-1.d @@ -5,6 +5,7 @@ Symbol table '.symtab' contains .. entries: +..: 0[0-9a-f]+ +7 +FUNC +LOCAL +DEFAULT +. _func #... +..: 0[0-9a-f]+ +0 +NOTYPE +LOCAL +DEFAULT +. A +#... +..: 0[0-9a-f]+ +7 +FUNC +GLOBAL +DEFAULT +. _func2 #... +..: 0[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +. BOTTOM diff --git a/binutils-2.22/ld/testsuite/ld-pie/pie.exp b/binutils-2.22/ld/testsuite/ld-pie/pie.exp index ea4370c..15bd638 100644 --- a/binutils-2.22/ld/testsuite/ld-pie/pie.exp +++ b/binutils-2.22/ld/testsuite/ld-pie/pie.exp @@ -1,5 +1,5 @@ # Expect script for various PIE tests. -# Copyright 2006, 2007, 2009, 2010 Free Software Foundation, Inc. +# Copyright 2006, 2007, 2009, 2010, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -23,6 +23,7 @@ if ![isnative] then {return} if { ![istarget *-*-linux*] + && ![istarget *-*-nacl*] && ![istarget *-*-gnu*] } { return } diff --git a/binutils-2.22/ld/testsuite/ld-plugin/plugin.exp b/binutils-2.22/ld/testsuite/ld-plugin/plugin.exp index 02319bf..d28505d 100644 --- a/binutils-2.22/ld/testsuite/ld-plugin/plugin.exp +++ b/binutils-2.22/ld/testsuite/ld-plugin/plugin.exp @@ -57,6 +57,10 @@ set regclm "-plugin-opt registerclaimfile" set regas "-plugin-opt registerallsymbolsread" set regcln "-plugin-opt registercleanup" +if { [istarget m681*-*-*] || [istarget m68hc1*-*-*] || [istarget m9s12x*-*-*] } { + # otherwise get FAILS due to _.frame + set CFLAGS "$CFLAGS -fomit-frame-pointer" +} # In order to define symbols in plugin options in the list of tests below, # we need to know if the platform prepends an underscore to C symbols, # which we find out by compiling the test objects now. If there is any diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/apuinfo.rd b/binutils-2.22/ld/testsuite/ld-powerpc/apuinfo.rd index 7a27bc0..7a09d2f 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/apuinfo.rd +++ b/binutils-2.22/ld/testsuite/ld-powerpc/apuinfo.rd @@ -6,6 +6,7 @@ #target: powerpc-eabi* Hex dump of section '.PPC.EMB.apuinfo': - 0x00000000 00000008 0000001c 00000002 41505569 ............APUi + 0x00000000 00000008 00000020 00000002 41505569 ....... ....APUi 0x00000010 6e666f00 00420001 00430001 00410001 nfo..B...C...A.. - 0x00000020 01020001 01010001 00400001 01000001 .........@...... + 0x00000020 01020001 01010001 00400001 01040001 .........@...... + 0x00000030 01000001 ....$ diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/powerpc.exp b/binutils-2.22/ld/testsuite/ld-powerpc/powerpc.exp index 566272d..8f08991 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/powerpc.exp +++ b/binutils-2.22/ld/testsuite/ld-powerpc/powerpc.exp @@ -1,5 +1,5 @@ # Expect script for ld-powerpc tests -# Copyright 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +# Copyright 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 # Free Software Foundation # # This file is part of the GNU Binutils. @@ -215,6 +215,33 @@ set ppc64elftests { {{objdump -s tocopt5.d}} "tocopt5"} } +set ppceabitests { + {"VLE multiple segments 1" "-T vle-multiseg-1.ld" + "-mregnames -mvle" {vle-multiseg.s} + {{readelf "-l" vle-multiseg-1.d}} "vle-multiseg-1"} + {"VLE multiple segments 2" "-T vle-multiseg-2.ld" + "-mregnames -mvle" {vle-multiseg.s} + {{readelf "-l" vle-multiseg-2.d}} "vle-multiseg-2"} + {"VLE multiple segments 3" "-T vle-multiseg-3.ld" + "-mregnames -mvle" {vle-multiseg.s} + {{readelf "-l" vle-multiseg-3.d}} "vle-multiseg-3"} + {"VLE multiple segments 4" "-T vle-multiseg-4.ld" + "-mregnames -mvle" {vle-multiseg.s} + {{readelf "-l" vle-multiseg-4.d}} "vle-multiseg-4"} + {"VLE multiple segments 5" "-T vle-multiseg-5.ld" + "-mregnames -mvle" {vle-multiseg.s} + {{readelf "-l" vle-multiseg-5.d}} "vle-multiseg-5"} + {"VLE relocations 1" "-T vle.ld" + "-mvle" {vle-reloc-1.s vle-reloc-def-1.s} + {{objdump "-Mvle -d" vle-reloc-1.d}} "vle-reloc-1"} + {"VLE relocations 2" "-T vle.ld" + "-mvle" {vle-reloc-2.s vle-reloc-def-2.s} + {{objdump "-Mvle -d" vle-reloc-2.d}} "vle-reloc-2"} + {"VLE relocations 3" "-T vle.ld" + "-mvle" {vle-reloc-3.s vle-reloc-def-3.s} + {{objdump "-Mvle -d" vle-reloc-3.d}} "vle-reloc-3"} +} + run_ld_link_tests $ppcelftests @@ -223,6 +250,10 @@ if [ supports_ppc64 ] then { run_dump_test "relbrlt" } +if { [istarget "powerpc*-eabi*"] } { + run_ld_link_tests $ppceabitests +} + run_dump_test "plt1" run_dump_test "attr-gnu-4-00" @@ -251,3 +282,5 @@ run_dump_test "attr-gnu-8-31" run_dump_test "attr-gnu-12-11" run_dump_test "attr-gnu-12-21" + +run_dump_test "vle-multiseg-6" diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/relbrlt.d b/binutils-2.22/ld/testsuite/ld-powerpc/relbrlt.d index 0f0aae0..689373c 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/relbrlt.d +++ b/binutils-2.22/ld/testsuite/ld-powerpc/relbrlt.d @@ -51,7 +51,7 @@ Disassembly of section \.text: Disassembly of section \.branch_lt: -0*157f00e8 <\.branch_lt>: +0*157f00e8 .*: [0-9a-f ]*: 00 00 00 00 .* [0-9a-f ]*: R_PPC64_RELATIVE \*ABS\*\+0x13bf00e0 [0-9a-f ]*: 13 bf 00 e0 .* diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/tlsexe.r b/binutils-2.22/ld/testsuite/ld-powerpc/tlsexe.r index fa67483..58d8d35 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/tlsexe.r +++ b/binutils-2.22/ld/testsuite/ld-powerpc/tlsexe.r @@ -66,10 +66,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +UND ld .* TLS +GLOBAL +DEFAULT +9 ld2 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -86,6 +86,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 .* SECTION +LOCAL +DEFAULT +12 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 gd4 .* TLS +LOCAL +DEFAULT +8 ld4 .* TLS +LOCAL +DEFAULT +8 ld5 @@ -93,10 +94,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 ie4 .* TLS +LOCAL +DEFAULT +8 le4 .* TLS +LOCAL +DEFAULT +8 le5 +.* (FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt) +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC -.* (NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0|(FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)) -.* (NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve|NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0) -.* ((FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)|NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve) +.* NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0 +.* NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve .* GLOBAL +DEFAULT +UND gd .* GLOBAL +DEFAULT +9 le0 .* GLOBAL +DEFAULT +9 ld0 @@ -105,9 +107,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +7 _start .* TLS +GLOBAL +DEFAULT +9 ld2 .* TLS +GLOBAL +DEFAULT +9 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +DEFAULT +9 gd0 .* TLS +GLOBAL +DEFAULT +9 ie0 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r b/binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r index 6983b08..915832e 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r +++ b/binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r @@ -64,11 +64,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +LOCAL +DEFAULT +UND .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +UND ld -.* NOTYPE +GLOBAL +DEFAULT +ABS __end -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __end +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -85,6 +85,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 .* SECTION +LOCAL +DEFAULT +12 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 gd4 .* TLS +LOCAL +DEFAULT +8 ld4 .* TLS +LOCAL +DEFAULT +8 ld5 @@ -92,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 ie4 .* TLS +LOCAL +DEFAULT +8 le4 .* TLS +LOCAL +DEFAULT +8 le5 +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC .* OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +UND gd @@ -100,12 +102,12 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +9 le1 .* TLS +GLOBAL +DEFAULT +UND ld .* NOTYPE +GLOBAL +DEFAULT +7 _start -.* NOTYPE +GLOBAL +DEFAULT +ABS __end +.* NOTYPE +GLOBAL +DEFAULT +12 __end .* TLS +GLOBAL +DEFAULT +9 ld2 .* TLS +GLOBAL +DEFAULT +9 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +DEFAULT +9 gd0 .* TLS +GLOBAL +DEFAULT +9 ie0 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/tlsexetoc.r b/binutils-2.22/ld/testsuite/ld-powerpc/tlsexetoc.r index 6af3e98..63940d3 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/tlsexetoc.r +++ b/binutils-2.22/ld/testsuite/ld-powerpc/tlsexetoc.r @@ -65,10 +65,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +LOCAL +DEFAULT +UND .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +UND ld -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -85,6 +85,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 .* SECTION +LOCAL +DEFAULT +12 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 gd4 .* TLS +LOCAL +DEFAULT +8 ld4 .* TLS +LOCAL +DEFAULT +8 ld5 @@ -93,10 +94,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 le4 .* TLS +LOCAL +DEFAULT +8 le5 .* NOTYPE +LOCAL +DEFAULT +11 \.Lie0 +.* (FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt) +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC -.* (NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0|(FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)) -.* (NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve|NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0) -.* ((FUNC|NOTYPE) +LOCAL +DEFAULT +UND \.__tls_get_addr(|_opt)|NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve) +.* NOTYPE +LOCAL +DEFAULT +7 00000010\.plt_call\.__tls_get_addr(|_opt)\+0 +.* NOTYPE +LOCAL +DEFAULT +7 __glink_PLTresolve .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +9 le0 .* TLS +GLOBAL +DEFAULT +9 ld0 @@ -105,9 +107,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +7 _start .* TLS +GLOBAL +DEFAULT +9 ld2 .* TLS +GLOBAL +DEFAULT +9 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr_opt -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +DEFAULT +9 gd0 .* TLS +GLOBAL +DEFAULT +9 ie0 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/tlsso.r b/binutils-2.22/ld/testsuite/ld-powerpc/tlsso.r index 4167b3a..0fc6b37 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/tlsso.r +++ b/binutils-2.22/ld/testsuite/ld-powerpc/tlsso.r @@ -51,10 +51,10 @@ Relocation section '\.rela\.dyn' at offset .* contains 16 entries: [0-9a-f ]+R_PPC64_TPREL16_DS +0+105f8 \.tdata \+ 28 [0-9a-f ]+R_PPC64_TPREL16_HA +0+105f8 \.tdata \+ 30 [0-9a-f ]+R_PPC64_TPREL16_LO +0+105f8 \.tdata \+ 30 -[0-9a-f ]+R_PPC64_DTPMOD64 +0+ -[0-9a-f ]+R_PPC64_DTPREL64 +0+ -[0-9a-f ]+R_PPC64_DTPREL64 +0+18 -[0-9a-f ]+R_PPC64_DTPMOD64 +0+ +[0-9a-f ]+R_PPC64_DTPMOD64 +0 +[0-9a-f ]+R_PPC64_DTPREL64 +0 +[0-9a-f ]+R_PPC64_DTPREL64 +18 +[0-9a-f ]+R_PPC64_DTPMOD64 +0 [0-9a-f ]+R_PPC64_DTPMOD64 +0+ gd \+ 0 [0-9a-f ]+R_PPC64_DTPREL64 +0+ gd \+ 0 [0-9a-f ]+R_PPC64_DTPREL64 +0+50 ld2 \+ 0 @@ -80,9 +80,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +6 _start .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 @@ -100,6 +100,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +7 gd4 .* TLS +LOCAL +DEFAULT +7 ld4 .* TLS +LOCAL +DEFAULT +7 ld5 @@ -107,10 +108,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 ie4 .* TLS +LOCAL +DEFAULT +7 le4 .* TLS +LOCAL +DEFAULT +7 le5 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +9 _DYNAMIC .* NOTYPE +LOCAL +DEFAULT +6 00000010\.plt_call\.__tls_get_addr\+0 .* NOTYPE +LOCAL +DEFAULT +6 __glink_PLTresolve -.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +8 le0 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr @@ -120,8 +122,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +6 _start .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.d b/binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.d index b4e45d8..8d4ac4e 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.d +++ b/binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.d @@ -39,8 +39,9 @@ Disassembly of section \.text: .*: a9 49 00 00 lha r10,0\(r9\) Disassembly of section \.got: -.* <\.got>: - \.\.\. +.* <_GLOBAL_OFFSET_TABLE_-0x28>: +#... .*: 4e 80 00 21 blrl -.*: 00 01 03 ec .* - \.\.\. +.* <_GLOBAL_OFFSET_TABLE_>: +.*: 00 01 03 ec .* +#pass diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.r b/binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.r index e075db2..d38bb98 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.r +++ b/binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.r @@ -55,9 +55,9 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries: [0-9a-f ]+R_PPC_TPREL16 +0+103d0 +\.tdata \+ 103e4 [0-9a-f ]+R_PPC_TPREL16_HA +0+103d0 +\.tdata \+ 103e8 [0-9a-f ]+R_PPC_TPREL16_LO +0+103d0 +\.tdata \+ 103e8 -[0-9a-f ]+R_PPC_DTPMOD32 +0+ -[0-9a-f ]+R_PPC_DTPREL32 +0+ -[0-9a-f ]+R_PPC_DTPMOD32 +0+ +[0-9a-f ]+R_PPC_DTPMOD32 +0 +[0-9a-f ]+R_PPC_DTPREL32 +0 +[0-9a-f ]+R_PPC_DTPMOD32 +0 [0-9a-f ]+R_PPC_DTPMOD32 +0+ +gd \+ 0 [0-9a-f ]+R_PPC_DTPREL32 +0+ +gd \+ 0 [0-9a-f ]+R_PPC_DTPMOD32 +0+1c +gd0 \+ 0 @@ -80,12 +80,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +8 le1 .* TLS +GLOBAL +DEFAULT +UND ld .* NOTYPE +GLOBAL +DEFAULT +6 _start -.* NOTYPE +GLOBAL +DEFAULT +ABS __end +.* NOTYPE +GLOBAL +DEFAULT +11 __end .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 @@ -103,6 +103,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +7 gd4 .* TLS +LOCAL +DEFAULT +7 ld4 .* TLS +LOCAL +DEFAULT +7 ld5 @@ -110,8 +111,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 ie4 .* TLS +LOCAL +DEFAULT +7 le4 .* TLS +LOCAL +DEFAULT +7 le5 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +9 _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +10 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +8 le0 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr @@ -119,11 +121,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +8 le1 .* TLS +GLOBAL +DEFAULT +UND ld .* NOTYPE +GLOBAL +DEFAULT +6 _start -.* NOTYPE +GLOBAL +DEFAULT +ABS __end +.* NOTYPE +GLOBAL +DEFAULT +11 __end .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.r b/binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.r index 040d69f..a0bc863 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.r +++ b/binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.r @@ -75,9 +75,9 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +6 _start .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 @@ -95,6 +95,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +7 gd4 .* TLS +LOCAL +DEFAULT +7 ld4 .* TLS +LOCAL +DEFAULT +7 ld5 @@ -103,10 +104,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 le4 .* TLS +LOCAL +DEFAULT +7 le5 .* NOTYPE +LOCAL +DEFAULT +10 \.Lie0 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +9 _DYNAMIC .* NOTYPE +LOCAL +DEFAULT +6 00000010\.plt_call\.__tls_get_addr\+0 .* NOTYPE +LOCAL +DEFAULT +6 __glink_PLTresolve -.* NOTYPE +LOCAL +DEFAULT +UND \.__tls_get_addr .* TLS +GLOBAL +DEFAULT +UND gd .* TLS +GLOBAL +DEFAULT +8 le0 .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr @@ -116,8 +118,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +6 _start .* TLS +GLOBAL +DEFAULT +8 ld2 .* TLS +GLOBAL +DEFAULT +8 ld1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end .* TLS +GLOBAL +DEFAULT +8 gd0 .* TLS +GLOBAL +DEFAULT +8 ie0 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-1.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-1.d new file mode 100644 index 0000000..d9554a1 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-1.d @@ -0,0 +1,14 @@ + +Elf file type is EXEC.* +Entry point 0x0 +There are 2 program headers, starting at offset [0-9]+ + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + + Section to Segment mapping: + Segment Sections... + 00 .data + 01 .text_vle .text_iv .iv_handlers diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-1.ld b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-1.ld new file mode 100644 index 0000000..f2ff319 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-1.ld @@ -0,0 +1,17 @@ +SECTIONS +{ + .data 0x00000400 : + { *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) } + .text_vle 0x00001000 : + { + . = ALIGN(16); + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) + } + .text_iv . : { . = ALIGN(16); *(.text_iv) } + .iv_handlers 0x0001F000 : { *(.iv_handlers) } +} diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-2.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-2.d new file mode 100644 index 0000000..9d83bb5 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-2.d @@ -0,0 +1,16 @@ + +Elf file type is EXEC.* +Entry point 0x0 +There are 3 program headers, starting at offset [0-9]+ + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + + Section to Segment mapping: + Segment Sections... + 00 .text_vle + 01 .data + 02 .text_iv .iv_handlers diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-2.ld b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-2.ld new file mode 100644 index 0000000..2320b61 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-2.ld @@ -0,0 +1,17 @@ +SECTIONS +{ + .text_vle 0x00001000 : + { + . = ALIGN(16); + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) + } + .data 0x00001400 : + { *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) } + .text_iv . : { . = ALIGN(16); *(.text_iv) } + .iv_handlers 0x0001F000 : { *(.iv_handlers) } +} diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-3.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-3.d new file mode 100644 index 0000000..957b990 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-3.d @@ -0,0 +1,16 @@ + +Elf file type is EXEC.* +Entry point 0x0 +There are 3 program headers, starting at offset [0-9]+ + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + + Section to Segment mapping: + Segment Sections... + 00 .text_vle .text_iv + 01 .data + 02 .iv_handlers diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-3.ld b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-3.ld new file mode 100644 index 0000000..0ed2f44 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-3.ld @@ -0,0 +1,17 @@ +SECTIONS +{ + .text_vle 0x00001000 : + { + . = ALIGN(16); + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) + } + .text_iv . : { . = ALIGN(16); *(.text_iv) } + .data 0x00001400 : + { *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) } + .iv_handlers 0x0001F000 : { *(.iv_handlers) } +} diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-4.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-4.d new file mode 100644 index 0000000..9edbe06 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-4.d @@ -0,0 +1,14 @@ + +Elf file type is EXEC.* +Entry point 0x0 +There are 2 program headers, starting at offset [0-9]+ + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ + + Section to Segment mapping: + Segment Sections... + 00 .text_vle .text_iv .iv_handlers + 01 .data diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-4.ld b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-4.ld new file mode 100644 index 0000000..503fe06 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-4.ld @@ -0,0 +1,17 @@ +SECTIONS +{ + .text_vle 0x00001000 : + { + . = ALIGN(16); + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) + } + .text_iv . : { . = ALIGN(16); *(.text_iv) } + .iv_handlers 0x0001F000 : { *(.iv_handlers) } + .data 0x00020400 : + { *(.data) *(.ctors) *(.dtors) *(.eh_frame) *(.jcr) } +} diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-5.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-5.d new file mode 100644 index 0000000..957b990 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-5.d @@ -0,0 +1,16 @@ + +Elf file type is EXEC.* +Entry point 0x0 +There are 3 program headers, starting at offset [0-9]+ + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + + Section to Segment mapping: + Segment Sections... + 00 .text_vle .text_iv + 01 .data + 02 .iv_handlers diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-5.ld b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-5.ld new file mode 100644 index 0000000..4000021 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-5.ld @@ -0,0 +1,44 @@ + +MEMORY +{ + code_rom (rxw) : org = 0x00001000, len = 0x1EF000 + irpt_rom (rx) : org = 0x001F0000, len = 0x2000 + int__ram (rxw) : org = 0x40000000, len = 256K +} + +REGION_ALIAS("INTR", irpt_rom) +REGION_ALIAS("CODE", code_rom) +REGION_ALIAS("RODATA", code_rom) +REGION_ALIAS("RAM", int__ram) + +SECTIONS +{ + .iv_handlers : + { + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.iv_handlers) + } > INTR + + .text_vle : + { + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init_vle) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini_vle) + } > CODE + + .rodata : + { + *(.rodata) + } > RODATA + + .data : + { + *(.data) + *(.data.*) + *(.ctors) + *(.dtors) + } > RAM AT>RODATA + +} diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6.d new file mode 100644 index 0000000..5c3c210 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6.d @@ -0,0 +1,25 @@ +#source: vle-multiseg-6a.s -mregnames -mvle +#source: vle-multiseg-6b.s +#source: vle-multiseg-6c.s +#source: vle-multiseg-6d.s -mregnames -mvle +#ld: -T vle-multiseg-6.ld +#target: powerpc-*-* +#readelf: -l + +Elf file type is EXEC.* +Entry point 0x[0-9a-f]+ +There are 4 program headers, starting at offset [0-9]+ + +Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + LOAD ( +0x[0-9a-f]+){5} ([RWE ]+){3} 0x[0-f]+ + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + LOAD ( +0x[0-9a-f]+){5} R E 0x[0-9a-f]+ + + Section to Segment mapping: + Segment Sections... + 00 .data + 01 .text_vle + 02 .text_iv + 03 .text diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6.ld b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6.ld new file mode 100644 index 0000000..c8d88dd --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6.ld @@ -0,0 +1,37 @@ +MEMORY +{ + vle_seg1 (rxw): org = 0x00000000, len = 0x10000 + vle_seg2 (rxw): org = 0x00100000, len = 0x10000 + nonvle_seg (rxw): org = 0x001F0000, len = 0x20000 +} +SECTIONS +{ + .data 0x00000100 : + { + *(.data) + *(.ctors) + *(.dtors) + *(.eh_frame) + *(.jcr) + } + .text_vle 0x00001000 : + { + . = ALIGN(16); + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text*) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.init*) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.fini*) + } > vle_seg1 + + .text_iv 0x100000 : + { + . = ALIGN(16); + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.text_iv) + INPUT_SECTION_FLAGS (SHF_PPC_VLE) *(.iv_handlers) + } >vle_seg2 + + .text 0x101000 : + { + . = ALIGN(16); + INPUT_SECTION_FLAGS (!SHF_PPC_VLE) *(.text*) + } +} diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6a.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6a.s new file mode 100644 index 0000000..a50afae --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6a.s @@ -0,0 +1,47 @@ + .text + + e_stw r12, 0x4C(r1) + e_stw r11, 0x48(r1) + e_stw r10, 0x44(r1) + e_stw r9, 0x40(r1) + e_stw r8, 0x3C(r1) + e_stw r7, 0x38(r1) + e_stw r6, 0x34(r1) + e_stw r5, 0x30(r1) + e_stw r4, 0x2c(r1) + + .globl IV_table + .section ".iv_handlers", "ax" +IV_table: + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 +dummy: + se_nop + e_b dummy + + .section ".text_iv", "ax" + e_lis r3, IV_table@h + mtivpr r3 + e_li r3, IV_table@l+0x00 + mtivor0 r3 + e_li r3, IV_table@l+0x10 + mtivor1 r3 + e_li r3, IV_table@l+0x20 + mtivor2 r3 + + .data + .long 0xdeadbeef diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6b.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6b.s new file mode 100644 index 0000000..10fcf20 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6b.s @@ -0,0 +1,6 @@ + .text + + and. 3,4,5 + and 3,4,5 + andc 13,14,15 + andc. 16,17,18 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6c.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6c.s new file mode 100644 index 0000000..10fcf20 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6c.s @@ -0,0 +1,6 @@ + .text + + and. 3,4,5 + and 3,4,5 + andc 13,14,15 + andc. 16,17,18 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6d.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6d.s new file mode 100644 index 0000000..a8c6fcc --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6d.s @@ -0,0 +1,9 @@ + .section ".text_iv", "ax" + e_lis r3, IV_table@h + mtivpr r3 + e_li r3, IV_table@l+0x00 + mtivor0 r3 + e_li r3, IV_table@l+0x10 + mtivor1 r3 + e_li r3, IV_table@l+0x20 + mtivor2 r3 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg.s new file mode 100644 index 0000000..b0c0886 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg.s @@ -0,0 +1,50 @@ +# Make up several VLE text sections which the linker script will put into +# separate output sections. We will then check for separate load segments. +# .include "mpc5500_usrdefs.inc" +# .section ".text_vle" + + e_stw r12, 0x4C(r1) + e_stw r11, 0x48(r1) + e_stw r10, 0x44(r1) + e_stw r9, 0x40(r1) + e_stw r8, 0x3C(r1) + e_stw r7, 0x38(r1) + e_stw r6, 0x34(r1) + e_stw r5, 0x30(r1) + e_stw r4, 0x2c(r1) + + .globl IV_table + .section ".iv_handlers", "ax" +IV_table: + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 + e_b dummy + .align 4 +dummy: + se_nop + e_b dummy + + .section ".text_iv", "ax" + e_lis r3, IV_table@h + mtivpr r3 + e_li r3, IV_table@l+0x00 + mtivor0 r3 + e_li r3, IV_table@l+0x10 + mtivor1 r3 + e_li r3, IV_table@l+0x20 + mtivor2 r3 + + .data + .long 0xdeadbeef diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-1.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-1.d new file mode 100644 index 0000000..0f59271 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-1.d @@ -0,0 +1,29 @@ +.*: file format .* + + +Disassembly of section .text: + +01800054 <sub1>: + 1800054: 00 04 se_blr + +01800056 <sub2>: + 1800056: 00 04 se_blr + +01800058 <vle_reloc>: + 1800058: e8 fe se_b 1800054 <sub1> + 180005a: e9 fd se_bl 1800054 <sub1> + 180005c: e1 fd se_ble 1800056 <sub2> + 180005e: e6 fc se_beq 1800056 <sub2> + 1800060: 78 00 00 10 e_b 1800070 <sub3> + 1800064: 78 00 00 0f e_bl 1800072 <sub4> + 1800068: 7a 05 00 0c e_ble cr1,1800074 <sub5> + 180006c: 7a 1a 00 09 e_beql cr2,1800074 <sub5> + +01800070 <sub3>: + 1800070: 00 04 se_blr + +01800072 <sub4>: + 1800072: 00 04 se_blr + +01800074 <sub5>: + 1800074: 00 04 se_blr diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-1.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-1.s new file mode 100644 index 0000000..e56a22b --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-1.s @@ -0,0 +1,18 @@ + .section .text +sub1: + se_blr + +sub2: + se_blr + + .section .text +vle_reloc: + se_b sub1 + se_bl sub1 + se_bc 0,1,sub2 + se_bc 1,2,sub2 + + e_b sub3 + e_bl sub4 + e_bc 0,5,sub5 + e_bcl 1,10,sub5 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-2.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-2.d new file mode 100644 index 0000000..1e1c9d4 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-2.d @@ -0,0 +1,87 @@ +.*: file format .* + +Disassembly of section .text: + +01800094 <sub1>: + 1800094: 00 04 se_blr +01800096 <sub2>: + 1800096: 00 04 se_blr +01800098 <vle_reloc_2>: + 1800098: 70 20 c1 c2 e_or2i r1,450 + 180009c: 70 40 c1 81 e_or2i r2,385 + 18000a0: 70 60 c1 81 e_or2i r3,385 + 18000a4: 70 80 c1 ce e_or2i r4,462 + 18000a8: 70 a0 c1 80 e_or2i r5,384 + 18000ac: 70 40 c1 81 e_or2i r2,385 + 18000b0: 70 20 c9 c2 e_and2i. r1,450 + 18000b4: 70 40 c9 81 e_and2i. r2,385 + 18000b8: 70 60 c9 81 e_and2i. r3,385 + 18000bc: 70 80 c9 ce e_and2i. r4,462 + 18000c0: 70 a0 c9 80 e_and2i. r5,384 + 18000c4: 70 40 c9 81 e_and2i. r2,385 + 18000c8: 70 20 d1 c2 e_or2is r1,450 + 18000cc: 70 40 d1 81 e_or2is r2,385 + 18000d0: 70 60 d1 81 e_or2is r3,385 + 18000d4: 70 80 d1 ce e_or2is r4,462 + 18000d8: 70 a0 d1 80 e_or2is r5,384 + 18000dc: 70 40 d1 81 e_or2is r2,385 + 18000e0: 70 20 e1 c2 e_lis r1,450 + 18000e4: 70 40 e1 81 e_lis r2,385 + 18000e8: 70 60 e1 81 e_lis r3,385 + 18000ec: 70 80 e1 ce e_lis r4,462 + 18000f0: 70 a0 e1 80 e_lis r5,384 + 18000f4: 70 40 e1 81 e_lis r2,385 + 18000f8: 70 20 e9 c2 e_and2is. r1,450 + 18000fc: 70 40 e9 81 e_and2is. r2,385 + 1800100: 70 60 e9 81 e_and2is. r3,385 + 1800104: 70 80 e9 ce e_and2is. r4,462 + 1800108: 70 a0 e9 80 e_and2is. r5,384 + 180010c: 70 40 e9 81 e_and2is. r2,385 + 1800110: 70 01 99 c2 e_cmp16i r1,450 + 1800114: 70 02 99 81 e_cmp16i r2,385 + 1800118: 70 03 99 81 e_cmp16i r3,385 + 180011c: 70 04 99 ce e_cmp16i r4,462 + 1800120: 70 05 99 80 e_cmp16i r5,384 + 1800124: 70 02 99 81 e_cmp16i r2,385 + 1800128: 70 01 a9 c2 e_cmpl16i r1,450 + 180012c: 70 02 a9 81 e_cmpl16i r2,385 + 1800130: 70 03 a9 81 e_cmpl16i r3,385 + 1800134: 70 04 a9 ce e_cmpl16i r4,462 + 1800138: 70 05 a9 80 e_cmpl16i r5,384 + 180013c: 70 02 a9 81 e_cmpl16i r2,385 + 1800140: 70 01 b1 c2 e_cmph16i r1,450 + 1800144: 70 02 b1 81 e_cmph16i r2,385 + 1800148: 70 03 b1 81 e_cmph16i r3,385 + 180014c: 70 04 b1 ce e_cmph16i r4,462 + 1800150: 70 05 b1 80 e_cmph16i r5,384 + 1800154: 70 02 b1 81 e_cmph16i r2,385 + 1800158: 70 01 b9 c2 e_cmphl16i r1,450 + 180015c: 70 02 b9 81 e_cmphl16i r2,385 + 1800160: 70 03 b9 81 e_cmphl16i r3,385 + 1800164: 70 04 b9 ce e_cmphl16i r4,462 + 1800168: 70 05 b9 80 e_cmphl16i r5,384 + 180016c: 70 02 b9 81 e_cmphl16i r2,385 + 1800170: 70 01 89 c2 e_add2i. r1,450 + 1800174: 70 02 89 81 e_add2i. r2,385 + 1800178: 70 03 89 81 e_add2i. r3,385 + 180017c: 70 04 89 ce e_add2i. r4,462 + 1800180: 70 05 89 80 e_add2i. r5,384 + 1800184: 70 02 89 81 e_add2i. r2,385 + 1800188: 70 01 91 c2 e_add2is r1,450 + 180018c: 70 02 91 81 e_add2is r2,385 + 1800190: 70 03 91 81 e_add2is r3,385 + 1800194: 70 04 91 ce e_add2is r4,462 + 1800198: 70 05 91 80 e_add2is r5,384 + 180019c: 70 02 91 81 e_add2is r2,385 + 18001a0: 70 01 a1 c2 e_mull2i r1,450 + 18001a4: 70 02 a1 81 e_mull2i r2,385 + 18001a8: 70 03 a1 81 e_mull2i r3,385 + 18001ac: 70 04 a1 ce e_mull2i r4,462 + 18001b0: 70 05 a1 80 e_mull2i r5,384 + 18001b4: 70 02 a1 81 e_mull2i r2,385 +018001b8 <sub3>: + 18001b8: 00 04 se_blr +018001ba <sub4>: + 18001ba: 00 04 se_blr +018001bc <sub5>: + 18001bc: 00 04 se_blr diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-2.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-2.s new file mode 100644 index 0000000..34cc32d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-2.s @@ -0,0 +1,92 @@ + .section .text +sub1: + se_blr + +sub2: + se_blr + + .section .text +vle_reloc_2: + e_or2i 1, low@l + e_or2i 2, high@h + e_or2i 3, high_adjust@ha + e_or2i 4, low_sdarel@sdarel@l + e_or2i 5, high_sdarel@sdarel@h + e_or2i 2, high_adjust_sdarel@sdarel@ha + + e_and2i. 1, low@l + e_and2i. 2, high@h + e_and2i. 3, high_adjust@ha + e_and2i. 4, low_sdarel@sdarel@l + e_and2i. 5, high_sdarel@sdarel@h + e_and2i. 2, high_adjust_sdarel@sdarel@ha + + e_or2is 1, low@l + e_or2is 2, high@h + e_or2is 3, high_adjust@ha + e_or2is 4, low_sdarel@sdarel@l + e_or2is 5, high_sdarel@sdarel@h + e_or2is 2, high_adjust_sdarel@sdarel@ha + + e_lis 1, low@l + e_lis 2, high@h + e_lis 3, high_adjust@ha + e_lis 4, low_sdarel@sdarel@l + e_lis 5, high_sdarel@sdarel@h + e_lis 2, high_adjust_sdarel@sdarel@ha + + e_and2is. 1, low@l + e_and2is. 2, high@h + e_and2is. 3, high_adjust@ha + e_and2is. 4, low_sdarel@sdarel@l + e_and2is. 5, high_sdarel@sdarel@h + e_and2is. 2, high_adjust_sdarel@sdarel@ha + + e_cmp16i 1, low@l + e_cmp16i 2, high@h + e_cmp16i 3, high_adjust@ha + e_cmp16i 4, low_sdarel@sdarel@l + e_cmp16i 5, high_sdarel@sdarel@h + e_cmp16i 2, high_adjust_sdarel@sdarel@ha + + e_cmpl16i 1, low@l + e_cmpl16i 2, high@h + e_cmpl16i 3, high_adjust@ha + e_cmpl16i 4, low_sdarel@sdarel@l + e_cmpl16i 5, high_sdarel@sdarel@h + e_cmpl16i 2, high_adjust_sdarel@sdarel@ha + + e_cmph16i 1, low@l + e_cmph16i 2, high@h + e_cmph16i 3, high_adjust@ha + e_cmph16i 4, low_sdarel@sdarel@l + e_cmph16i 5, high_sdarel@sdarel@h + e_cmph16i 2, high_adjust_sdarel@sdarel@ha + + e_cmphl16i 1, low@l + e_cmphl16i 2, high@h + e_cmphl16i 3, high_adjust@ha + e_cmphl16i 4, low_sdarel@sdarel@l + e_cmphl16i 5, high_sdarel@sdarel@h + e_cmphl16i 2, high_adjust_sdarel@sdarel@ha + + e_add2i. 1, low@l + e_add2i. 2, high@h + e_add2i. 3, high_adjust@ha + e_add2i. 4, low_sdarel@sdarel@l + e_add2i. 5, high_sdarel@sdarel@h + e_add2i. 2, high_adjust_sdarel@sdarel@ha + + e_add2is 1, low@l + e_add2is 2, high@h + e_add2is 3, high_adjust@ha + e_add2is 4, low_sdarel@sdarel@l + e_add2is 5, high_sdarel@sdarel@h + e_add2is 2, high_adjust_sdarel@sdarel@ha + + e_mull2i 1, low@l + e_mull2i 2, high@h + e_mull2i 3, high_adjust@ha + e_mull2i 4, low_sdarel@sdarel@l + e_mull2i 5, high_sdarel@sdarel@h + e_mull2i 2, high_adjust_sdarel@sdarel@ha diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-3.d b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-3.d new file mode 100644 index 0000000..e29f4f0 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-3.d @@ -0,0 +1,8 @@ +.*: file format .* + +Disassembly of section .text: + +01800094 <sda21_test>: + 1800094: 1c ad 80 08 e_add16i r5,r13,-32760 + 1800098: 1c a2 80 04 e_add16i r5,r2,-32764 + 180009c: 70 00 00 ac e_li r0,172 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-3.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-3.s new file mode 100644 index 0000000..3c7dfae --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-3.s @@ -0,0 +1,10 @@ + .section .text + .extern exdat1c + .extern exdat2b + .extern exdat1a + .globl sda21_test + +sda21_test: + e_add16i 5, 4, exdat1c@sda21 + e_add16i 5, 4, exdat2b@sda21 + e_add16i 5, 4, exdat0b@sda21 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-1.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-1.s new file mode 100644 index 0000000..a879221 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-1.s @@ -0,0 +1,13 @@ + .section .text + .globl sub3 +sub3: + se_blr + + .globl sub4 +sub4: + se_blr + + .globl sub5 +sub5: + se_blr + diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-2.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-2.s new file mode 100644 index 0000000..363a39f --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-2.s @@ -0,0 +1,41 @@ + .section .text + + .globl sub3 +sub3: + se_blr + + .globl sub4 +sub4: + se_blr + + .globl sub5 +sub5: + se_blr + + .section .sdata + .globl low_sdarel +low_sdarel: + .long 2 + + .globl high_adjust_sdarel +high_adjust_sdarel: + .long 0xff + + .section .sdata2 + .globl high_sdarel +high_sdarel: + .long 0xf + + + .data + .globl low +low: + .long 5 + + .globl high +high: + .long 0x10 + + .globl high_adjust +high_adjust: + .long 0xffff diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-3.s b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-3.s new file mode 100644 index 0000000..e3b843b --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-3.s @@ -0,0 +1,29 @@ + .section .sdata + .globl exdat1a + .globl exdat1b + .globl exdat1c +exdat1a: .long 6 +exdat1b: .long 7 +exdat1c: .long 8 + + .section .sdata2 + .globl exdat2a + .globl exdat2b + .globl exdat2c +exdat2a: .long 5 +exdat2b: .long 4 +exdat2c: .long 3 + + .section .PPC.EMB.sdata0 + .globl exdat0a + .globl exdat0b + .globl exdat0c +exdat0a: .long 1 +exdat0b: .long 2 +exdat0c: .long 3 + + .section .sbss + .globl exbss1a + .globl exbss1b +exbss1a: .int +exbss1b: .int diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vle.ld b/binutils-2.22/ld/testsuite/ld-powerpc/vle.ld new file mode 100644 index 0000000..01b6598 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vle.ld @@ -0,0 +1,11 @@ +SECTIONS +{ + . = 0x01800000 + SIZEOF_HEADERS; + .text : { *(.text) } + .PPC.EMB.sdata0 : { *(.PPC.EMB.sdata0) } + .sdata2 : { PROVIDE (_SDA2_BASE_ = 32768); *(.sdata2) } + . = ALIGN (0x10000) + (. & (0x10000 - 1)); + .data : { *(.data) } + .sdata : { PROVIDE (_SDA_BASE_ = 32768); *(.sdata) } + /DISCARD/ : { *(*) } +} diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax-2.rd b/binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax-2.rd index 02eb964..4d36109 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax-2.rd +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax-2.rd @@ -1,11 +1,11 @@ Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 8 entries: - Offset Info Type Sym.Value Sym. Name \+ Addend -00000016 00000106 R_PPC_ADDR16_HA 00000000 .text \+ 4000034 -0000001a 00000104 R_PPC_ADDR16_LO 00000000 .text \+ 4000034 -00000006 00000106 R_PPC_ADDR16_HA 00000000 .text \+ 4000034 -0000000a 00000104 R_PPC_ADDR16_LO 00000000 .text \+ 4000034 -00000026 00000506 R_PPC_ADDR16_HA 00000000 undefined \+ 0 -0000002a 00000504 R_PPC_ADDR16_LO 00000000 undefined \+ 0 -0400003e 00000606 R_PPC_ADDR16_HA 00000000 _start \+ 0 -04000042 00000604 R_PPC_ADDR16_LO 00000000 _start \+ 0 + Offset +Info +Type +Sym.Value +Sym. Name \+ Addend +0+16 +[0-9a-f]+ R_PPC_ADDR16_HA +0+ +.text \+ 4000034 +0+1a +[0-9a-f]+ R_PPC_ADDR16_LO +0+ +.text \+ 4000034 +0+6 +[0-9a-f]+ R_PPC_ADDR16_HA +0+ +.text \+ 4000034 +0+a +[0-9a-f]+ R_PPC_ADDR16_LO +0+ +.text \+ 4000034 +0+26 +[0-9a-f]+ R_PPC_ADDR16_HA +0+ +undefined \+ 0 +0+2a +[0-9a-f]+ R_PPC_ADDR16_LO +0+ +undefined \+ 0 +0+400003e +[0-9a-f]+ R_PPC_ADDR16_HA +0+ +_start \+ 0 +0+4000042 +[0-9a-f]+ R_PPC_ADDR16_LO +0+ +_start \+ 0 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax.rd b/binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax.rd index e28094c..572c74d 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax.rd +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax.rd @@ -1,9 +1,9 @@ -Relocation section '.rela.text' at offset 0x4010150 contains 6 entries: +Relocation section '.rela.text' at offset .* contains 6 entries: Offset Info Type Sym.Value Sym. Name \+ Addend -00080012 00000106 R_PPC_ADDR16_HA 00080000 .text \+ 4000020 -00080016 00000104 R_PPC_ADDR16_LO 00080000 .text \+ 4000020 -00080006 00000106 R_PPC_ADDR16_HA 00080000 .text \+ 4000020 -0008000a 00000104 R_PPC_ADDR16_LO 00080000 .text \+ 4000020 -0408002a 00000306 R_PPC_ADDR16_HA 00080000 _start \+ 0 -0408002e 00000304 R_PPC_ADDR16_LO 00080000 _start \+ 0 +00080012 .* R_PPC_ADDR16_HA 00080000 .text \+ 4000020 +00080016 .* R_PPC_ADDR16_LO 00080000 .text \+ 4000020 +00080006 .* R_PPC_ADDR16_HA 00080000 .text \+ 4000020 +0008000a .* R_PPC_ADDR16_LO 00080000 .text \+ 4000020 +0408002a .* R_PPC_ADDR16_HA 00080000 _start \+ 0 +0408002e .* R_PPC_ADDR16_LO 00080000 _start \+ 0 diff --git a/binutils-2.22/ld/testsuite/ld-powerpc/vxworks1-lib.rd b/binutils-2.22/ld/testsuite/ld-powerpc/vxworks1-lib.rd index 40a5d55..21f7bc8 100644 --- a/binutils-2.22/ld/testsuite/ld-powerpc/vxworks1-lib.rd +++ b/binutils-2.22/ld/testsuite/ld-powerpc/vxworks1-lib.rd @@ -6,7 +6,7 @@ Relocation section '\.rela\.plt' at offset .* contains 2 entries: Relocation section '\.rela\.dyn' at offset .* contains 5 entries: Offset Info Type Sym\.Value Sym\. Name \+ Addend -00090800 00000016 R_PPC_RELATIVE * 00080c44 +00090800 00000016 R_PPC_RELATIVE * 80c44 00080c0e .*06 R_PPC_ADDR16_HA 00000000 __GOTT_BASE__ \+ 0 00080c12 .*04 R_PPC_ADDR16_LO 00000000 __GOTT_BASE__ \+ 0 00080c16 .*03 R_PPC_ADDR16 00000000 __GOTT_INDEX__ \+ 0 diff --git a/binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd b/binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd index 678d92c..b9efe8a 100644 --- a/binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd +++ b/binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd @@ -37,7 +37,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+ Program Headers: +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +PHDR +0x0+34 0x0+400034 0x0+400034 0x0+c0 0x0+c0 R E 0x4 - +INTERP +0x0+f4 0x0+4000f4 0x0+4000f4 0x0+11 0x0+11 R +0x1 + +INTERP +0x0+f4 0x0+4000f4 0x0+4000f4 0x0+d 0x0+d R +0x1 .*Requesting program interpreter.* +LOAD .* R E 0x1000 +LOAD .* RW +0x1000 @@ -70,11 +70,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +UND sG3 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_offset -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -91,6 +91,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 .* SECTION +LOCAL +DEFAULT +12 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +9 sl1 .* TLS +LOCAL +DEFAULT +9 sl2 .* TLS +LOCAL +DEFAULT +9 sl3 @@ -99,6 +100,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sl6 .* TLS +LOCAL +DEFAULT +9 sl7 .* TLS +LOCAL +DEFAULT +9 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +10 bl1 .* TLS +LOCAL +DEFAULT +10 bl2 .* TLS +LOCAL +DEFAULT +10 bl3 @@ -107,6 +109,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +10 bl6 .* TLS +LOCAL +DEFAULT +10 bl7 .* TLS +LOCAL +DEFAULT +10 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +11 _DYNAMIC .* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +UND sG3 @@ -128,7 +131,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh4 .* TLS +GLOBAL +DEFAULT +10 bg7 .* TLS +GLOBAL +HIDDEN +9 sh5 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* FUNC +GLOBAL +DEFAULT +8 fn2 .* TLS +GLOBAL +DEFAULT +9 sg2 @@ -136,8 +139,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh1 .* TLS +GLOBAL +DEFAULT +9 sg6 .* TLS +GLOBAL +DEFAULT +9 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +HIDDEN +9 sh2 .* TLS +GLOBAL +HIDDEN +9 sh6 .* TLS +GLOBAL +DEFAULT +10 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd b/binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd index 1dcb6b7..f461f51 100644 --- a/binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd +++ b/binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd @@ -37,7 +37,7 @@ There are [0-9]+ program headers, starting at offset [0-9]+ Program Headers: +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align +PHDR +0x0+40 0x0+80000040 0x0+80000040 0x0+150 0x0+150 R E 0x8 - +INTERP +0x0+190 0x0+80000190 0x0+80000190 0x0+11 0x0+11 R +0x1 + +INTERP +0x0+190 0x0+80000190 0x0+80000190 0x0+f 0x0+f R +0x1 .*Requesting program interpreter.* +LOAD .* R E 0x1000 +LOAD .* RW +0x1000 @@ -70,11 +70,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +UND sG3 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_offset -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -91,6 +91,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 .* SECTION +LOCAL +DEFAULT +12 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +9 sl1 .* TLS +LOCAL +DEFAULT +9 sl2 .* TLS +LOCAL +DEFAULT +9 sl3 @@ -99,6 +100,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sl6 .* TLS +LOCAL +DEFAULT +9 sl7 .* TLS +LOCAL +DEFAULT +9 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +10 bl1 .* TLS +LOCAL +DEFAULT +10 bl2 .* TLS +LOCAL +DEFAULT +10 bl3 @@ -107,6 +109,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +10 bl6 .* TLS +LOCAL +DEFAULT +10 bl7 .* TLS +LOCAL +DEFAULT +10 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +11 _DYNAMIC .* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +UND sG3 @@ -128,7 +131,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh4 .* TLS +GLOBAL +DEFAULT +10 bg7 .* TLS +GLOBAL +HIDDEN +9 sh5 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* FUNC +GLOBAL +DEFAULT +8 fn2 .* TLS +GLOBAL +DEFAULT +9 sg2 @@ -136,8 +139,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh1 .* TLS +GLOBAL +DEFAULT +9 sg6 .* TLS +GLOBAL +DEFAULT +9 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end .* TLS +GLOBAL +HIDDEN +9 sh2 .* TLS +GLOBAL +HIDDEN +9 sh6 .* TLS +GLOBAL +DEFAULT +10 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-s390/tlspic.rd b/binutils-2.22/ld/testsuite/ld-s390/tlspic.rd index ec63e3d..5d27048 100644 --- a/binutils-2.22/ld/testsuite/ld-s390/tlspic.rd +++ b/binutils-2.22/ld/testsuite/ld-s390/tlspic.rd @@ -49,16 +49,16 @@ Program Headers: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: Offset +Info +Type +Sym.Value +Sym. Name \+ Addend -[0-9a-f ]+R_390_TLS_DTPMOD +0+ -[0-9a-f ]+R_390_TLS_TPOFF +0+24 -[0-9a-f ]+R_390_TLS_TPOFF +0+30 -[0-9a-f ]+R_390_TLS_DTPMOD +0+ -[0-9a-f ]+R_390_TLS_DTPMOD +0+ -[0-9a-f ]+R_390_TLS_TPOFF +0+64 -[0-9a-f ]+R_390_TLS_TPOFF +0+50 -[0-9a-f ]+R_390_TLS_TPOFF +0+70 -[0-9a-f ]+R_390_TLS_DTPMOD +0+ -[0-9a-f ]+R_390_TLS_TPOFF +0+44 +[0-9a-f ]+R_390_TLS_DTPMOD +0 +[0-9a-f ]+R_390_TLS_TPOFF +24 +[0-9a-f ]+R_390_TLS_TPOFF +30 +[0-9a-f ]+R_390_TLS_DTPMOD +0 +[0-9a-f ]+R_390_TLS_DTPMOD +0 +[0-9a-f ]+R_390_TLS_TPOFF +64 +[0-9a-f ]+R_390_TLS_TPOFF +50 +[0-9a-f ]+R_390_TLS_TPOFF +70 +[0-9a-f ]+R_390_TLS_DTPMOD +0 +[0-9a-f ]+R_390_TLS_TPOFF +44 [0-9a-f ]+R_390_TLS_TPOFF +0+10 +sg5 \+ 0 [0-9a-f ]+R_390_TLS_DTPMOD +0+ +sg1 \+ 0 [0-9a-f ]+R_390_TLS_DTPOFF +0+ +sg1 \+ 0 @@ -80,12 +80,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -101,6 +101,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 sl1 .* TLS +LOCAL +DEFAULT +8 sl2 .* TLS +LOCAL +DEFAULT +8 sl3 @@ -110,7 +111,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sl7 .* TLS +LOCAL +DEFAULT +8 sl8 .* TLS +LOCAL +DEFAULT +9 sH1 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +8 sh3 .* TLS +LOCAL +DEFAULT +9 sH2 .* TLS +LOCAL +DEFAULT +9 sH7 @@ -124,9 +124,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sH6 .* TLS +LOCAL +DEFAULT +9 sH8 .* TLS +LOCAL +DEFAULT +8 sh1 -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sh2 .* TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +8 sg8 .* TLS +GLOBAL +DEFAULT +8 sg3 .* TLS +GLOBAL +DEFAULT +8 sg4 @@ -134,9 +136,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end diff --git a/binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd b/binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd index da8c9bf..f4cce13 100644 --- a/binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd +++ b/binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd @@ -49,16 +49,16 @@ Program Headers: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -[0-9a-f ]+R_390_TLS_DTPMOD +0+ -[0-9a-f ]+R_390_TLS_TPOFF +0+24 -[0-9a-f ]+R_390_TLS_TPOFF +0+30 -[0-9a-f ]+R_390_TLS_DTPMOD +0+ -[0-9a-f ]+R_390_TLS_DTPMOD +0+ -[0-9a-f ]+R_390_TLS_TPOFF +0+64 -[0-9a-f ]+R_390_TLS_TPOFF +0+50 -[0-9a-f ]+R_390_TLS_TPOFF +0+70 -[0-9a-f ]+R_390_TLS_DTPMOD +0+ -[0-9a-f ]+R_390_TLS_TPOFF +0+44 +[0-9a-f ]+R_390_TLS_DTPMOD +0 +[0-9a-f ]+R_390_TLS_TPOFF +24 +[0-9a-f ]+R_390_TLS_TPOFF +30 +[0-9a-f ]+R_390_TLS_DTPMOD +0 +[0-9a-f ]+R_390_TLS_DTPMOD +0 +[0-9a-f ]+R_390_TLS_TPOFF +64 +[0-9a-f ]+R_390_TLS_TPOFF +50 +[0-9a-f ]+R_390_TLS_TPOFF +70 +[0-9a-f ]+R_390_TLS_DTPMOD +0 +[0-9a-f ]+R_390_TLS_TPOFF +44 [0-9a-f ]+R_390_TLS_TPOFF +0+10 sg5 \+ 0 [0-9a-f ]+R_390_TLS_DTPMOD +0+ sg1 \+ 0 [0-9a-f ]+R_390_TLS_DTPOFF +0+ sg1 \+ 0 @@ -80,12 +80,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -101,6 +101,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 .* SECTION +LOCAL +DEFAULT +10 .* SECTION +LOCAL +DEFAULT +11 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 sl1 .* TLS +LOCAL +DEFAULT +8 sl2 .* TLS +LOCAL +DEFAULT +8 sl3 @@ -110,7 +111,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sl7 .* TLS +LOCAL +DEFAULT +8 sl8 .* TLS +LOCAL +DEFAULT +9 sH1 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +8 sh3 .* TLS +LOCAL +DEFAULT +9 sH2 .* TLS +LOCAL +DEFAULT +9 sH7 @@ -124,9 +124,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sH6 .* TLS +LOCAL +DEFAULT +9 sH8 .* TLS +LOCAL +DEFAULT +8 sh1 -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sh2 .* TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +8 sg8 .* TLS +GLOBAL +DEFAULT +8 sg3 .* TLS +GLOBAL +DEFAULT +8 sg4 @@ -134,9 +136,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_offset .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end diff --git a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-1.d b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-1.d index 29301ea..f43e4c3 100644 --- a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-1.d +++ b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-1.d @@ -4,6 +4,6 @@ #... 0+0 T _start #... -0+2000000 A __data_end +0+2000000 [ADT] __data_end 0+2000000 [ADT] __data_start #pass diff --git a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-2a.d b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-2a.d index 689db61..5155041 100644 --- a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-2a.d +++ b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-2a.d @@ -5,5 +5,5 @@ #... 0+0 T _start #... -0+10 A __data_end +0+10 [ADT] __data_end #pass diff --git a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-2b.d b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-2b.d index 0c58946..22f6e26 100644 --- a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-2b.d +++ b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-2b.d @@ -5,5 +5,5 @@ #... 0+0 T _start #... -0+10 A __data_end +0+10 [ADT] __data_end #pass diff --git a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3a.d b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3a.d index f475d41..68d1663 100644 --- a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3a.d +++ b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3a.d @@ -5,5 +5,5 @@ #... 0+0 T _start #... -0+10 A __data_end +0+10 [DT] __data_end #pass diff --git a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3b.d b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3b.d index 0a97fc2..d3ebee3 100644 --- a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3b.d +++ b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3b.d @@ -5,5 +5,5 @@ #... 0+0 T _start #... -0+10 A __data_end +0+10 [DT] __data_end #pass diff --git a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3c.d b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3c.d index 6001885..7fac2f6 100644 --- a/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3c.d +++ b/binutils-2.22/ld/testsuite/ld-scripts/empty-address-3c.d @@ -4,7 +4,7 @@ #... 0+0 T _start #... -0+1010 A __data_end +0+1010 [ADT] __data_end #... 0+1010 [ADT] __data_start #pass diff --git a/binutils-2.22/ld/testsuite/ld-scripts/phdrs.exp b/binutils-2.22/ld/testsuite/ld-scripts/phdrs.exp index c4e5699..b7f3682 100644 --- a/binutils-2.22/ld/testsuite/ld-scripts/phdrs.exp +++ b/binutils-2.22/ld/testsuite/ld-scripts/phdrs.exp @@ -60,6 +60,14 @@ if ![ld_simple_link $ld tmpdir/phdrs $ldopt] { set exec_output [prune_warnings $exec_output] verbose -log $exec_output + # The RX port sets the p_paddr of loadable segments to 0 in order + # to be compatible with Renesas tools. When an RX executable is + # loaded into a BFD based tool the code tries to reconstruct the + # correct vaddr and paddr values. This is not always possible + # however and this test is one example of where the reconstruction + # fails. + setup_xfail rx-*-* + if [regexp $phdrs_regexp $exec_output] { pass $testname } else { diff --git a/binutils-2.22/ld/testsuite/ld-selective/sel-dump.exp b/binutils-2.22/ld/testsuite/ld-selective/sel-dump.exp index c78bd6e..d9ac24b 100644 --- a/binutils-2.22/ld/testsuite/ld-selective/sel-dump.exp +++ b/binutils-2.22/ld/testsuite/ld-selective/sel-dump.exp @@ -20,7 +20,7 @@ # Test for ELF here, so we don't have to qualify on ELF specifically # in every .d-file. -if ![is_elf_format] { +if { ![is_elf_format] || ![check_gc_sections_available] } { return } @@ -28,8 +28,5 @@ set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] for { set i 0 } { $i < [llength $test_list] } { incr i } { # We need to strip the ".d", but can leave the dirname. verbose [file rootname [lindex $test_list $i]] - setup_xfail "am33*-*" "arc*-*" "d30v*-*" "dlx*-*" - setup_xfail "hppa*64-*-*" "i370*-*" "i860*-*" "i960*-*" "ia64*-*" - setup_xfail "m88*-*" "mn10200-*" "mep-*" "or32-*" "pj-*" run_dump_test [file rootname [lindex $test_list $i]] } diff --git a/binutils-2.22/ld/testsuite/ld-selective/selective.exp b/binutils-2.22/ld/testsuite/ld-selective/selective.exp index d4d30ec..23c23dd 100644 --- a/binutils-2.22/ld/testsuite/ld-selective/selective.exp +++ b/binutils-2.22/ld/testsuite/ld-selective/selective.exp @@ -23,19 +23,7 @@ # Make sure that constructors are handled correctly. # Only ELF based ports support selective linking -if ![is_elf_format] { - return -} - -# These targets do not support selective linking -if {[istarget "am33*-*-*"] || - [istarget "arc-*-*"] || [istarget "d30v-*-*"] || - [istarget "dlx-*-*"] || [istarget "hppa*64*-*-*"] || - [istarget "i370-*-*"] || [istarget "i860-*-*"] || - [istarget "i960-*-*"] || [istarget "ia64-*-*"] || - [istarget "m88*-*-*"] || [istarget "mn10200-*-*"] || - [istarget "mep-*-*"] || [istarget "or32-*-*"] || - [istarget "pj*-*-*"]} { +if { ![is_elf_format] || ![check_gc_sections_available] } { return } @@ -101,8 +89,6 @@ foreach testitem $seltests { foreach xfail_target $xfails { setup_xfail $xfail_target } - setup_xfail "arc*-*" "d30v*-*" "dlx*-*" "i370*-*" "i860*-*" - setup_xfail "i960*-*" "mn10200-*" "or32-*" "pj-*" # It's either C or C++ at the moment. if { $testtype == "C++" } { @@ -155,7 +141,7 @@ foreach testitem $seltests { } # m6811/m6812 code has references to soft registers. - if {[istarget m6811-*-*] || [istarget m6812-*-*]} { + if {[istarget m6811-*-*] || [istarget m6812-*-*] || [istarget m68hc1*-*-*]} { set objfile "$objfile --defsym _.frame=0 --defsym _.d1=0" set objfile "$objfile --defsym _.d2=0" } diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/abi32.xd b/binutils-2.22/ld/testsuite/ld-sh/sh64/abi32.xd index 94b1014..f451b81 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/abi32.xd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/abi32.xd @@ -25,20 +25,23 @@ SYMBOL TABLE: 0+1000 l d \.text 0+ (|\.text) 0+10e8 l d \.data 0+ (|\.data) 0+80000 l d \.stack 0+ (|\.stack) +0+ l df \*ABS\* 0+ .* 0+10f4 l \.data 0+ foobar +0+ l df \*ABS\* 0+ .* 0+10fc l \.data 0+ foobar2 0+1060 l \.text 0+ 0x04 plugh +0+ l df \*ABS\* 0+ .* 0+10f8 g \.data 0+ foobar 0+10e8 g \.data 0+ baz 0+10e8 g .* 0+ ___dtors 0+105c g \.text 0+ 0x04 xyzzy -0+1100 g \*ABS\* 0+ __bss_start +0+1100 g \.data 0+ __bss_start 0+10e8 g .* 0+ ___ctors_end 0+10f0 g \.data 0+ baz2 0+10e8 g .* 0+ ___ctors 0+1000 g \.text 0+ 0x04 foo -0+1100 g \*ABS\* 0+ _edata -0+1100 g \*ABS\* 0+ _end +0+1100 g \.data 0+ _edata +0+1100 g \.data 0+ _end 0+1010 g \.text 0+ 0x04 start 0+100c g \.text 0+ 0x04 bar 0+80000 g \.stack 0+ _stack diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/abi64.xd b/binutils-2.22/ld/testsuite/ld-sh/sh64/abi64.xd index 9af5b47..7018739 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/abi64.xd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/abi64.xd @@ -24,20 +24,23 @@ SYMBOL TABLE: 0000000000001000 l d \.text 0000000000000000 (|\.text) 0000000000001130 l d \.data 0000000000000000 (|\.data) 0000000000080000 l d \.stack 0000000000000000 (|\.stack) +0000000000000000 l df \*ABS\* 0000000000000000 .* 000000000000113c l \.data 0000000000000000 foobar +0000000000000000 l df \*ABS\* 0000000000000000 .* 0000000000001144 l \.data 0000000000000000 foobar2 00000000000010a8 l \.text 0000000000000000 0x04 plugh +0000000000000000 l df \*ABS\* 0000000000000000 .* 0000000000001140 g \.data 0000000000000000 foobar 0000000000001130 g \.data 0000000000000000 baz 0000000000001130 g .* 0000000000000000 ___dtors 00000000000010a4 g \.text 0000000000000000 0x04 xyzzy -0000000000001148 g \*ABS\* 0000000000000000 __bss_start +0000000000001148 g \.data 0000000000000000 __bss_start 0000000000001130 g .* 0000000000000000 ___ctors_end 0000000000001138 g \.data 0000000000000000 baz2 0000000000001130 g .* 0000000000000000 ___ctors 0000000000001000 g \.text 0000000000000000 0x04 foo -0000000000001148 g \*ABS\* 0000000000000000 _edata -0000000000001148 g \*ABS\* 0000000000000000 _end +0000000000001148 g \.data 0000000000000000 _edata +0000000000001148 g \.data 0000000000000000 _end 0000000000001018 g \.text 0000000000000000 0x04 start 0000000000001014 g \.text 0000000000000000 0x04 bar 0000000000080000 g \.stack 0000000000000000 _stack diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/cmpct1.xd b/binutils-2.22/ld/testsuite/ld-sh/sh64/cmpct1.xd index 41f898e..b32f820 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/cmpct1.xd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/cmpct1.xd @@ -23,14 +23,16 @@ SYMBOL TABLE: 0+1000 l d \.text 0+ (|\.text) 0+1008 l d \.rodata 0+ (|\.rodata) 0+80000 l d \.stack 0+ (|\.stack) +0+ l df \*ABS\* 0+ .* 0+1004 l \.text 0+ next 0+100c l \.rodata 0+ here +0+ l df \*ABS\* 0+ .* 0+1098 g .* 0+ ___dtors -0+1098 g \*ABS\* 0+ __bss_start +0+1098 g \.rodata 0+ __bss_start 0+1098 g .* 0+ ___ctors_end 0+1098 g .* 0+ ___ctors -0+1098 g \*ABS\* 0+ _edata -0+1098 g \*ABS\* 0+ _end +0+1098 g \.rodata 0+ _edata +0+1098 g \.rodata 0+ _end 0+1000 g \.text 0+ start 0+80000 g \.stack 0+ _stack 0+1098 g .* 0+ ___dtors_end diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange1.rd b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange1.rd index 2d2e69c..10cd3b3 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange1.rd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange1.rd @@ -22,14 +22,16 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2 .*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3 .*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4 +.* FILE +LOCAL +DEFAULT +ABS .* .*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 +.* FILE +LOCAL +DEFAULT +ABS .* .*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors -.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start .*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end .*: 00001004 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 .*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors -.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +2 _edata +.*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +2 _end .*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start .*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack .*: 000010a0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange2.rd b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange2.rd index 3ee4dbb..131712c 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange2.rd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange2.rd @@ -22,18 +22,21 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2 .*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3 .*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4 +.* FILE +LOCAL +DEFAULT +ABS .* .*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 +.* FILE +LOCAL +DEFAULT +ABS .* .*: 0000101c +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec1 .*: 0000102c +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec2 .*: 00001040 +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 .*: 00001048 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4 +.* FILE +LOCAL +DEFAULT +ABS .* .*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors -.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start .*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end .*: 00001004 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 .*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors -.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +2 _edata +.*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +2 _end .*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start .*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack .*: 000010e0 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd index 21f5ec2..c00366a 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd @@ -39,17 +39,21 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2 .*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3 .*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end .*: 000010a4 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 _edata +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 _end .*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start .*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-media.rd b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-media.rd index 18ce30e..52d4d00 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-media.rd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-media.rd @@ -39,17 +39,21 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2 .*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3 .*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end .*: 000010a4 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 _edata +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 _end .*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start .*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3.rd b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3.rd index 1a0b7a5..817f8f6 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3.rd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/crange3.rd @@ -20,17 +20,21 @@ Symbol table '\.symtab' contains [0-9]+ entries: .*: 00001004 +0 +SECTION +LOCAL +DEFAULT +2 .*: 00080000 +0 +SECTION +LOCAL +DEFAULT +3 .*: 00000000 +0 +SECTION +LOCAL +DEFAULT +4 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 00001004 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010a4 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010bc +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 +.*: 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* .*: 000010c4 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +2 diversion .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 __bss_start .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors_end .*: 000010a4 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___ctors -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata -.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 _edata +.*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +2 _end .*: 00001000 +0 +NOTYPE +GLOBAL +DEFAULT +\[<other>: 4\] +1 start .*: 00080000 +0 +NOTYPE +GLOBAL +DEFAULT +3 _stack .*: 00001160 +0 +NOTYPE +GLOBAL +DEFAULT +.* ___dtors_end diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel1.rd b/binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel1.rd index 0100b10..8dd642e 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel1.rd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel1.rd @@ -11,8 +11,8 @@ Section Headers: +\[ 6\] \.cranges +PROGBITS +00000000 000050 00001e 00 +W +0 +0 +1 +\[ 7\] \.rela\.cranges +RELA +00000000 000274 000024 0c +9 +6 +4 +\[ 8\] \.shstrtab +STRTAB +00000000 00006e 00004d 00 +0 +0 +1 - +\[ 9\] \.symtab +SYMTAB +00000000 000298 000090 10 +10 +8 +4 - +\[10\] \.strtab +STRTAB +00000000 000328 000013 00 +0 +0 +1 + +\[ 9\] \.symtab +SYMTAB .* + +\[10\] \.strtab +STRTAB .* Key to Flags: #... @@ -22,17 +22,19 @@ Relocation section '\.rela\.cranges' at offset 0x[0-9a-f]+ contains 3 entries: 0*0000000a +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0 0*00000014 +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0 -Symbol table '\.symtab' contains 9 entries: +Symbol table '\.symtab' contains [0-9]+ 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 +SECTION +LOCAL +DEFAULT +3 - +4: 00000000 +0 +SECTION +LOCAL +DEFAULT +4 - +5: 00000000 +0 +SECTION +LOCAL +DEFAULT +5 - +6: 00000000 +0 +SECTION +LOCAL +DEFAULT +6 - +7: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 - +8: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 +.* 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +1 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +2 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +3 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +4 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +5 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +6 +.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 00000000 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 +.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 Hex dump of section '\.text\.mixed': 0x00000000 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .* diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel2.rd b/binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel2.rd index 4f8a9cd..5b3227b 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel2.rd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel2.rd @@ -11,8 +11,8 @@ Section Headers: +\[ 6\] \.cranges +PROGBITS +00000000 000094 000046 00 +W +0 +0 +1 +\[ 7\] \.rela\.cranges +RELA +00000000 0002e0 000054 0c +9 +6 +4 +\[ 8\] \.shstrtab +STRTAB +00000000 0000da 00004d 00 +0 +0 +1 - +\[ 9\] \.symtab +SYMTAB +00000000 000334 0000d0 10 +10 +12 +4 - +\[10\] \.strtab +STRTAB +00000000 000404 000027 00 +0 +0 +1 + +\[ 9\] \.symtab +SYMTAB +00000000 [0-9a-f]+ [0-9a-f]+ 10 +10 +[0-9]+ +4 + +\[10\] \.strtab +STRTAB +00000000 [0-9a-f]+ [0-9a-f]+ 00 +0 +0 +1 Key to Flags: #... @@ -26,21 +26,26 @@ Relocation section '\.rela\.cranges' at offset 0x[0-9a-f]+ contains 7 entries: 0*00000032 +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0 0*0000003c +0+0201 R_SH_DIR32 +00000000 +\.text\.mixed +\+ 0 -Symbol table '\.symtab' contains 13 entries: +Symbol table '\.symtab' contains [0-9]+ 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 +SECTION +LOCAL +DEFAULT +3 - +4: 00000000 +0 +SECTION +LOCAL +DEFAULT +4 - +5: 00000000 +0 +SECTION +LOCAL +DEFAULT +5 - +6: 00000000 +0 +SECTION +LOCAL +DEFAULT +6 - +7: 00000000 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 - +8: 00000018 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec1 - +9: 00000028 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec2 - +10: 0000003c +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 - +11: 00000044 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4 - +12: 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 +.* 00000000 +0 +NOTYPE +LOCAL +DEFAULT +UND +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +1 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +2 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +3 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +4 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +5 +.* 00000000 +0 +SECTION +LOCAL +DEFAULT +6 +.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 00000000 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 start2 +.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 00000018 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec1 +.* 00000028 +0 +NOTYPE +LOCAL +DEFAULT +\[<other>: 4\] +2 sec2 +.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 0000003c +0 +NOTYPE +LOCAL +DEFAULT +2 sec3 +.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 00000044 +0 +NOTYPE +LOCAL +DEFAULT +2 sec4 +.* 00000000 +0 +FILE +LOCAL +DEFAULT +ABS .* +.* 00000000 +0 +NOTYPE +GLOBAL +DEFAULT +2 diversion2 Hex dump of section '\.text\.mixed': 0x00000000 6ff0fff0 6ff0fff0 6ff0fff0 0000002a .* diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/mix1.xd b/binutils-2.22/ld/testsuite/ld-sh/sh64/mix1.xd index de72ce0..5011676 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/mix1.xd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/mix1.xd @@ -27,16 +27,18 @@ SYMBOL TABLE: 0+10c8 l d \.data 0+ (|\.data) 0+80000 l d \.stack 0+ (|\.stack) 0+ l d \.cranges 0+ (|\.cranges) +0+ l df \*ABS\* 0+ .* 0+1008 l \.text 0+ forw 0+1004 l \.text 0+ start2 0+1030 l \.text 0+ 0x04 mediacode2 0+1018 l \.text 0+ 0x04 mediacode +0+ l df \*ABS\* 0+ .* 0+10c8 g .* 0+ ___dtors -0+10d8 g \*ABS\* 0+ __bss_start +0+10d8 g \.data 0+ __bss_start 0+10c8 g .* 0+ ___ctors_end 0+10c8 g .* 0+ ___ctors -0+10d8 g \*ABS\* 0+ _edata -0+10d8 g \*ABS\* 0+ _end +0+10d8 g \.data 0+ _edata +0+10d8 g \.data 0+ _end 0+1000 g \.text 0+ start 0+80000 g \.stack 0+ _stack 0+10c8 g .* 0+ ___dtors_end diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/mix2.xd b/binutils-2.22/ld/testsuite/ld-sh/sh64/mix2.xd index 5c72763..ddd0632 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/mix2.xd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/mix2.xd @@ -31,7 +31,9 @@ SYMBOL TABLE: 0+10c8 l d \.data 0+ (|\.data) 0+80000 l d \.stack 0+ (|\.stack) 0+ l d \.cranges 0+ (|\.cranges) +0+ l df \*ABS\* 0+ .* 0+1020 l \.text 0+ locallabel +0+ l df \*ABS\* 0+ .* 0+1040 g \.rodata 0+ compactlabel4 0+101c g \.text 0+ 0x04 medialabel2 0+1038 g \.rodata 0+ medialabel3 @@ -41,12 +43,12 @@ SYMBOL TABLE: 0+1010 g \.text 0+ 0x04 medialabel1 0+10c8 g .* 0+ ___dtors 0+10cc g \.data 0+ medialabel4 -0+10d8 g \*ABS\* 0+ __bss_start +0+10d8 g \.data 0+ __bss_start 0+10c8 g .* 0+ ___ctors_end 0+10d4 g \.data 0+ compactlabel5 0+10c8 g .* 0+ ___ctors -0+10d8 g \*ABS\* 0+ _edata -0+10d8 g \*ABS\* 0+ _end +0+10d8 g \.data 0+ _edata +0+10d8 g \.data 0+ _end 0+1000 g \.text 0+ 0x04 start 0+80000 g \.stack 0+ _stack 0+10c8 g .* 0+ ___dtors_end diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/shdl32.xd b/binutils-2.22/ld/testsuite/ld-sh/sh64/shdl32.xd index 56773e3..8606b6f 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/shdl32.xd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/shdl32.xd @@ -27,7 +27,9 @@ SYMBOL TABLE: 0+1204 l d \.rodata 0+ (|\.rodata) 0+13c8 l d \.data 0+ (|\.data) 0+80000 l d \.stack 0+ (|\.stack) +0+ l df \*ABS\* 0+ .* 0+1150 l \.text 0+ 0x04 part2 +0+ l df \*ABS\* 0+ .* 0+13f8 g \.data 0+ dfoo_otherboth2 0+1178 g \.text 0+ 0x04 bar_otherwithout 0+11b4 g \.text 0+ 0x04 bazwithout @@ -82,7 +84,7 @@ SYMBOL TABLE: 0+1164 g \.text 0+ 0x04 barboth2 0+1168 g \.text 0+ 0x04 barwithout 0+14d8 g \.data 0+ dbar_mix2 -0+1560 g \*ABS\* 0+ __bss_start +0+1560 g \.data 0+ __bss_start 0+1410 g \.data 0+ dfoo_mixboth 0+14c4 g \.data 0+ dbar_other 0+1180 g \.text 0+ 0x04 bar_mix2 @@ -102,8 +104,8 @@ SYMBOL TABLE: 0+14c0 g \.data 0+ dbarwithout 0+1004 g \.text 0+ 0x04 foo 0+102c g \.text 0+ 0x04 foo_other -0+1560 g \*ABS\* 0+ _edata -0+1560 g \*ABS\* 0+ _end +0+1560 g \.data 0+ _edata +0+1560 g \.data 0+ _end 0+1430 g \.data 0+ dfoo_mixwithout2 0+1058 g \.text 0+ 0x04 foo_mixboth2 0+11d4 g \.text 0+ 0x04 baz_mix2 diff --git a/binutils-2.22/ld/testsuite/ld-sh/sh64/shdl64.xd b/binutils-2.22/ld/testsuite/ld-sh/sh64/shdl64.xd index 142ca96..47f35a7 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sh64/shdl64.xd +++ b/binutils-2.22/ld/testsuite/ld-sh/sh64/shdl64.xd @@ -27,7 +27,9 @@ SYMBOL TABLE: 0+1204 l d \.rodata 0+ (|\.rodata) 0+13c8 l d \.data 0+ (|\.data) 0+80000 l d \.stack 0+ (|\.stack) +0+ l df \*ABS\* 0+ .* 0+1150 l \.text 0+ 0x04 part2 +0+ l df \*ABS\* 0+ .* 0+13f8 g \.data 0+ dfoo_otherboth2 0+1178 g \.text 0+ 0x04 bar_otherwithout 0+11b4 g \.text 0+ 0x04 bazwithout @@ -82,7 +84,7 @@ SYMBOL TABLE: 0+1164 g \.text 0+ 0x04 barboth2 0+1168 g \.text 0+ 0x04 barwithout 0+14d8 g \.data 0+ dbar_mix2 -0+1560 g \*ABS\* 0+ __bss_start +0+1560 g \.data 0+ __bss_start 0+1410 g \.data 0+ dfoo_mixboth 0+14c4 g \.data 0+ dbar_other 0+1180 g \.text 0+ 0x04 bar_mix2 @@ -102,8 +104,8 @@ SYMBOL TABLE: 0+14c0 g \.data 0+ dbarwithout 0+1004 g \.text 0+ 0x04 foo 0+102c g \.text 0+ 0x04 foo_other -0+1560 g \*ABS\* 0+ _edata -0+1560 g \*ABS\* 0+ _end +0+1560 g \.data 0+ _edata +0+1560 g \.data 0+ _end 0+1430 g \.data 0+ dfoo_mixwithout2 0+1058 g \.text 0+ 0x04 foo_mixboth2 0+11d4 g \.text 0+ 0x04 baz_mix2 diff --git a/binutils-2.22/ld/testsuite/ld-sh/shared-1.d b/binutils-2.22/ld/testsuite/ld-sh/shared-1.d index 940195d..28034e9 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/shared-1.d +++ b/binutils-2.22/ld/testsuite/ld-sh/shared-1.d @@ -13,7 +13,7 @@ Relocation section '\.rela\.text' at offset 0x[0-9a-f]+ contains 1 entries: .* -0000019c +[0-9a-f]+ R_SH_RELATIVE +000001a0 +0000019c +[0-9a-f]+ R_SH_RELATIVE +1a0 Hex dump of section '\.rela\.text': 0x00000188 9c010000 a5000000 a0010000 .* diff --git a/binutils-2.22/ld/testsuite/ld-sh/sub2l-1.d b/binutils-2.22/ld/testsuite/ld-sh/sub2l-1.d index 40d4e08..735e4b9 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/sub2l-1.d +++ b/binutils-2.22/ld/testsuite/ld-sh/sub2l-1.d @@ -11,6 +11,7 @@ SYMBOL TABLE: 0+1000 l .text 00000000 f 0+1002 l .text 00000000 f2 0+1028 l .text 00000000 L +#... 0+1020 g .text 00000000 ff #... diff --git a/binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d b/binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d index 4005299..d8e355f 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d +++ b/binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d @@ -50,13 +50,13 @@ Program Headers: Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries: Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend -[0-9a-f ]+R_SH_TLS_DTPMOD32 +0+00 -[0-9a-f ]+R_SH_TLS_TPOFF32 +0+0c -[0-9a-f ]+R_SH_TLS_DTPMOD32 +0+00 -[0-9a-f ]+R_SH_TLS_DTPMOD32 +0+00 -[0-9a-f ]+R_SH_TLS_TPOFF32 +0+1c -[0-9a-f ]+R_SH_TLS_DTPMOD32 +0+00 -[0-9a-f ]+R_SH_TLS_TPOFF32 +0+14 +[0-9a-f ]+R_SH_TLS_DTPMOD32 +0 +[0-9a-f ]+R_SH_TLS_TPOFF32 +c +[0-9a-f ]+R_SH_TLS_DTPMOD32 +0 +[0-9a-f ]+R_SH_TLS_DTPMOD32 +0 +[0-9a-f ]+R_SH_TLS_TPOFF32 +1c +[0-9a-f ]+R_SH_TLS_DTPMOD32 +0 +[0-9a-f ]+R_SH_TLS_TPOFF32 +14 [0-9a-f ]+R_SH_TLS_DTPMOD32 +0+ +sg1 \+ 0 [0-9a-f ]+R_SH_TLS_DTPOFF32 +0+ +sg1 \+ 0 [0-9a-f ]+R_SH_TLS_TPOFF32 +0+04 +sg2 \+ 0 diff --git a/binutils-2.22/ld/testsuite/ld-sh/weak1.d b/binutils-2.22/ld/testsuite/ld-sh/weak1.d index d248bb9..d450a2b 100644 --- a/binutils-2.22/ld/testsuite/ld-sh/weak1.d +++ b/binutils-2.22/ld/testsuite/ld-sh/weak1.d @@ -10,6 +10,7 @@ SYMBOL TABLE: #... 0+10a0 l .data 0+ d0 0+1000 l .text 0+ f +#... 0+10a4 w .data 0+ w0 #... diff --git a/binutils-2.22/ld/testsuite/ld-shared/shared.exp b/binutils-2.22/ld/testsuite/ld-shared/shared.exp index 1d25d51..7ec304b 100644 --- a/binutils-2.22/ld/testsuite/ld-shared/shared.exp +++ b/binutils-2.22/ld/testsuite/ld-shared/shared.exp @@ -1,6 +1,6 @@ # Expect script for ld-shared tests # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -# 2004, 2005, 2007, 2008, 2009, 2010 +# 2004, 2005, 2007, 2008, 2009, 2010, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -39,6 +39,7 @@ if { ![istarget hppa*64*-*-hpux*] \ && ![istarget i?86-*-elf*] \ && ![istarget i?86-*-linux*] \ && ![istarget i?86-*-gnu*] \ + && ![istarget *-*-nacl*] \ && ![istarget ia64-*-elf*] \ && ![istarget ia64-*-linux*] \ && ![istarget m68k-*-linux*] \ @@ -101,13 +102,13 @@ if { [istarget rs6000*-*-aix*] || [istarget powerpc*-*-aix*] } { if [istarget arm*-*-linux*] { # On ARM section anchors can change the symbol pre-emptability for - # non-PIC shared libraries, causing these tests to fail. Turn section + # non-PIC shared libraries, causing these tests to fail. Turn section # anchors off. set SHCFLAG "-fno-section-anchors" - # On targets that have MOVW the compiler will emit relocations which + # On targets that have MOVW the compiler will emit relocations which # the linker doesn't support when compiling -shared without -fpic. The - # test to find out whether we want to XFAIL the non-PIC tests requires + # test to find out whether we want to XFAIL the non-PIC tests requires # a compile - so we pre-calculate it here. We also note that this can # only affect arm*-*-*eabi targets as the old ABI doesn't support v7. if [istarget arm*-*-*eabi] { @@ -181,7 +182,9 @@ proc shared_test { progname testname main sh1 sh2 dat args } { pass "$testname" } -if [istarget mips*-*-*] { +# Old version of GCC for MIPS default to enabling -fpic +# and get confused if it is used on the command line. +if { [istarget mips*-*-*] && ! [at_least_gcc_version 4 3] } then { set picflag "" } else { # Unfortunately, the gcc argument is -fpic and the cc argument is @@ -237,6 +240,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] if { [is_elf64 $tmpdir/mainnp.o] } { setup_xfail "x86_64-*-linux*" } + setup_xfail "x86_64-*-linux-gnux32" setup_xfail "s390x-*-linux*" if [ string match $shared_needs_pic "yes" ] { setup_xfail "arm*-*-linux*" @@ -262,6 +266,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] if { [is_elf64 $tmpdir/mainnp.o] } { setup_xfail "x86_64-*-linux*" } + setup_xfail "x86_64-*-linux-gnux32" setup_xfail "s390x-*-linux*" if [ string match $shared_needs_pic "yes" ] { setup_xfail "arm*-*-linux*" @@ -273,7 +278,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] # Now compile the code using -fpic. - if { ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o] + if { ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o] || ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/sh2.c $tmpdir/sh2p.o] } { unresolved "shared" } else { @@ -286,7 +291,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o] shared_test shp "shared" mainnp.o sh1p.o sh2p.o shared ld_compile "$CC $CFLAGS -DSYMBOLIC_TEST -DXCOFF_TEST $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o ld_compile "$CC $CFLAGS -DSYMBOLIC_TEST -DXCOFF_TEST $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o - shared_test shp "shared -Bsymbolic" mainnp.o sh1p.o sh2p.o symbolic "-Bsymbolic" + shared_test shp "shared -Bsymbolic" mainnp.o sh1p.o sh2p.o symbolic "-Bsymbolic" ld_compile "$CC $CFLAGS $SHCFLAG" $srcdir/$subdir/main.c $tmpdir/mainnp.o ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/sh1.c $tmpdir/sh1p.o } } @@ -317,6 +322,7 @@ if ![ld_compile "$CC $CFLAGS $SHCFLAG $picflag" $srcdir/$subdir/main.c $tmpdir/m if { [is_elf64 $tmpdir/mainp.o] } { setup_xfail "x86_64-*-linux*" } + setup_xfail "x86_64-*-linux-gnux32" setup_xfail "s390x-*-linux*" if [ string match $shared_needs_pic "yes" ] { setup_xfail "arm*-*-linux*" diff --git a/binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd b/binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd index 1cecad8..acbbdeb 100644 --- a/binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd +++ b/binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd @@ -42,10 +42,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +LOCAL +DEFAULT +UND * .* SECTION +LOCAL +DEFAULT +5 * .* SECTION +LOCAL +DEFAULT +7 * -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* FUNC +GLOBAL +DEFAULT +5 foo -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +8 _edata +.* NOTYPE +GLOBAL +DEFAULT +8 _end .* NOTYPE +GLOBAL +DEFAULT +8 sym Symbol table '\.symtab' contains [0-9]+ entries: @@ -59,13 +59,15 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +6 * .* SECTION +LOCAL +DEFAULT +7 * .* SECTION +LOCAL +DEFAULT +8 * +.* FILE +LOCAL +DEFAULT +ABS .* .* NOTYPE +LOCAL +DEFAULT +8 local_sym +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* FUNC +GLOBAL +DEFAULT +5 foo -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +8 _edata +.* NOTYPE +GLOBAL +DEFAULT +8 _end .* NOTYPE +GLOBAL +DEFAULT +8 sym diff --git a/binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd b/binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd index 509c8f8..08a9514 100644 --- a/binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd +++ b/binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd @@ -42,10 +42,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +LOCAL +DEFAULT +UND * .* SECTION +LOCAL +DEFAULT +5 * .* SECTION +LOCAL +DEFAULT +7 * -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* FUNC +GLOBAL +DEFAULT +5 foo -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +8 _edata +.* NOTYPE +GLOBAL +DEFAULT +8 _end .* NOTYPE +GLOBAL +DEFAULT +8 sym Symbol table '\.symtab' contains [0-9]+ entries: @@ -59,13 +59,15 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +6 * .* SECTION +LOCAL +DEFAULT +7 * .* SECTION +LOCAL +DEFAULT +8 * +.* FILE +LOCAL +DEFAULT +ABS .* .* NOTYPE +LOCAL +DEFAULT +8 local_sym +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* FUNC +GLOBAL +DEFAULT +5 foo -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +8 _edata +.* NOTYPE +GLOBAL +DEFAULT +8 _end .* NOTYPE +GLOBAL +DEFAULT +8 sym diff --git a/binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd b/binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd index 69a0317..7212732 100644 --- a/binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd +++ b/binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd @@ -52,11 +52,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +10 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -71,6 +71,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +8 * .* SECTION +LOCAL +DEFAULT +9 * .* SECTION +LOCAL +DEFAULT +10 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +7 sl1 .* TLS +LOCAL +DEFAULT +7 sl2 .* TLS +LOCAL +DEFAULT +7 sl3 @@ -79,6 +80,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 sl6 .* TLS +LOCAL +DEFAULT +7 sl7 .* TLS +LOCAL +DEFAULT +7 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 bl1 .* TLS +LOCAL +DEFAULT +8 bl2 .* TLS +LOCAL +DEFAULT +8 bl3 @@ -87,6 +89,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 bl6 .* TLS +LOCAL +DEFAULT +8 bl7 .* TLS +LOCAL +DEFAULT +8 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +9 _DYNAMIC .* OBJECT +LOCAL +DEFAULT +10 _PROCEDURE_LINKAGE_TABLE_ .* OBJECT +LOCAL +DEFAULT +10 _GLOBAL_OFFSET_TABLE_ @@ -109,7 +112,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +7 sh4 .* TLS +GLOBAL +DEFAULT +8 bg7 .* TLS +GLOBAL +HIDDEN +7 sh5 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* FUNC +GLOBAL +DEFAULT +6 fn2 .* TLS +GLOBAL +DEFAULT +7 sg2 @@ -117,8 +120,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +7 sh1 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +10 _end .* TLS +GLOBAL +HIDDEN +7 sh2 .* TLS +GLOBAL +HIDDEN +7 sh6 .* TLS +GLOBAL +DEFAULT +8 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd b/binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd index 483a9cf..5480dab 100644 --- a/binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd +++ b/binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd @@ -52,11 +52,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +10 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size Type +Bind +Vis +Ndx Name @@ -71,6 +71,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +8 * .* SECTION +LOCAL +DEFAULT +9 * .* SECTION +LOCAL +DEFAULT +10 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +7 sl1 .* TLS +LOCAL +DEFAULT +7 sl2 .* TLS +LOCAL +DEFAULT +7 sl3 @@ -79,6 +80,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 sl6 .* TLS +LOCAL +DEFAULT +7 sl7 .* TLS +LOCAL +DEFAULT +7 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 bl1 .* TLS +LOCAL +DEFAULT +8 bl2 .* TLS +LOCAL +DEFAULT +8 bl3 @@ -87,6 +89,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 bl6 .* TLS +LOCAL +DEFAULT +8 bl7 .* TLS +LOCAL +DEFAULT +8 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +9 _DYNAMIC .* OBJECT +LOCAL +DEFAULT +10 _PROCEDURE_LINKAGE_TABLE_ .* OBJECT +LOCAL +DEFAULT +10 _GLOBAL_OFFSET_TABLE_ @@ -109,7 +112,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +7 sh4 .* TLS +GLOBAL +DEFAULT +8 bg7 .* TLS +GLOBAL +HIDDEN +7 sh5 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +10 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* FUNC +GLOBAL +DEFAULT +6 fn2 .* TLS +GLOBAL +DEFAULT +7 sg2 @@ -117,8 +120,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +7 sh1 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +10 _edata +.* NOTYPE +GLOBAL +DEFAULT +10 _end .* TLS +GLOBAL +HIDDEN +7 sh2 .* TLS +GLOBAL +HIDDEN +7 sh6 .* TLS +GLOBAL +DEFAULT +8 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd b/binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd index a35652b..86fba1d 100644 --- a/binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd +++ b/binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd @@ -38,14 +38,14 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 12 entries: Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend [0-9a-f ]+R_SPARC_HI22 +0+12080 +\.got \+ 12080 [0-9a-f ]+R_SPARC_LO10 +0+12080 +\.got \+ 12080 -[0-9a-f ]+R_SPARC_TLS_LE_HIX22 +0+9 -[0-9a-f ]+R_SPARC_TLS_LE_LOX10 +0+9 -[0-9a-f ]+R_SPARC_TLS_LE_HIX22 +0+1c -[0-9a-f ]+R_SPARC_TLS_LE_LOX10 +0+1c -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+ -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+4 -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+14 -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+18 +[0-9a-f ]+R_SPARC_TLS_LE_HIX22 +9 +[0-9a-f ]+R_SPARC_TLS_LE_LOX10 +9 +[0-9a-f ]+R_SPARC_TLS_LE_HIX22 +1c +[0-9a-f ]+R_SPARC_TLS_LE_LOX10 +1c +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +4 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +14 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +18 [0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+ +sg1 \+ 0 [0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+ +sg2 \+ 0 @@ -57,10 +57,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +8 * .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* TLS +GLOBAL +DEFAULT +UND sg2 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +8 _edata +.* NOTYPE +GLOBAL +DEFAULT +8 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -73,21 +73,23 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +6 * .* SECTION +LOCAL +DEFAULT +7 * .* SECTION +LOCAL +DEFAULT +8 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +6 bl1 .* TLS +LOCAL +DEFAULT +6 bl2 .* TLS +LOCAL +DEFAULT +6 bl3 .* TLS +LOCAL +DEFAULT +6 bl4 .* TLS +LOCAL +DEFAULT +6 bl5 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +6 sh3 -.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh4 .* TLS +LOCAL +DEFAULT +6 sh1 -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh2 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* TLS +GLOBAL +DEFAULT +UND sg2 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +8 _edata +.* NOTYPE +GLOBAL +DEFAULT +8 _end diff --git a/binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd b/binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd index 3ccea67..72555c1 100644 --- a/binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd +++ b/binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd @@ -40,14 +40,14 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: [0-9a-f ]+R_SPARC_LM22 +0+102100 +\.got \+ 102100 [0-9a-f ]+R_SPARC_HM10 +0+102100 +\.got \+ 102100 [0-9a-f ]+R_SPARC_LO10 +0+102100 +\.got \+ 102100 -[0-9a-f ]+R_SPARC_TLS_LE_HIX22 +0+9 -[0-9a-f ]+R_SPARC_TLS_LE_LOX10 +0+9 -[0-9a-f ]+R_SPARC_TLS_LE_HIX22 +0+1c -[0-9a-f ]+R_SPARC_TLS_LE_LOX10 +0+1c -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+ -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+4 -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+14 -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+18 +[0-9a-f ]+R_SPARC_TLS_LE_HIX22 +9 +[0-9a-f ]+R_SPARC_TLS_LE_LOX10 +9 +[0-9a-f ]+R_SPARC_TLS_LE_HIX22 +1c +[0-9a-f ]+R_SPARC_TLS_LE_LOX10 +1c +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +4 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +14 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +18 [0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+ +sg1 \+ 0 [0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+ +sg2 \+ 0 @@ -59,10 +59,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +8 * .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* TLS +GLOBAL +DEFAULT +UND sg2 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +8 _edata +.* NOTYPE +GLOBAL +DEFAULT +8 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -75,21 +75,23 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +6 * .* SECTION +LOCAL +DEFAULT +7 * .* SECTION +LOCAL +DEFAULT +8 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +6 bl1 .* TLS +LOCAL +DEFAULT +6 bl2 .* TLS +LOCAL +DEFAULT +6 bl3 .* TLS +LOCAL +DEFAULT +6 bl4 .* TLS +LOCAL +DEFAULT +6 bl5 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +6 sh3 -.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh4 .* TLS +LOCAL +DEFAULT +6 sh1 -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +6 sh2 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* FUNC +GLOBAL +DEFAULT +5 fn3 .* TLS +GLOBAL +DEFAULT +UND sg1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +8 __bss_start .* TLS +GLOBAL +DEFAULT +UND sg2 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +8 _edata +.* NOTYPE +GLOBAL +DEFAULT +8 _end diff --git a/binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd b/binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd index 6ab67e9..eab1abe 100644 --- a/binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd +++ b/binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd @@ -40,16 +40,16 @@ Program Headers: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend -[0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0+ -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+24 -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+30 -[0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0+ -[0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0+ -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+64 -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+50 -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+70 -[0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0+ -[0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+44 +[0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +24 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +30 +[0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0 +[0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +64 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +50 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +70 +[0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0 +[0-9a-f ]+R_SPARC_TLS_TPOFF32 +44 [0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+10 +sg5 \+ 0 [0-9a-f ]+R_SPARC_TLS_DTPMOD32 +0+ +sg1 \+ 0 [0-9a-f ]+R_SPARC_TLS_DTPOFF32 +0+ +sg1 \+ 0 @@ -72,12 +72,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +7 sg1 .* FUNC +GLOBAL +DEFAULT +6 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +7 sg2 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -93,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 * .* SECTION +LOCAL +DEFAULT +10 * .* SECTION +LOCAL +DEFAULT +11 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +7 sl1 .* TLS +LOCAL +DEFAULT +7 sl2 .* TLS +LOCAL +DEFAULT +7 sl3 @@ -102,11 +103,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 sl7 .* TLS +LOCAL +DEFAULT +7 sl8 .* TLS +LOCAL +DEFAULT +8 sH1 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +7 sh3 .* TLS +LOCAL +DEFAULT +8 sH2 .* TLS +LOCAL +DEFAULT +8 sH7 -.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* TLS +LOCAL +DEFAULT +7 sh7 .* TLS +LOCAL +DEFAULT +7 sh8 .* TLS +LOCAL +DEFAULT +8 sH4 @@ -117,9 +116,12 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sH6 .* TLS +LOCAL +DEFAULT +8 sH8 .* TLS +LOCAL +DEFAULT +7 sh1 -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +7 sh2 .* TLS +LOCAL +DEFAULT +7 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +7 sg8 .* TLS +GLOBAL +DEFAULT +7 sg3 .* TLS +GLOBAL +DEFAULT +7 sg4 @@ -127,9 +129,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +7 sg1 .* FUNC +GLOBAL +DEFAULT +6 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +7 sg2 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end diff --git a/binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd b/binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd index 35a7c79..ca26b2d 100644 --- a/binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd +++ b/binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd @@ -40,16 +40,16 @@ Program Headers: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -[0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0+ -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+24 -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+30 -[0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0+ -[0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0+ -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+64 -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+50 -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+70 -[0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0+ -[0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+44 +[0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +24 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +30 +[0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0 +[0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +64 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +50 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +70 +[0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0 +[0-9a-f ]+R_SPARC_TLS_TPOFF64 +44 [0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+10 +sg5 \+ 0 [0-9a-f ]+R_SPARC_TLS_DTPMOD64 +0+ +sg1 \+ 0 [0-9a-f ]+R_SPARC_TLS_DTPOFF64 +0+ +sg1 \+ 0 @@ -72,12 +72,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +7 sg1 .* FUNC +GLOBAL +DEFAULT +6 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +7 sg2 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -93,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +9 * .* SECTION +LOCAL +DEFAULT +10 * .* SECTION +LOCAL +DEFAULT +11 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +7 sl1 .* TLS +LOCAL +DEFAULT +7 sl2 .* TLS +LOCAL +DEFAULT +7 sl3 @@ -102,11 +103,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +7 sl7 .* TLS +LOCAL +DEFAULT +7 sl8 .* TLS +LOCAL +DEFAULT +8 sH1 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +7 sh3 .* TLS +LOCAL +DEFAULT +8 sH2 .* TLS +LOCAL +DEFAULT +8 sH7 -.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ .* TLS +LOCAL +DEFAULT +7 sh7 .* TLS +LOCAL +DEFAULT +7 sh8 .* TLS +LOCAL +DEFAULT +8 sH4 @@ -117,9 +116,12 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sH6 .* TLS +LOCAL +DEFAULT +8 sH8 .* TLS +LOCAL +DEFAULT +7 sh1 -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +7 sh2 .* TLS +LOCAL +DEFAULT +7 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +ABS _PROCEDURE_LINKAGE_TABLE_ +.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +7 sg8 .* TLS +GLOBAL +DEFAULT +7 sg3 .* TLS +GLOBAL +DEFAULT +7 sg4 @@ -127,9 +129,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +7 sg1 .* FUNC +GLOBAL +DEFAULT +6 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +11 __bss_start .* TLS +GLOBAL +DEFAULT +7 sg2 .* TLS +GLOBAL +DEFAULT +7 sg6 .* TLS +GLOBAL +DEFAULT +7 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +11 _edata +.* NOTYPE +GLOBAL +DEFAULT +11 _end diff --git a/binutils-2.22/ld/testsuite/ld-spu/icache1.d b/binutils-2.22/ld/testsuite/ld-spu/icache1.d index 01b42ba..27dc99e 100644 --- a/binutils-2.22/ld/testsuite/ld-spu/icache1.d +++ b/binutils-2.22/ld/testsuite/ld-spu/icache1.d @@ -23,7 +23,7 @@ Disassembly of section \.text: Disassembly of section \.data: -.* <.data>: +.* <(\.data|_edata-0x10)>: .* 00 04 08 00 .* .* 00 04 0d 04 .* .* 00 04 0c 00 .* @@ -31,7 +31,7 @@ Disassembly of section \.data: Disassembly of section \.bss: -.* <__icache_tag_array>: +.* <(__icache_tag_array|__bss_start)>: \.\.\. .* <__icache_rewrite_to>: diff --git a/binutils-2.22/ld/testsuite/ld-spu/pic.d b/binutils-2.22/ld/testsuite/ld-spu/pic.d index 87edc1d..6279d51 100644 --- a/binutils-2.22/ld/testsuite/ld-spu/pic.d +++ b/binutils-2.22/ld/testsuite/ld-spu/pic.d @@ -28,7 +28,7 @@ Disassembly of section \.text: 24: 18 1f 82 04 a \$4,\$4,\$126 24: SPU_ADD_PIC before\+0x4 28: 18 1f 82 85 a \$5,\$5,\$126 - 28: SPU_ADD_PIC after\+0xfffffffc + 28: SPU_ADD_PIC after-0x4 2c: 18 1f 83 06 a \$6,\$6,\$126 2c: SPU_ADD_PIC _start 30: 18 1f 83 87 a \$7,\$7,\$126 @@ -55,7 +55,7 @@ Disassembly of section \.text: 58: SPU_ADDR18 glob 5c: 18 1f 84 06 a \$6,\$8,\$126 5c: SPU_ADD_PIC glob - 60: 42 00 90 09 ila \$9,120 <__bss_start> + 60: 42 00 90 09 ila \$9,120 .* 60: SPU_ADDR18 _end 64: 18 1f 84 89 a \$9,\$9,\$126 64: SPU_ADD_PIC _end diff --git a/binutils-2.22/ld/testsuite/ld-srec/srec.exp b/binutils-2.22/ld/testsuite/ld-srec/srec.exp index 25dfb06..7f13e9c 100644 --- a/binutils-2.22/ld/testsuite/ld-srec/srec.exp +++ b/binutils-2.22/ld/testsuite/ld-srec/srec.exp @@ -1,6 +1,6 @@ # Test linking directly to S-records. # By Ian Lance Taylor, Cygnus Support. -# Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2009, 2011 +# Copyright 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, 2009, 2011, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -266,8 +266,25 @@ proc run_srec_test { test objs } { set flags "$flags -no-relax" } - if [istarget powerpc64*-*-*] { - set flags "$flags --no-toc-optimize" + # Epiphany needs some help too + if [istarget epiphany*-*-*] { + set flags "$flags --defsym _start=00000060" + setup_xfail "epiphany*-*-*" + } + + if [istarget m681*-*-*] { + set flags "$flags --defsym _start=0xc000" + setup_xfail "m681*-*-*" + } + + if [istarget m68hc1*-*-*] { + set flags "$flags --defsym _start=0xc000" + setup_xfail "m68hc1*-*-*" + } + + if [istarget m9s12x*-*-*] { + set flags "$flags --defsym _start=0xc000" + setup_xfail "m9s12x*-*-*" } if { ![ld_simple_link $ld tmpdir/sr1 "$flags $objs"] \ diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/dsbt-be.ld b/binutils-2.22/ld/testsuite/ld-tic6x/dsbt-be.ld index 2a7795c..40ba14c 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/dsbt-be.ld +++ b/binutils-2.22/ld/testsuite/ld-tic6x/dsbt-be.ld @@ -56,7 +56,7 @@ SECTIONS .rela.plt : { *(.rela.plt) } .plt : { *(.plt) } .text : { *(.text*) } - PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); + . = .; PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); .got : { *(.dsbt) *(.got.plt) *(.igot.plt) *(.got) *(.igot) } .neardata : { *(.neardata .neardata.* .gnu.linkonce.s.*) } .rodata : { *(.rodata .rodata.*) } diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/dsbt.ld b/binutils-2.22/ld/testsuite/ld-tic6x/dsbt.ld index ff162f3..fdde8ba 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/dsbt.ld +++ b/binutils-2.22/ld/testsuite/ld-tic6x/dsbt.ld @@ -56,7 +56,7 @@ SECTIONS .rela.plt : { *(.rela.plt) } .plt : { *(.plt) } .text : { *(.text*) } - PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); + . = .; PROVIDE_HIDDEN (__c6xabi_DSBT_BASE = .); .got : { *(.dsbt) *(.got.plt) *(.igot.plt) *(.got) *(.igot) } .neardata : { *(.neardata .neardata.* .gnu.linkonce.s.*) } .rodata : { *(.rodata .rodata.*) } diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/mvk-reloc-local-r.d b/binutils-2.22/ld/testsuite/ld-tic6x/mvk-reloc-local-r.d index 8657fd0..096b6ae 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/mvk-reloc-local-r.d +++ b/binutils-2.22/ld/testsuite/ld-tic6x/mvk-reloc-local-r.d @@ -23,5 +23,5 @@ Disassembly of section \.text: [ \t]*24:[ \t]+01000028[ \t]+mvk \.S1 0,a2 [ \t]*24: R_C6000_ABS_L16[ \t]+\.data\+0x10 [ \t]*28:[ \t]+01800068[ \t]+mvkh \.S1 0,a3 -[ \t]*28: R_C6000_ABS_H16[ \t]+\.data\+0xffffff14 +[ \t]*28: R_C6000_ABS_H16[ \t]+\.data-0xec [ \t]*\.\.\. diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1.rd index a0232cd..d3bf087 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1.rd @@ -17,8 +17,8 @@ Section Headers: \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 \[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 00246c 0001a0 10 16 19 4 - \[16\] \.strtab STRTAB 00000000 00260c 000059 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 + \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -85,7 +85,7 @@ Symbol table '\.dynsym' contains 13 entries: 3: 10000100 0 SECTION LOCAL DEFAULT 10 4: 10000128 0 SECTION LOCAL DEFAULT 11 5: 10000130 0 SECTION LOCAL DEFAULT 12 - 6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE 7: 00000000 0 NOTYPE WEAK DEFAULT UND b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 @@ -93,31 +93,33 @@ Symbol table '\.dynsym' contains 13 entries: 11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a 12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub -Symbol table '\.symtab' contains 26 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 00008048 0 SECTION LOCAL DEFAULT 2 - 3: 00008118 0 SECTION LOCAL DEFAULT 3 - 4: 00008140 0 SECTION LOCAL DEFAULT 4 - 5: 00008164 0 SECTION LOCAL DEFAULT 5 - 6: 0000817c 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 10000020 0 SECTION LOCAL DEFAULT 8 - 9: 10000080 0 SECTION LOCAL DEFAULT 9 - 10: 10000100 0 SECTION LOCAL DEFAULT 10 - 11: 10000128 0 SECTION LOCAL DEFAULT 11 - 12: 10000130 0 SECTION LOCAL DEFAULT 12 - 13: 00000000 0 SECTION LOCAL DEFAULT 13 - 14: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 - 15: 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 16: 10000130 4 OBJECT LOCAL DEFAULT 12 c - 17: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 18: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 19: 00000000 0 NOTYPE WEAK DEFAULT UND b - 20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 22: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 - 23: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 - 24: 10000128 4 OBJECT GLOBAL DEFAULT 11 a - 25: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 00008048 0 SECTION LOCAL DEFAULT 2 +.* 00008118 0 SECTION LOCAL DEFAULT 3 +.* 00008140 0 SECTION LOCAL DEFAULT 4 +.* 00008164 0 SECTION LOCAL DEFAULT 5 +.* 0000817c 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 10000020 0 SECTION LOCAL DEFAULT 8 +.* 10000080 0 SECTION LOCAL DEFAULT 9 +.* 10000100 0 SECTION LOCAL DEFAULT 10 +.* 10000128 0 SECTION LOCAL DEFAULT 11 +.* 10000130 0 SECTION LOCAL DEFAULT 12 +.* 00000000 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 +.* 10000130 4 OBJECT LOCAL DEFAULT 12 c +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ +.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE +.* 00000000 0 NOTYPE WEAK DEFAULT UND b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 +.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 +.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a +.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1b.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1b.rd index a0232cd..d3bf087 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1b.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1b.rd @@ -17,8 +17,8 @@ Section Headers: \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 \[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 00246c 0001a0 10 16 19 4 - \[16\] \.strtab STRTAB 00000000 00260c 000059 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 + \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -85,7 +85,7 @@ Symbol table '\.dynsym' contains 13 entries: 3: 10000100 0 SECTION LOCAL DEFAULT 10 4: 10000128 0 SECTION LOCAL DEFAULT 11 5: 10000130 0 SECTION LOCAL DEFAULT 12 - 6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE 7: 00000000 0 NOTYPE WEAK DEFAULT UND b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 @@ -93,31 +93,33 @@ Symbol table '\.dynsym' contains 13 entries: 11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a 12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub -Symbol table '\.symtab' contains 26 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 00008048 0 SECTION LOCAL DEFAULT 2 - 3: 00008118 0 SECTION LOCAL DEFAULT 3 - 4: 00008140 0 SECTION LOCAL DEFAULT 4 - 5: 00008164 0 SECTION LOCAL DEFAULT 5 - 6: 0000817c 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 10000020 0 SECTION LOCAL DEFAULT 8 - 9: 10000080 0 SECTION LOCAL DEFAULT 9 - 10: 10000100 0 SECTION LOCAL DEFAULT 10 - 11: 10000128 0 SECTION LOCAL DEFAULT 11 - 12: 10000130 0 SECTION LOCAL DEFAULT 12 - 13: 00000000 0 SECTION LOCAL DEFAULT 13 - 14: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 - 15: 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 16: 10000130 4 OBJECT LOCAL DEFAULT 12 c - 17: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 18: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 19: 00000000 0 NOTYPE WEAK DEFAULT UND b - 20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 22: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 - 23: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 - 24: 10000128 4 OBJECT GLOBAL DEFAULT 11 a - 25: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 00008048 0 SECTION LOCAL DEFAULT 2 +.* 00008118 0 SECTION LOCAL DEFAULT 3 +.* 00008140 0 SECTION LOCAL DEFAULT 4 +.* 00008164 0 SECTION LOCAL DEFAULT 5 +.* 0000817c 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 10000020 0 SECTION LOCAL DEFAULT 8 +.* 10000080 0 SECTION LOCAL DEFAULT 9 +.* 10000100 0 SECTION LOCAL DEFAULT 10 +.* 10000128 0 SECTION LOCAL DEFAULT 11 +.* 10000130 0 SECTION LOCAL DEFAULT 12 +.* 00000000 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 +.* 10000130 4 OBJECT LOCAL DEFAULT 12 c +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ +.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE +.* 00000000 0 NOTYPE WEAK DEFAULT UND b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 +.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 +.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a +.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1r.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1r.rd index a0232cd..d3bf087 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1r.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1r.rd @@ -17,8 +17,8 @@ Section Headers: \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 \[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 00246c 0001a0 10 16 19 4 - \[16\] \.strtab STRTAB 00000000 00260c 000059 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 + \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -85,7 +85,7 @@ Symbol table '\.dynsym' contains 13 entries: 3: 10000100 0 SECTION LOCAL DEFAULT 10 4: 10000128 0 SECTION LOCAL DEFAULT 11 5: 10000130 0 SECTION LOCAL DEFAULT 12 - 6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE 7: 00000000 0 NOTYPE WEAK DEFAULT UND b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 @@ -93,31 +93,33 @@ Symbol table '\.dynsym' contains 13 entries: 11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a 12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub -Symbol table '\.symtab' contains 26 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 00008048 0 SECTION LOCAL DEFAULT 2 - 3: 00008118 0 SECTION LOCAL DEFAULT 3 - 4: 00008140 0 SECTION LOCAL DEFAULT 4 - 5: 00008164 0 SECTION LOCAL DEFAULT 5 - 6: 0000817c 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 10000020 0 SECTION LOCAL DEFAULT 8 - 9: 10000080 0 SECTION LOCAL DEFAULT 9 - 10: 10000100 0 SECTION LOCAL DEFAULT 10 - 11: 10000128 0 SECTION LOCAL DEFAULT 11 - 12: 10000130 0 SECTION LOCAL DEFAULT 12 - 13: 00000000 0 SECTION LOCAL DEFAULT 13 - 14: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 - 15: 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 16: 10000130 4 OBJECT LOCAL DEFAULT 12 c - 17: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 18: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 19: 00000000 0 NOTYPE WEAK DEFAULT UND b - 20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 22: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 - 23: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 - 24: 10000128 4 OBJECT GLOBAL DEFAULT 11 a - 25: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 00008048 0 SECTION LOCAL DEFAULT 2 +.* 00008118 0 SECTION LOCAL DEFAULT 3 +.* 00008140 0 SECTION LOCAL DEFAULT 4 +.* 00008164 0 SECTION LOCAL DEFAULT 5 +.* 0000817c 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 10000020 0 SECTION LOCAL DEFAULT 8 +.* 10000080 0 SECTION LOCAL DEFAULT 9 +.* 10000100 0 SECTION LOCAL DEFAULT 10 +.* 10000128 0 SECTION LOCAL DEFAULT 11 +.* 10000130 0 SECTION LOCAL DEFAULT 12 +.* 00000000 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 +.* 10000130 4 OBJECT LOCAL DEFAULT 12 c +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ +.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE +.* 00000000 0 NOTYPE WEAK DEFAULT UND b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 +.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 +.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a +.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1rb.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1rb.rd index a0232cd..d3bf087 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1rb.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-1rb.rd @@ -17,8 +17,8 @@ Section Headers: \[12\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 \[14\] \.shstrtab STRTAB 00000000 002149 00007b 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 00246c 0001a0 10 16 19 4 - \[16\] \.strtab STRTAB 00000000 00260c 000059 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 + \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -85,7 +85,7 @@ Symbol table '\.dynsym' contains 13 entries: 3: 10000100 0 SECTION LOCAL DEFAULT 10 4: 10000128 0 SECTION LOCAL DEFAULT 11 5: 10000130 0 SECTION LOCAL DEFAULT 12 - 6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE 7: 00000000 0 NOTYPE WEAK DEFAULT UND b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 @@ -93,31 +93,33 @@ Symbol table '\.dynsym' contains 13 entries: 11: 10000128 4 OBJECT GLOBAL DEFAULT 11 a 12: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub -Symbol table '\.symtab' contains 26 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 00008048 0 SECTION LOCAL DEFAULT 2 - 3: 00008118 0 SECTION LOCAL DEFAULT 3 - 4: 00008140 0 SECTION LOCAL DEFAULT 4 - 5: 00008164 0 SECTION LOCAL DEFAULT 5 - 6: 0000817c 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 10000020 0 SECTION LOCAL DEFAULT 8 - 9: 10000080 0 SECTION LOCAL DEFAULT 9 - 10: 10000100 0 SECTION LOCAL DEFAULT 10 - 11: 10000128 0 SECTION LOCAL DEFAULT 11 - 12: 10000130 0 SECTION LOCAL DEFAULT 12 - 13: 00000000 0 SECTION LOCAL DEFAULT 13 - 14: 10000080 0 FUNC LOCAL HIDDEN 9 sub1 - 15: 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 16: 10000130 4 OBJECT LOCAL DEFAULT 12 c - 17: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 18: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 19: 00000000 0 NOTYPE WEAK DEFAULT UND b - 20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 22: 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 - 23: 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 - 24: 10000128 4 OBJECT GLOBAL DEFAULT 11 a - 25: 100000c0 52 FUNC GLOBAL DEFAULT 9 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 00008048 0 SECTION LOCAL DEFAULT 2 +.* 00008118 0 SECTION LOCAL DEFAULT 3 +.* 00008140 0 SECTION LOCAL DEFAULT 4 +.* 00008164 0 SECTION LOCAL DEFAULT 5 +.* 0000817c 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 10000020 0 SECTION LOCAL DEFAULT 8 +.* 10000080 0 SECTION LOCAL DEFAULT 9 +.* 10000100 0 SECTION LOCAL DEFAULT 10 +.* 10000128 0 SECTION LOCAL DEFAULT 11 +.* 10000130 0 SECTION LOCAL DEFAULT 12 +.* 00000000 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 FUNC LOCAL HIDDEN 9 sub1 +.* 10000130 4 OBJECT LOCAL DEFAULT 12 c +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 0000817c 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ +.* 10000100 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE +.* 00000000 0 NOTYPE WEAK DEFAULT UND b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 1000012c 4 OBJECT GLOBAL DEFAULT 11 g2 +.* 10000088 52 FUNC GLOBAL DEFAULT 9 sub0 +.* 10000128 4 OBJECT GLOBAL DEFAULT 11 a +.* 100000c0 52 FUNC GLOBAL DEFAULT 9 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1.rd index e1809af..6461371 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1.rd @@ -18,8 +18,8 @@ Section Headers: \[13\] \.bss NOBITS 100000cc 0020cc 000004 00 WA 0 0 4 \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00 0 0 1 \[15\] \.shstrtab STRTAB 00000000 0020e5 000080 00 0 0 1 - \[16\] \.symtab SYMTAB 00000000 002438 0001a0 10 17 20 4 - \[17\] \.strtab STRTAB 00000000 0025d8 000055 00 0 0 1 + \[16\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 17 [0-9]+ 4 + \[17\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -90,38 +90,40 @@ Symbol table '\.dynsym' contains 12 entries: 3: 100000a0 0 SECTION LOCAL DEFAULT 11 4: 100000c0 0 SECTION LOCAL DEFAULT 12 5: 100000cc 0 SECTION LOCAL DEFAULT 13 - 6: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE 7: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 00000000 0 OBJECT WEAK DEFAULT UND g2 10: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 11: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a -Symbol table '\.symtab' contains 26 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 00008044 0 SECTION LOCAL DEFAULT 2 - 3: 00008104 0 SECTION LOCAL DEFAULT 3 - 4: 0000813c 0 SECTION LOCAL DEFAULT 4 - 5: 00008154 0 SECTION LOCAL DEFAULT 5 - 6: 0000816c 0 SECTION LOCAL DEFAULT 6 - 7: 00008178 0 SECTION LOCAL DEFAULT 7 - 8: 10000000 0 SECTION LOCAL DEFAULT 8 - 9: 10000020 0 SECTION LOCAL DEFAULT 9 - 10: 10000060 0 SECTION LOCAL DEFAULT 10 - 11: 100000a0 0 SECTION LOCAL DEFAULT 11 - 12: 100000c0 0 SECTION LOCAL DEFAULT 12 - 13: 100000cc 0 SECTION LOCAL DEFAULT 13 - 14: 00000000 0 SECTION LOCAL DEFAULT 14 - 15: 10000060 0 NOTYPE LOCAL DEFAULT 10 fish - 16: 100000c4 8 OBJECT LOCAL DEFAULT 12 w - 17: 00008178 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC - 18: 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ - 19: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 20: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b - 21: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 23: 00000000 0 OBJECT WEAK DEFAULT UND g2 - 24: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 - 25: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 00008044 0 SECTION LOCAL DEFAULT 2 +.* 00008104 0 SECTION LOCAL DEFAULT 3 +.* 0000813c 0 SECTION LOCAL DEFAULT 4 +.* 00008154 0 SECTION LOCAL DEFAULT 5 +.* 0000816c 0 SECTION LOCAL DEFAULT 6 +.* 00008178 0 SECTION LOCAL DEFAULT 7 +.* 10000000 0 SECTION LOCAL DEFAULT 8 +.* 10000020 0 SECTION LOCAL DEFAULT 9 +.* 10000060 0 SECTION LOCAL DEFAULT 10 +.* 100000a0 0 SECTION LOCAL DEFAULT 11 +.* 100000c0 0 SECTION LOCAL DEFAULT 12 +.* 100000cc 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 SECTION LOCAL DEFAULT 14 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000060 0 NOTYPE LOCAL DEFAULT 10 fish +.* 100000c4 8 OBJECT LOCAL DEFAULT 12 w +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008178 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC +.* 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ +.* 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE +.* 100000c0 4 OBJECT GLOBAL DEFAULT 12 b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 00000000 0 OBJECT WEAK DEFAULT UND g2 +.* 00000000 0 FUNC GLOBAL DEFAULT UND sub0 +.* 100000cc 4 OBJECT GLOBAL DEFAULT 13 a diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1b.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1b.rd index 95547b0..f4e8188 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1b.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1b.rd @@ -18,8 +18,8 @@ Section Headers: \[13\] \.bss NOBITS 100000cc 0020cc 000004 00 WA 0 0 4 \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020cc 000019 00 0 0 1 \[15\] \.shstrtab STRTAB 00000000 0020e5 000080 00 0 0 1 - \[16\] \.symtab SYMTAB 00000000 002438 0001a0 10 17 20 4 - \[17\] \.strtab STRTAB 00000000 0025d8 000055 00 0 0 1 + \[16\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 17 [0-9]+ 4 + \[17\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -90,38 +90,40 @@ Symbol table '\.dynsym' contains 12 entries: 3: 100000a0 0 SECTION LOCAL DEFAULT 11 4: 100000c0 0 SECTION LOCAL DEFAULT 12 5: 100000cc 0 SECTION LOCAL DEFAULT 13 - 6: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE 7: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 00000000 0 OBJECT WEAK DEFAULT UND g2 10: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 11: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a -Symbol table '\.symtab' contains 26 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 00008044 0 SECTION LOCAL DEFAULT 2 - 3: 00008104 0 SECTION LOCAL DEFAULT 3 - 4: 0000813c 0 SECTION LOCAL DEFAULT 4 - 5: 00008154 0 SECTION LOCAL DEFAULT 5 - 6: 0000816c 0 SECTION LOCAL DEFAULT 6 - 7: 00008178 0 SECTION LOCAL DEFAULT 7 - 8: 10000000 0 SECTION LOCAL DEFAULT 8 - 9: 10000020 0 SECTION LOCAL DEFAULT 9 - 10: 10000060 0 SECTION LOCAL DEFAULT 10 - 11: 100000a0 0 SECTION LOCAL DEFAULT 11 - 12: 100000c0 0 SECTION LOCAL DEFAULT 12 - 13: 100000cc 0 SECTION LOCAL DEFAULT 13 - 14: 00000000 0 SECTION LOCAL DEFAULT 14 - 15: 10000060 0 NOTYPE LOCAL DEFAULT 10 fish - 16: 100000c4 8 OBJECT LOCAL DEFAULT 12 w - 17: 00008178 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC - 18: 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ - 19: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 20: 100000c0 4 OBJECT GLOBAL DEFAULT 12 b - 21: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 23: 00000000 0 OBJECT WEAK DEFAULT UND g2 - 24: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 - 25: 100000cc 4 OBJECT GLOBAL DEFAULT 13 a +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 00008044 0 SECTION LOCAL DEFAULT 2 +.* 00008104 0 SECTION LOCAL DEFAULT 3 +.* 0000813c 0 SECTION LOCAL DEFAULT 4 +.* 00008154 0 SECTION LOCAL DEFAULT 5 +.* 0000816c 0 SECTION LOCAL DEFAULT 6 +.* 00008178 0 SECTION LOCAL DEFAULT 7 +.* 10000000 0 SECTION LOCAL DEFAULT 8 +.* 10000020 0 SECTION LOCAL DEFAULT 9 +.* 10000060 0 SECTION LOCAL DEFAULT 10 +.* 100000a0 0 SECTION LOCAL DEFAULT 11 +.* 100000c0 0 SECTION LOCAL DEFAULT 12 +.* 100000cc 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 SECTION LOCAL DEFAULT 14 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000060 0 NOTYPE LOCAL DEFAULT 10 fish +.* 100000c4 8 OBJECT LOCAL DEFAULT 12 w +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008178 0 OBJECT LOCAL DEFAULT 7 _DYNAMIC +.* 100000ac 0 OBJECT LOCAL DEFAULT 11 _GLOBAL_OFFSET_TABLE_ +.* 100000a0 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE +.* 100000c0 4 OBJECT GLOBAL DEFAULT 12 b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 00000000 0 OBJECT WEAK DEFAULT UND g2 +.* 00000000 0 FUNC GLOBAL DEFAULT UND sub0 +.* 100000cc 4 OBJECT GLOBAL DEFAULT 13 a diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1r.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1r.rd index 566f2f9..b00447c 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1r.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1r.rd @@ -17,8 +17,8 @@ Section Headers: \[12\] \.bss NOBITS 100000c4 0020c4 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00 0 0 1 \[14\] \.shstrtab STRTAB 00000000 0020dd 00007b 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 002400 000160 10 16 18 4 - \[16\] \.strtab STRTAB 00000000 002560 00004d 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 + \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -84,32 +84,34 @@ Symbol table '\.dynsym' contains 10 entries: 3: 100000a0 0 SECTION LOCAL DEFAULT 10 4: 100000c0 0 SECTION LOCAL DEFAULT 11 5: 100000c4 0 SECTION LOCAL DEFAULT 12 - 6: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE 7: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b 8: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 9: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a -Symbol table '\.symtab' contains 22 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 0000803c 0 SECTION LOCAL DEFAULT 2 - 3: 000080dc 0 SECTION LOCAL DEFAULT 3 - 4: 0000810c 0 SECTION LOCAL DEFAULT 4 - 5: 00008124 0 SECTION LOCAL DEFAULT 5 - 6: 00008130 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 10000020 0 SECTION LOCAL DEFAULT 8 - 9: 10000060 0 SECTION LOCAL DEFAULT 9 - 10: 100000a0 0 SECTION LOCAL DEFAULT 10 - 11: 100000c0 0 SECTION LOCAL DEFAULT 11 - 12: 100000c4 0 SECTION LOCAL DEFAULT 12 - 13: 00000000 0 SECTION LOCAL DEFAULT 13 - 14: 10000060 0 NOTYPE LOCAL DEFAULT 9 fish - 15: 00008130 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC - 16: 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ - 17: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 18: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b - 19: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 20: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 - 21: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 0000803c 0 SECTION LOCAL DEFAULT 2 +.* 000080dc 0 SECTION LOCAL DEFAULT 3 +.* 0000810c 0 SECTION LOCAL DEFAULT 4 +.* 00008124 0 SECTION LOCAL DEFAULT 5 +.* 00008130 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 10000020 0 SECTION LOCAL DEFAULT 8 +.* 10000060 0 SECTION LOCAL DEFAULT 9 +.* 100000a0 0 SECTION LOCAL DEFAULT 10 +.* 100000c0 0 SECTION LOCAL DEFAULT 11 +.* 100000c4 0 SECTION LOCAL DEFAULT 12 +.* 00000000 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000060 0 NOTYPE LOCAL DEFAULT 9 fish +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008130 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC +.* 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ +.* 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE +.* 100000c0 4 OBJECT GLOBAL DEFAULT 11 b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 FUNC GLOBAL DEFAULT UND sub0 +.* 100000c4 4 OBJECT GLOBAL DEFAULT 12 a diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1rb.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1rb.rd index be163d9..7c2c110 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1rb.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1rb.rd @@ -17,8 +17,8 @@ Section Headers: \[12\] \.bss NOBITS 100000c4 0020c4 000004 00 WA 0 0 4 \[13\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020c4 000019 00 0 0 1 \[14\] \.shstrtab STRTAB 00000000 0020dd 00007b 00 0 0 1 - \[15\] \.symtab SYMTAB 00000000 002400 000160 10 16 18 4 - \[16\] \.strtab STRTAB 00000000 002560 00004d 00 0 0 1 + \[15\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 16 [0-9]+ 4 + \[16\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -84,32 +84,34 @@ Symbol table '\.dynsym' contains 10 entries: 3: 100000a0 0 SECTION LOCAL DEFAULT 10 4: 100000c0 0 SECTION LOCAL DEFAULT 11 5: 100000c4 0 SECTION LOCAL DEFAULT 12 - 6: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE 7: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b 8: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 9: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a -Symbol table '\.symtab' contains 22 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 0000803c 0 SECTION LOCAL DEFAULT 2 - 3: 000080dc 0 SECTION LOCAL DEFAULT 3 - 4: 00008110 0 SECTION LOCAL DEFAULT 4 - 5: 00008128 0 SECTION LOCAL DEFAULT 5 - 6: 00008134 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 10000020 0 SECTION LOCAL DEFAULT 8 - 9: 10000060 0 SECTION LOCAL DEFAULT 9 - 10: 100000a0 0 SECTION LOCAL DEFAULT 10 - 11: 100000c0 0 SECTION LOCAL DEFAULT 11 - 12: 100000c4 0 SECTION LOCAL DEFAULT 12 - 13: 00000000 0 SECTION LOCAL DEFAULT 13 - 14: 10000060 0 NOTYPE LOCAL DEFAULT 9 fish - 15: 00008134 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC - 16: 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ - 17: 100000a0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 18: 100000c0 4 OBJECT GLOBAL DEFAULT 11 b - 19: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 20: 00000000 0 FUNC GLOBAL DEFAULT UND sub0 - 21: 100000c4 4 OBJECT GLOBAL DEFAULT 12 a +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 0000803c 0 SECTION LOCAL DEFAULT 2 +.* 000080dc 0 SECTION LOCAL DEFAULT 3 +.* 00008110 0 SECTION LOCAL DEFAULT 4 +.* 00008128 0 SECTION LOCAL DEFAULT 5 +.* 00008134 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 10000020 0 SECTION LOCAL DEFAULT 8 +.* 10000060 0 SECTION LOCAL DEFAULT 9 +.* 100000a0 0 SECTION LOCAL DEFAULT 10 +.* 100000c0 0 SECTION LOCAL DEFAULT 11 +.* 100000c4 0 SECTION LOCAL DEFAULT 12 +.* 00000000 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000060 0 NOTYPE LOCAL DEFAULT 9 fish +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008134 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC +.* 100000ac 0 OBJECT LOCAL DEFAULT 10 _GLOBAL_OFFSET_TABLE_ +.* 100000a0 0 NOTYPE LOCAL DEFAULT 10 __c6xabi_DSBT_BASE +.* 100000c0 4 OBJECT GLOBAL DEFAULT 11 b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 FUNC GLOBAL DEFAULT UND sub0 +.* 100000c4 4 OBJECT GLOBAL DEFAULT 12 a diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-noindex.rd b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-noindex.rd index e9b57c7..3d50e68 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/shlib-noindex.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/shlib-noindex.rd @@ -18,8 +18,8 @@ Section Headers: \[13\] \.bss NOBITS 10000130 002130 000004 00 WA 0 0 4 \[14\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 002130 000019 00 0 0 1 \[15\] \.shstrtab STRTAB 00000000 002149 000080 00 0 0 1 - \[16\] \.symtab SYMTAB 00000000 00249c 0001b0 10 17 20 4 - \[17\] \.strtab STRTAB 00000000 00264c 000059 00 0 0 1 + \[16\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 17 [0-9]+ 4 + \[17\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -91,7 +91,7 @@ Symbol table '\.dynsym' contains 13 entries: 3: 10000100 0 SECTION LOCAL DEFAULT 11 4: 10000128 0 SECTION LOCAL DEFAULT 12 5: 10000130 0 SECTION LOCAL DEFAULT 13 - 6: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 10000100 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE 7: 00000000 0 NOTYPE WEAK DEFAULT UND b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 @@ -99,32 +99,34 @@ Symbol table '\.dynsym' contains 13 entries: 11: 10000128 4 OBJECT GLOBAL DEFAULT 12 a 12: 100000c0 52 FUNC GLOBAL DEFAULT 10 sub -Symbol table '\.symtab' contains 27 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 00008048 0 SECTION LOCAL DEFAULT 2 - 3: 00008118 0 SECTION LOCAL DEFAULT 3 - 4: 00008140 0 SECTION LOCAL DEFAULT 4 - 5: 0000814c 0 SECTION LOCAL DEFAULT 5 - 6: 00008170 0 SECTION LOCAL DEFAULT 6 - 7: 00008188 0 SECTION LOCAL DEFAULT 7 - 8: 10000000 0 SECTION LOCAL DEFAULT 8 - 9: 10000020 0 SECTION LOCAL DEFAULT 9 - 10: 10000080 0 SECTION LOCAL DEFAULT 10 - 11: 10000100 0 SECTION LOCAL DEFAULT 11 - 12: 10000128 0 SECTION LOCAL DEFAULT 12 - 13: 10000130 0 SECTION LOCAL DEFAULT 13 - 14: 00000000 0 SECTION LOCAL DEFAULT 14 - 15: 10000080 0 FUNC LOCAL HIDDEN 10 sub1 - 16: 00008188 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC - 17: 10000130 4 OBJECT LOCAL DEFAULT 13 c - 18: 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ - 19: 10000100 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 20: 00000000 0 NOTYPE WEAK DEFAULT UND b - 21: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 22: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 23: 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 - 24: 10000088 52 FUNC GLOBAL DEFAULT 10 sub0 - 25: 10000128 4 OBJECT GLOBAL DEFAULT 12 a - 26: 100000c0 52 FUNC GLOBAL DEFAULT 10 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 00008048 0 SECTION LOCAL DEFAULT 2 +.* 00008118 0 SECTION LOCAL DEFAULT 3 +.* 00008140 0 SECTION LOCAL DEFAULT 4 +.* 0000814c 0 SECTION LOCAL DEFAULT 5 +.* 00008170 0 SECTION LOCAL DEFAULT 6 +.* 00008188 0 SECTION LOCAL DEFAULT 7 +.* 10000000 0 SECTION LOCAL DEFAULT 8 +.* 10000020 0 SECTION LOCAL DEFAULT 9 +.* 10000080 0 SECTION LOCAL DEFAULT 10 +.* 10000100 0 SECTION LOCAL DEFAULT 11 +.* 10000128 0 SECTION LOCAL DEFAULT 12 +.* 10000130 0 SECTION LOCAL DEFAULT 13 +.* 00000000 0 SECTION LOCAL DEFAULT 14 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 FUNC LOCAL HIDDEN 10 sub1 +.* 10000130 4 OBJECT LOCAL DEFAULT 13 c +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008188 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC +.* 1000010c 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_ +.* 10000100 0 NOTYPE LOCAL DEFAULT 11 __c6xabi_DSBT_BASE +.* 00000000 0 NOTYPE WEAK DEFAULT UND b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 1000012c 4 OBJECT GLOBAL DEFAULT 12 g2 +.* 10000088 52 FUNC GLOBAL DEFAULT 10 sub0 +.* 10000128 4 OBJECT GLOBAL DEFAULT 12 a +.* 100000c0 52 FUNC GLOBAL DEFAULT 10 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1.rd b/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1.rd index cec76d4..ae5bc8d 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1.rd @@ -15,8 +15,8 @@ Section Headers: \[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4 \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1 \[12\] \.shstrtab STRTAB 00000000 00210d 000071 00 0 0 1 - \[13\] \.symtab SYMTAB 00000000 0023d8 0001a0 10 14 19 4 - \[14\] \.strtab STRTAB 00000000 002578 000060 00 0 0 1 + \[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4 + \[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -77,36 +77,39 @@ Symbol table '\.dynsym' contains 10 entries: 3: 100000e0 0 SECTION LOCAL DEFAULT 9 4: 100000f4 0 SECTION LOCAL DEFAULT 10 5: 100000f4 4 OBJECT LOCAL DEFAULT 10 c - 6: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE 7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -Symbol table '\.symtab' contains 26 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 0000803c 0 SECTION LOCAL DEFAULT 2 - 3: 000080dc 0 SECTION LOCAL DEFAULT 3 - 4: 000080fc 0 SECTION LOCAL DEFAULT 4 - 5: 00008120 0 SECTION LOCAL DEFAULT 5 - 6: 00008150 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 100000c0 0 SECTION LOCAL DEFAULT 8 - 9: 100000e0 0 SECTION LOCAL DEFAULT 9 - 10: 100000f4 0 SECTION LOCAL DEFAULT 10 - 11: 00000000 0 SECTION LOCAL DEFAULT 11 - 12: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 - 13: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish - 14: 100000ec 8 OBJECT LOCAL DEFAULT 9 w - 15: 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC - 16: 100000f4 4 OBJECT LOCAL DEFAULT 10 c - 17: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ - 18: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 19: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b - 20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 22: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 - 23: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 - 24: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a - 25: 10000040 52 FUNC GLOBAL DEFAULT 7 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 0000803c 0 SECTION LOCAL DEFAULT 2 +.* 000080dc 0 SECTION LOCAL DEFAULT 3 +.* 000080fc 0 SECTION LOCAL DEFAULT 4 +.* 00008120 0 SECTION LOCAL DEFAULT 5 +.* 00008150 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 100000c0 0 SECTION LOCAL DEFAULT 8 +.* 100000e0 0 SECTION LOCAL DEFAULT 9 +.* 100000f4 0 SECTION LOCAL DEFAULT 10 +.* 00000000 0 SECTION LOCAL DEFAULT 11 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish +.* 100000ec 8 OBJECT LOCAL DEFAULT 9 w +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC +.* 100000f4 4 OBJECT LOCAL DEFAULT 10 c +.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ +.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE +.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 +.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 +.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a +.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1b.rd b/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1b.rd index cec76d4..ae5bc8d 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1b.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1b.rd @@ -15,8 +15,8 @@ Section Headers: \[10\] \.bss NOBITS 100000f4 0020f4 000004 00 WA 0 0 4 \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020f4 000019 00 0 0 1 \[12\] \.shstrtab STRTAB 00000000 00210d 000071 00 0 0 1 - \[13\] \.symtab SYMTAB 00000000 0023d8 0001a0 10 14 19 4 - \[14\] \.strtab STRTAB 00000000 002578 000060 00 0 0 1 + \[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4 + \[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -77,36 +77,39 @@ Symbol table '\.dynsym' contains 10 entries: 3: 100000e0 0 SECTION LOCAL DEFAULT 9 4: 100000f4 0 SECTION LOCAL DEFAULT 10 5: 100000f4 4 OBJECT LOCAL DEFAULT 10 c - 6: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE 7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -Symbol table '\.symtab' contains 26 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 0000803c 0 SECTION LOCAL DEFAULT 2 - 3: 000080dc 0 SECTION LOCAL DEFAULT 3 - 4: 000080fc 0 SECTION LOCAL DEFAULT 4 - 5: 00008120 0 SECTION LOCAL DEFAULT 5 - 6: 00008150 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 100000c0 0 SECTION LOCAL DEFAULT 8 - 9: 100000e0 0 SECTION LOCAL DEFAULT 9 - 10: 100000f4 0 SECTION LOCAL DEFAULT 10 - 11: 00000000 0 SECTION LOCAL DEFAULT 11 - 12: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 - 13: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish - 14: 100000ec 8 OBJECT LOCAL DEFAULT 9 w - 15: 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC - 16: 100000f4 4 OBJECT LOCAL DEFAULT 10 c - 17: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ - 18: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 19: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b - 20: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 21: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 22: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 - 23: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 - 24: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a - 25: 10000040 52 FUNC GLOBAL DEFAULT 7 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 0000803c 0 SECTION LOCAL DEFAULT 2 +.* 000080dc 0 SECTION LOCAL DEFAULT 3 +.* 000080fc 0 SECTION LOCAL DEFAULT 4 +.* 00008120 0 SECTION LOCAL DEFAULT 5 +.* 00008150 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 100000c0 0 SECTION LOCAL DEFAULT 8 +.* 100000e0 0 SECTION LOCAL DEFAULT 9 +.* 100000f4 0 SECTION LOCAL DEFAULT 10 +.* 00000000 0 SECTION LOCAL DEFAULT 11 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish +.* 100000ec 8 OBJECT LOCAL DEFAULT 9 w +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008150 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC +.* 100000f4 4 OBJECT LOCAL DEFAULT 10 c +.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ +.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE +.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 +.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 +.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a +.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1r.rd b/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1r.rd index cd8bc4c..3bc91dd 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1r.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1r.rd @@ -15,8 +15,8 @@ Section Headers: \[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4 \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1 \[12\] \.shstrtab STRTAB 00000000 002105 000071 00 0 0 1 - \[13\] \.symtab SYMTAB 00000000 0023d0 000190 10 14 18 4 - \[14\] \.strtab STRTAB 00000000 002560 00005e 00 0 0 1 + \[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4 + \[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -75,35 +75,38 @@ Symbol table '\.dynsym' contains 10 entries: 3: 100000e0 0 SECTION LOCAL DEFAULT 9 4: 100000ec 0 SECTION LOCAL DEFAULT 10 5: 100000ec 4 OBJECT LOCAL DEFAULT 10 c - 6: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE 7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -Symbol table '\.symtab' contains 25 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 0000803c 0 SECTION LOCAL DEFAULT 2 - 3: 000080dc 0 SECTION LOCAL DEFAULT 3 - 4: 000080fc 0 SECTION LOCAL DEFAULT 4 - 5: 00008120 0 SECTION LOCAL DEFAULT 5 - 6: 00008138 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 100000c0 0 SECTION LOCAL DEFAULT 8 - 9: 100000e0 0 SECTION LOCAL DEFAULT 9 - 10: 100000ec 0 SECTION LOCAL DEFAULT 10 - 11: 00000000 0 SECTION LOCAL DEFAULT 11 - 12: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 - 13: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish - 14: 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC - 15: 100000ec 4 OBJECT LOCAL DEFAULT 10 c - 16: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ - 17: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 18: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b - 19: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 20: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 21: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 - 22: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 - 23: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a - 24: 10000040 52 FUNC GLOBAL DEFAULT 7 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 0000803c 0 SECTION LOCAL DEFAULT 2 +.* 000080dc 0 SECTION LOCAL DEFAULT 3 +.* 000080fc 0 SECTION LOCAL DEFAULT 4 +.* 00008120 0 SECTION LOCAL DEFAULT 5 +.* 00008138 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 100000c0 0 SECTION LOCAL DEFAULT 8 +.* 100000e0 0 SECTION LOCAL DEFAULT 9 +.* 100000ec 0 SECTION LOCAL DEFAULT 10 +.* 00000000 0 SECTION LOCAL DEFAULT 11 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC +.* 100000ec 4 OBJECT LOCAL DEFAULT 10 c +.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ +.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE +.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 +.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 +.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a +.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1rb.rd b/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1rb.rd index cd8bc4c..3bc91dd 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1rb.rd +++ b/binutils-2.22/ld/testsuite/ld-tic6x/static-app-1rb.rd @@ -15,8 +15,8 @@ Section Headers: \[10\] \.bss NOBITS 100000ec 0020ec 000004 00 WA 0 0 4 \[11\] \.c6xabi\.attributes C6000_ATTRIBUTES 00000000 0020ec 000019 00 0 0 1 \[12\] \.shstrtab STRTAB 00000000 002105 000071 00 0 0 1 - \[13\] \.symtab SYMTAB 00000000 0023d0 000190 10 14 18 4 - \[14\] \.strtab STRTAB 00000000 002560 00005e 00 0 0 1 + \[13\] \.symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 14 [0-9]+ 4 + \[14\] \.strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) @@ -75,35 +75,38 @@ Symbol table '\.dynsym' contains 10 entries: 3: 100000e0 0 SECTION LOCAL DEFAULT 9 4: 100000ec 0 SECTION LOCAL DEFAULT 10 5: 100000ec 4 OBJECT LOCAL DEFAULT 10 c - 6: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE + 6: 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE 7: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b 8: 00000000 0 NOTYPE WEAK DEFAULT UND g1 9: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a -Symbol table '\.symtab' contains 25 entries: +Symbol table '\.symtab' contains [0-9]+ entries: Num: Value Size Type Bind Vis Ndx Name - 0: 00000000 0 NOTYPE LOCAL DEFAULT UND - 1: 00008000 0 SECTION LOCAL DEFAULT 1 - 2: 0000803c 0 SECTION LOCAL DEFAULT 2 - 3: 000080dc 0 SECTION LOCAL DEFAULT 3 - 4: 000080fc 0 SECTION LOCAL DEFAULT 4 - 5: 00008120 0 SECTION LOCAL DEFAULT 5 - 6: 00008138 0 SECTION LOCAL DEFAULT 6 - 7: 10000000 0 SECTION LOCAL DEFAULT 7 - 8: 100000c0 0 SECTION LOCAL DEFAULT 8 - 9: 100000e0 0 SECTION LOCAL DEFAULT 9 - 10: 100000ec 0 SECTION LOCAL DEFAULT 10 - 11: 00000000 0 SECTION LOCAL DEFAULT 11 - 12: 10000000 0 FUNC LOCAL HIDDEN 7 sub1 - 13: 10000080 0 NOTYPE LOCAL DEFAULT 7 fish - 14: 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC - 15: 100000ec 4 OBJECT LOCAL DEFAULT 10 c - 16: 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ - 17: 100000c0 0 NOTYPE LOCAL DEFAULT ABS __c6xabi_DSBT_BASE - 18: 100000e8 4 OBJECT GLOBAL DEFAULT 9 b - 19: 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize - 20: 00000000 0 NOTYPE WEAK DEFAULT UND g1 - 21: 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 - 22: 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 - 23: 100000e0 4 OBJECT GLOBAL DEFAULT 9 a - 24: 10000040 52 FUNC GLOBAL DEFAULT 7 sub +.* 00000000 0 NOTYPE LOCAL DEFAULT UND +.* 00008000 0 SECTION LOCAL DEFAULT 1 +.* 0000803c 0 SECTION LOCAL DEFAULT 2 +.* 000080dc 0 SECTION LOCAL DEFAULT 3 +.* 000080fc 0 SECTION LOCAL DEFAULT 4 +.* 00008120 0 SECTION LOCAL DEFAULT 5 +.* 00008138 0 SECTION LOCAL DEFAULT 6 +.* 10000000 0 SECTION LOCAL DEFAULT 7 +.* 100000c0 0 SECTION LOCAL DEFAULT 8 +.* 100000e0 0 SECTION LOCAL DEFAULT 9 +.* 100000ec 0 SECTION LOCAL DEFAULT 10 +.* 00000000 0 SECTION LOCAL DEFAULT 11 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000000 0 FUNC LOCAL HIDDEN 7 sub1 +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 10000080 0 NOTYPE LOCAL DEFAULT 7 fish +.* 00000000 0 FILE LOCAL DEFAULT ABS .* +.* 00008138 0 OBJECT LOCAL DEFAULT 6 _DYNAMIC +.* 100000ec 4 OBJECT LOCAL DEFAULT 10 c +.* 100000cc 0 OBJECT LOCAL DEFAULT 8 _GLOBAL_OFFSET_TABLE_ +.* 100000c0 0 NOTYPE LOCAL DEFAULT 8 __c6xabi_DSBT_BASE +.* 100000e8 4 OBJECT GLOBAL DEFAULT 9 b +.* 00020000 0 OBJECT GLOBAL DEFAULT ABS __stacksize +.* 00000000 0 NOTYPE WEAK DEFAULT UND g1 +.* 100000e4 4 OBJECT GLOBAL DEFAULT 9 g2 +.* 10000008 52 FUNC GLOBAL DEFAULT 7 sub0 +.* 100000e0 4 OBJECT GLOBAL DEFAULT 9 a +.* 10000040 52 FUNC GLOBAL DEFAULT 7 sub diff --git a/binutils-2.22/ld/testsuite/ld-tic6x/unwind-6.d b/binutils-2.22/ld/testsuite/ld-tic6x/unwind-6.d index 5de8ee6..6342265 100644 --- a/binutils-2.22/ld/testsuite/ld-tic6x/unwind-6.d +++ b/binutils-2.22/ld/testsuite/ld-tic6x/unwind-6.d @@ -1,5 +1,5 @@ #ld: -T unwind.ld -#source unwind-4.s +#source: unwind-4.s #as: -mgenerate-rel #objdump: -s diff --git a/binutils-2.22/ld/testsuite/ld-tilegx/reloc-be.d b/binutils-2.22/ld/testsuite/ld-tilegx/reloc-be.d new file mode 100644 index 0000000..7d6f9de --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-tilegx/reloc-be.d @@ -0,0 +1,70 @@ + +.*: file format .*tilegx.* + +Contents of section .text: + 100b0 .* + 100c0 .* + 100d0 .* + 100e0 .* + 100f0 .* + 10100 .* + 10110 .* + 10120 .* + 10130 .* + 10140 .* + 10150 .* + 10160 .* + 10170 .* + 10180 .* + 10190 .* + 101a0 .* + 101b0 .* + 101c0 .* +Contents of section .data: + 201e0 000101b8 000101c0 827a4b64 11770000 .* + 201f0 0032002e 2c827a12 34567812 3456789a .* + 20200 bc123456 789abcde f0000000 00000000 .* + 20210 00000000 00000000 00000000 00000000 .* + +Disassembly of section .text: + +00000000000100b0 <_start>: + 100b0: [0-9a-f]* { add r2, zero, zero } + 100b8: [0-9a-f]* { j 101b8 <external1> } + 100c0: [0-9a-f]* { add r3, r2, r2 } + 100c8: [0-9a-f]* { beqzt zero, 101c0 <external2> } + 100d0: [0-9a-f]* { movei r2, 17 ; movei r3, 119 } + 100d8: [0-9a-f]* { movei r2, 17 ; movei r3, 119 ; ld zero, zero } + 100e0: [0-9a-f]* { mtspr 17, zero } + 100e8: [0-9a-f]* { mfspr zero, 17 } + 100f0: [0-9a-f]* { moveli r2, -32134 ; moveli r3, 19300 } + 100f8: [0-9a-f]* { moveli r2, 4660 ; moveli r3, -30293 } + 10100: [0-9a-f]* { shl16insli r2, r2, 22136 ; shl16insli r3, r3, -12816 } + 10108: [0-9a-f]* { moveli r2, 4660 ; moveli r3, 30292 } + 10110: [0-9a-f]* { shl16insli r2, r2, 22136 ; shl16insli r3, r3, 12816 } + 10118: [0-9a-f]* { shl16insli r2, r2, -25924 ; shl16insli r3, r3, -292 } + 10120: [0-9a-f]* { moveli r2, 4660 ; moveli r3, -292 } + 10128: [0-9a-f]* { shl16insli r2, r2, 22136 ; shl16insli r3, r3, -17768 } + 10130: [0-9a-f]* { shl16insli r2, r2, -25924 ; shl16insli r3, r3, 30292 } + 10138: [0-9a-f]* { shl16insli r2, r2, -8464 ; shl16insli r3, r3, 12816 } + 10140: [0-9a-f]* { ld_add r0, r0, 17 } + 10148: [0-9a-f]* { st_add r0, r0, 17 } + 10150: [0-9a-f]* { mm r2, r3, 19, 31 } + 10158: [0-9a-f]* { shli r2, r3, 19 ; shli r4, r5, 31 } + 10160: [0-9a-f]* { shli r2, r3, 19 ; shli r4, r5, 31 ; ld zero, zero } + 10168: [0-9a-f]* { moveli r0, 80 ; moveli r1, 80 } + 10170: [0-9a-f]* { moveli r0, 1 ; moveli r1, 1 } + 10178: [0-9a-f]* { moveli r0, 168 ; moveli r1, 168 } + 10180: [0-9a-f]* { moveli r0, 4096 ; moveli r1, 4096 } + 10188: [0-9a-f]* { moveli r0, 1 ; moveli r1, 1 } + 10190: [0-9a-f]* { moveli r0, 144 ; moveli r1, 144 } + 10198: [0-9a-f]* { moveli r0, 4096 ; moveli r1, 4096 } + 101a0: [0-9a-f]* { moveli r0, 0 ; moveli r1, 0 } + 101a8: [0-9a-f]* { moveli r0, 1 ; moveli r1, 1 } + 101b0: [0-9a-f]* { moveli r0, 112 ; moveli r1, 112 } + +00000000000101b8 <external1>: + 101b8: [0-9a-f]* { j 101b8 <external1> } + +00000000000101c0 <external2>: + 101c0: [0-9a-f]* { j 101b8 <external1> } diff --git a/binutils-2.22/ld/testsuite/ld-tilegx/reloc-le.d b/binutils-2.22/ld/testsuite/ld-tilegx/reloc-le.d new file mode 100644 index 0000000..8d41bd0 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-tilegx/reloc-le.d @@ -0,0 +1,70 @@ + +.*: file format .*tilegx.* + +Contents of section .text: + 100b0 .* + 100c0 .* + 100d0 .* + 100e0 .* + 100f0 .* + 10100 .* + 10110 .* + 10120 .* + 10130 .* + 10140 .* + 10150 .* + 10160 .* + 10170 .* + 10180 .* + 10190 .* + 101a0 .* + 101b0 .* + 101c0 .* +Contents of section .data: + 201e0 b8010100 c0010100 7a82644b 11773200 .* + 201f0 00002e00 2c7a8234 12785634 127856bc .* + 20200 9a341278 56bc9af0 de000000 00000000 .* + 20210 00000000 00000000 00000000 00000000 .* + +Disassembly of section .text: + +00000000000100b0 <_start>: + 100b0: [0-9a-f]* { add r2, zero, zero } + 100b8: [0-9a-f]* { j 101b8 <external1> } + 100c0: [0-9a-f]* { add r3, r2, r2 } + 100c8: [0-9a-f]* { beqzt zero, 101c0 <external2> } + 100d0: [0-9a-f]* { movei r2, 17 ; movei r3, 119 } + 100d8: [0-9a-f]* { movei r2, 17 ; movei r3, 119 ; ld zero, zero } + 100e0: [0-9a-f]* { mtspr 17, zero } + 100e8: [0-9a-f]* { mfspr zero, 17 } + 100f0: [0-9a-f]* { moveli r2, -32134 ; moveli r3, 19300 } + 100f8: [0-9a-f]* { moveli r2, 4660 ; moveli r3, -30293 } + 10100: [0-9a-f]* { shl16insli r2, r2, 22136 ; shl16insli r3, r3, -12816 } + 10108: [0-9a-f]* { moveli r2, 4660 ; moveli r3, 30292 } + 10110: [0-9a-f]* { shl16insli r2, r2, 22136 ; shl16insli r3, r3, 12816 } + 10118: [0-9a-f]* { shl16insli r2, r2, -25924 ; shl16insli r3, r3, -292 } + 10120: [0-9a-f]* { moveli r2, 4660 ; moveli r3, -292 } + 10128: [0-9a-f]* { shl16insli r2, r2, 22136 ; shl16insli r3, r3, -17768 } + 10130: [0-9a-f]* { shl16insli r2, r2, -25924 ; shl16insli r3, r3, 30292 } + 10138: [0-9a-f]* { shl16insli r2, r2, -8464 ; shl16insli r3, r3, 12816 } + 10140: [0-9a-f]* { ld_add r0, r0, 17 } + 10148: [0-9a-f]* { st_add r0, r0, 17 } + 10150: [0-9a-f]* { mm r2, r3, 19, 31 } + 10158: [0-9a-f]* { shli r2, r3, 19 ; shli r4, r5, 31 } + 10160: [0-9a-f]* { shli r2, r3, 19 ; shli r4, r5, 31 ; ld zero, zero } + 10168: [0-9a-f]* { moveli r0, 80 ; moveli r1, 80 } + 10170: [0-9a-f]* { moveli r0, 1 ; moveli r1, 1 } + 10178: [0-9a-f]* { moveli r0, 168 ; moveli r1, 168 } + 10180: [0-9a-f]* { moveli r0, 4096 ; moveli r1, 4096 } + 10188: [0-9a-f]* { moveli r0, 1 ; moveli r1, 1 } + 10190: [0-9a-f]* { moveli r0, 144 ; moveli r1, 144 } + 10198: [0-9a-f]* { moveli r0, 4096 ; moveli r1, 4096 } + 101a0: [0-9a-f]* { moveli r0, 0 ; moveli r1, 0 } + 101a8: [0-9a-f]* { moveli r0, 1 ; moveli r1, 1 } + 101b0: [0-9a-f]* { moveli r0, 112 ; moveli r1, 112 } + +00000000000101b8 <external1>: + 101b8: [0-9a-f]* { j 101b8 <external1> } + +00000000000101c0 <external2>: + 101c0: [0-9a-f]* { j 101b8 <external1> } diff --git a/binutils-2.22/ld/testsuite/ld-tilegx/tilegx.exp b/binutils-2.22/ld/testsuite/ld-tilegx/tilegx.exp index 856b41e..fbc80a2 100644 --- a/binutils-2.22/ld/testsuite/ld-tilegx/tilegx.exp +++ b/binutils-2.22/ld/testsuite/ld-tilegx/tilegx.exp @@ -24,14 +24,21 @@ if {!([istarget "tilegx-*-*"]) } { # Set up a list as described in ld-lib.exp -set tilepro_tests { - { "tilegx relocation resolution linker test" - "" - "" +set tilegx_tests { + { "tilegx little-endian relocation resolution linker test" + "-EL" + "-EL" { "reloc.s" "external.s" } - { {objdump -ds reloc.d} } + { {objdump -ds reloc-le.d} } + "reloc" + } + { "tilegx big-endian relocation resolution linker test" + "-EB" + "-EB" + { "reloc.s" "external.s" } + { {objdump -ds reloc-be.d} } "reloc" } } -run_ld_link_tests $tilepro_tests +run_ld_link_tests $tilegx_tests diff --git a/binutils-2.22/ld/testsuite/ld-undefined/weak-undef.exp b/binutils-2.22/ld/testsuite/ld-undefined/weak-undef.exp index 2f70eeb..c802a11 100644 --- a/binutils-2.22/ld/testsuite/ld-undefined/weak-undef.exp +++ b/binutils-2.22/ld/testsuite/ld-undefined/weak-undef.exp @@ -1,5 +1,5 @@ # Test handling of weak undefined symbols -# Copyright 2001, 2002, 2004, 2005, 2007, 2010, 2011 +# Copyright 2001, 2002, 2004, 2005, 2007, 2010, 2011, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -31,6 +31,7 @@ if { ![istarget *-*-sysv4*] \ && ![istarget hppa*64*-*-hpux*] \ && ![istarget *-*-linux*] \ && ![istarget *-*-gnu*] \ + && ![istarget *-*-nacl*] \ && ![istarget *-*-irix5*] \ && ![istarget *-*-irix6*] \ && ![is_pecoff_format] \ diff --git a/binutils-2.22/ld/testsuite/ld-unique/unique.exp b/binutils-2.22/ld/testsuite/ld-unique/unique.exp index d9e93ca..646e5ec 100644 --- a/binutils-2.22/ld/testsuite/ld-unique/unique.exp +++ b/binutils-2.22/ld/testsuite/ld-unique/unique.exp @@ -1,6 +1,6 @@ # Expect script for linker support of STB_GNU_UNIQUE symbols # -# Copyright 2009, 2010, 2011 Free Software Foundation, Inc. +# Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Contributed by Red Hat. # # This file is part of the GNU Binutils. @@ -32,6 +32,7 @@ if {!(([istarget "i?86-*-*"] || [istarget "powerpc*-*-*"] || [istarget "sparc*-*-*"]) && ([istarget "*-*-elf*"] + || [istarget "*-*-nacl*"] || (([istarget "*-*-linux*"] || [istarget "*-*-gnu*"]) && ![istarget "*-*-*aout*"] diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/32bit.s b/binutils-2.22/ld/testsuite/ld-x86-64/32bit.s new file mode 100644 index 0000000..2547a8b --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/32bit.s @@ -0,0 +1,78 @@ + + .section .rodata.str1.1,"aMS",@progbits,1 + +.LC0: .word 1 +.LC1: .word 2 +.LC2: .word 3 +.LC3: .word 4 +.LC4: .word 5 +.LC5: .word 6 +.LC6: .word 7 +.LC7: .word 8 +.LC8: .word 9 +.LC9: .word 10 +.LC10: .word 11 +.LC11: .word 12 +.LC12: .word 13 +.LC13: .word 14 +.LC14: .word 15 +.LC15: .word 16 +.LC16: .word 17 +.LC17: .word 18 +.LC18: .word 19 +.LC19: .word 20 +.LC20: .word 21 +.LC21: .word 22 +.LC22: .word 23 +.LC23: .word 24 +.LC24: .word 25 +.LC25: .word 26 +.LC26: .word 27 +.LC27: .word 28 +.LC28: .word 29 +.LC29: .word 30 +.LC30: .word 31 +.LC31: .word 32 +.LC32: .word 33 +.LC33: .word 34 + + .text + .p2align 4,,15 + .globl foo + .type foo, @function +foo: + + leal .LC0@GOTOFF(%ecx), %eax + leal .LC1@GOTOFF(%ecx), %eax + leal .LC2@GOTOFF(%ecx), %eax + leal .LC3@GOTOFF(%ecx), %eax + leal .LC4@GOTOFF(%ecx), %eax + leal .LC5@GOTOFF(%ecx), %eax + leal .LC6@GOTOFF(%ecx), %eax + leal .LC7@GOTOFF(%ecx), %eax + leal .LC8@GOTOFF(%ecx), %eax + leal .LC9@GOTOFF(%ecx), %eax + leal .LC10@GOTOFF(%ecx), %eax + leal .LC11@GOTOFF(%ecx), %eax + leal .LC12@GOTOFF(%ecx), %eax + leal .LC13@GOTOFF(%ecx), %eax + leal .LC14@GOTOFF(%ecx), %eax + leal .LC15@GOTOFF(%ecx), %eax + leal .LC16@GOTOFF(%ecx), %eax + leal .LC17@GOTOFF(%ecx), %eax + leal .LC18@GOTOFF(%ecx), %eax + leal .LC19@GOTOFF(%ecx), %eax + leal .LC20@GOTOFF(%ecx), %eax + leal .LC21@GOTOFF(%ecx), %eax + leal .LC22@GOTOFF(%ecx), %eax + leal .LC23@GOTOFF(%ecx), %eax + leal .LC24@GOTOFF(%ecx), %eax + leal .LC25@GOTOFF(%ecx), %eax + leal .LC26@GOTOFF(%ecx), %eax + leal .LC27@GOTOFF(%ecx), %eax + leal .LC28@GOTOFF(%ecx), %eax + leal .LC29@GOTOFF(%ecx), %eax + leal .LC30@GOTOFF(%ecx), %eax + leal .LC31@GOTOFF(%ecx), %eax + leal .LC32@GOTOFF(%ecx), %eax + leal .LC33@GOTOFF(%ecx), %eax diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/64bit.s b/binutils-2.22/ld/testsuite/ld-x86-64/64bit.s new file mode 100644 index 0000000..3e741f7 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/64bit.s @@ -0,0 +1,4 @@ + .text +bar: + call foo + diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/abs-l1om.d b/binutils-2.22/ld/testsuite/ld-x86-64/abs-l1om.d index 1b2231c..1fb96d4 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/abs-l1om.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/abs-l1om.d @@ -4,6 +4,7 @@ #as: --64 -march=l1om #ld: -m elf_l1om #objdump: -rs -j .text +#target: x86_64-*-linux* .*: file format .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/dwarfreloc.exp b/binutils-2.22/ld/testsuite/ld-x86-64/dwarfreloc.exp index 8137a3d..9de192e 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/dwarfreloc.exp +++ b/binutils-2.22/ld/testsuite/ld-x86-64/dwarfreloc.exp @@ -1,5 +1,5 @@ # Expect script for DWARF relocation test. -# Copyright 2008 Free Software Foundation, Inc. +# Copyright 2008, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -27,14 +27,15 @@ # `ld -r'. # # <1><57>: Abbrev Number: 2 (DW_TAG_variable) -# <58> DW_AT_name : i2 +# <58> DW_AT_name : i2 # ... -# <5d> DW_AT_type : <0x32> +# <5d> DW_AT_type : <0x32> # vs. -# <5d> DW_AT_type : <0x0> +# <5d> DW_AT_type : <0x0> # Only the testcase .s files are arch-dependent, the relocations are cross-arch. if { !([istarget "x86_64-*-elf*"] + || [istarget "x86_64-*-nacl*"] || [istarget "x86_64-*-linux*"]) } { return } diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/hidden2.d b/binutils-2.22/ld/testsuite/ld-x86-64/hidden2.d index 9a29f9a..d51c2fb 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/hidden2.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/hidden2.d @@ -8,6 +8,6 @@ Disassembly of section .text: [a-f0-9]+ <bar>: -[ ]*[a-f0-9]+: e8 33 fe ff ff callq 0 .* -[ ]*[a-f0-9]+: c3 retq +[ ]*[a-f0-9]+: e8 ([0-9a-f]{2} ){4} * callq 0 .* +[ ]*[a-f0-9]+: c3 retq * #pass diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-10.d b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-10.d new file mode 100644 index 0000000..43d9fbd --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-10.d @@ -0,0 +1,3 @@ +#as: --x32 +#ld: -shared -melf32_x86_64 +#error: .*relocation R_X86_64_PC32 against undefined symbol `bar' can not be used when making a shared object; recompile with -fPIC diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-10.s b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-10.s new file mode 100644 index 0000000..70e4a90 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-10.s @@ -0,0 +1,3 @@ + .globl foo +foo: + mov bar(%rip), %rax diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-11.d b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-11.d new file mode 100644 index 0000000..f6fc86c --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-11.d @@ -0,0 +1,3 @@ +#as: --x32 +#ld: -shared -melf32_x86_64 +#error: .*addend 0x7fffffff in relocation R_X86_64_64 against symbol `func' at 0x0 in section `.data.rel.local' is out of range diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-11.s b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-11.s new file mode 100644 index 0000000..438f094 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-11.s @@ -0,0 +1,12 @@ + .section .data.rel.local,"aw",@progbits + .align 8 +.Ljmp: + .quad func + 0x7fffffff + + .text + .space 0x1000 + .type func, @function + .global func + .hidden func +func: + ret diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4-nacl.d b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4-nacl.d new file mode 100644 index 0000000..56188af --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4-nacl.d @@ -0,0 +1,32 @@ +#source: ilp32-4.s +#as: --x32 +#ld: -m elf32_x86_64_nacl -shared --no-ld-generated-unwind-info +#readelf: -d -S --wide +#target: x86_64-*-nacl* + +There are 9 section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Addr +Off +Size +ES +Flg +Lk +Inf +Al + +\[ 0\] +NULL +0+ 0+ 0+ 00 +0 +0 +0 + +\[ 1\] \.text +PROGBITS +0+ 0+10000 +0+1 +00 +AX +0 +0 +4 + +\[ 2\] \.hash +HASH +100000b4 +0+b4 +0+2c +04 +A +3 +0 +4 + +\[ 3\] \.dynsym +DYNSYM +100000e0 +0+e0 +0+60 +10 +A +4 +2 +4 + +\[ 4\] \.dynstr +STRTAB +10000140 +0+140 +0+19 +00 +A +0 +0 +1 + +\[ 5\] \.dynamic +DYNAMIC +1001015c +0+15c +0+58 +08 +WA +4 +0 +4 + +\[ 6\] \.shstrtab +STRTAB +0+ +0+10001 +0+40 +00 +0 +0 +1 + +\[ 7\] \.symtab +SYMTAB +0+0 +[0-9a-f]+ +[0-9a-f]+ +10 +8 +[0-9] +4 + +\[ 8\] \.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 +Key to Flags: + W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\) + I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) + O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) + +Dynamic section at offset 0x15c contains 6 entries: + Tag Type Name/Value + 0x00000004 \(HASH\) 0x100000b4 + 0x00000005 \(STRTAB\) 0x10000140 + 0x00000006 \(SYMTAB\) 0x100000e0 + 0x0000000a \(STRSZ\) 25 \(bytes\) + 0x0000000b \(SYMENT\) 16 \(bytes\) + 0x00000000 \(NULL\) 0x0 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.d b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.d index 84dc7b2..54041f1 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.d @@ -1,36 +1,31 @@ -#source: start.s #as: --x32 #ld: -m elf32_x86_64 -shared --no-ld-generated-unwind-info #readelf: -d -S --wide +#target: x86_64-*-linux* -There are 10 section headers, starting at offset 0x22c: +There are 9 section headers, starting at offset 0x1d8: Section Headers: \[Nr\] Name Type Addr Off Size ES Flg Lk Inf Al \[ 0\] NULL 00000000 000000 000000 00 0 0 0 - \[ 1\] .hash HASH 00000094 000094 000030 04 A 2 0 4 - \[ 2\] .dynsym DYNSYM 000000c4 0000c4 000070 10 A 3 2 4 - \[ 3\] .dynstr STRTAB 00000134 000134 00001d 00 A 0 0 1 - \[ 4\] .rela.dyn RELA 00000154 000154 00000c 0c A 2 0 4 - \[ 5\] .text PROGBITS 00000160 000160 000005 00 AX 0 0 4 - \[ 6\] .dynamic DYNAMIC 00200168 000168 000078 08 WA 3 0 4 - \[ 7\] .shstrtab STRTAB 00000000 0001e0 00004a 00 0 0 1 - \[ 8\] .symtab SYMTAB 00000000 0003bc 0000e0 10 9 9 4 - \[ 9\] .strtab STRTAB 00000000 00049c 000043 00 0 0 1 + \[ 1\] .hash HASH 00000094 000094 00002c 04 A 2 0 4 + \[ 2\] .dynsym DYNSYM 000000c0 0000c0 000060 10 A 3 2 4 + \[ 3\] .dynstr STRTAB 00000120 000120 000019 00 A 0 0 1 + \[ 4\] .text PROGBITS 0000013c 00013c 000001 00 AX 0 0 4 + \[ 5\] .dynamic DYNAMIC 00200140 000140 000058 08 WA 3 0 4 + \[ 6\] .shstrtab STRTAB 00000000 000198 000040 00 0 0 1 + \[ 7\] .symtab SYMTAB 00000000 [0-9a-f]+ [0-9a-f]+ 10 8 [0-9] 4 + \[ 8\] .strtab STRTAB 00000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) -Dynamic section at offset 0x168 contains 10 entries: +Dynamic section at offset 0x140 contains 6 entries: Tag Type Name/Value 0x00000004 \(HASH\) 0x94 - 0x00000005 \(STRTAB\) 0x134 - 0x00000006 \(SYMTAB\) 0xc4 - 0x0000000a \(STRSZ\) 29 \(bytes\) + 0x00000005 \(STRTAB\) 0x120 + 0x00000006 \(SYMTAB\) 0xc0 + 0x0000000a \(STRSZ\) 25 \(bytes\) 0x0000000b \(SYMENT\) 16 \(bytes\) - 0x00000007 \(RELA\) 0x154 - 0x00000008 \(RELASZ\) 12 \(bytes\) - 0x00000009 \(RELAENT\) 12 \(bytes\) - 0x00000016 \(TEXTREL\) 0x0 0x00000000 \(NULL\) 0x0 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.s b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.s new file mode 100644 index 0000000..5f270c7 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.s @@ -0,0 +1,3 @@ + .globl _start +_start: + ret diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.d b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.d index e4673e5..4870c2b 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.d @@ -4,5 +4,5 @@ #... [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+ -[0-9a-f]+ +[0-9a-f]+ +R_X86_64_PC32 +[0-9a-f]+ +foo - 4 +[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ +foo \+ 0 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +foo \+ 0 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.s b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.s index 0d97807..ef0c60e 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.s +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.s @@ -1,6 +1,6 @@ .globl bar bar: - mov foo(%rip), %rax + mov foo@GOTPCREL(%rip), %rax .data xxx: diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-8.d b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-8.d index 2fe2c60..500d1e5 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-8.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-8.d @@ -1,13 +1,13 @@ #as: --x32 -#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000 +#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000 -Ttext 0xe0010000 #objdump: -dw -.*: +file format elf32-x86-64 +.*: +file format elf32-x86-64.* Disassembly of section .text: -e0000054 <_start>: -[ ]*[a-f0-9]+: 48 b8 54 00 00 e0 00 00 00 00 movabs \$0xe0000054,%rax -[ ]*[a-f0-9]+: 48 a1 54 00 00 e0 00 00 00 00 movabs 0xe0000054,%rax +e0010000 <_start>: +[ ]*[a-f0-9]+: 48 b8 00 00 01 e0 00 00 00 00 movabs \$0xe0010000,%rax +[ ]*[a-f0-9]+: 48 a1 00 00 01 e0 00 00 00 00 movabs 0xe0010000,%rax #pass diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-9.d b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-9.d index 8fced17..e73d53d 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-9.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/ilp32-9.d @@ -1,9 +1,9 @@ #as: --x32 -#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000 +#ld: -m elf32_x86_64 -Ttext-segment 0xe0000000 -Ttext 0xe0010000 #objdump: -s -j .text .*: +file format .* Contents of section .text: - e0000054 540000e0 00000000 T....... + e0010000 000001e0 00000000 ........ #pass diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/incompatible.l b/binutils-2.22/ld/testsuite/ld-x86-64/incompatible.l new file mode 100644 index 0000000..2f55de1 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/incompatible.l @@ -0,0 +1 @@ +.*incompatible.* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/line.exp b/binutils-2.22/ld/testsuite/ld-x86-64/line.exp index c68daaa..3ddaf17 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/line.exp +++ b/binutils-2.22/ld/testsuite/ld-x86-64/line.exp @@ -1,6 +1,6 @@ # Test that the linker reports undefined symbol line number correctly. # -# Copyright 2007 Free Software Foundation, Inc. +# Copyright 2007, 2012 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -20,10 +20,17 @@ # MA 02110-1301, USA. if { !([istarget "x86_64-*-elf*"] + || [istarget "x86_64-*-nacl*"] || [istarget "x86_64-*-linux*"]) } { return } +if [istarget "*-*-nacl*"] { + set emul "elf_x86_64_nacl" +} else { + set emul "elf_x86_64" +} + set testline "undefined line" if ![ld_assemble $as "--64 $srcdir/$subdir/undefined.s" tmpdir/undefined.o] { @@ -36,8 +43,8 @@ remote_file host delete "tmpdir/undefined" # Using -e start prevents the SunOS linker from trying to build a # shared library. -send_log "$ld -e start -melf_x86_64 -o tmpdir/undefined tmpdir/undefined.o\n" -set exec_output [run_host_cmd "$ld" "-e start -melf_x86_64 -o tmpdir/undefined tmpdir/undefined.o"] +send_log "$ld -e start -m$emul -o tmpdir/undefined tmpdir/undefined.o\n" +set exec_output [run_host_cmd "$ld" "-e start -m$emul -o tmpdir/undefined tmpdir/undefined.o"] send_log "$exec_output\n" verbose "$exec_output" diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pcrel16.d b/binutils-2.22/ld/testsuite/ld-x86-64/pcrel16.d index 5bbbb3e..b9dff1f 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/pcrel16.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pcrel16.d @@ -3,7 +3,7 @@ #ld: -Ttext 0x0 #objdump: -drj.text -m i8086 -.*: +file format elf.*-x86-64 +.*: +file format elf.*-x86-64.* Disassembly of section .text: diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/plt-nacl.pd b/binutils-2.22/ld/testsuite/ld-x86-64/plt-nacl.pd new file mode 100644 index 0000000..9a9363e --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/plt-nacl.pd @@ -0,0 +1,55 @@ +#source: plt.s +#as: --64 +#ld: -melf_x86_64_nacl +#objdump: -drj.plt +#target: x86_64-*-nacl* + +.*: +file format .* + +Disassembly of section .plt: + +[0-9a-f]+ <fn1@plt-0x40>: + +[0-9a-f]+: ff 35 ([0-9a-f]{2} ){4} * pushq 0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x8> + +[0-9a-f]+: 4c 8b 1d ([0-9a-f]{2} ){4} * mov 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x10> + +[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d + +[0-9a-f]+: 4d 01 fb add %r15,%r11 + +[0-9a-f]+: 41 ff e3 jmpq \*%r11 + +[0-9a-f]+: 2e 0f 1f 84 00 00 00 nopl %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 66 90 xchg %ax,%ax + +[0-9a-f]+ <fn1@plt>: + +[0-9a-f]+: 4c 8b 1d ([0-9a-f]{2} ){4} * mov 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x18> + +[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d + +[0-9a-f]+: 4d 01 fb add %r15,%r11 + +[0-9a-f]+: 41 ff e3 jmpq \*%r11 + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 68 00 00 00 00 pushq \$0x0 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmpq [0-9a-f]+ <fn1@plt-0x40> + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) + +[0-9a-f]+ <fn2@plt>: + +[0-9a-f]+: 4c 8b 1d ([0-9a-f]{2} ){4} * mov 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x20> + +[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d + +[0-9a-f]+: 4d 01 fb add %r15,%r11 + +[0-9a-f]+: 41 ff e3 jmpq \*%r11 + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 68 01 00 00 00 pushq \$0x1 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmpq [0-9a-f]+ <fn1@plt-0x40> + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\) diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/plt-pic.s b/binutils-2.22/ld/testsuite/ld-x86-64/plt-pic.s new file mode 100644 index 0000000..a6f03de --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/plt-pic.s @@ -0,0 +1,6 @@ + .text + .globl foo + .type foo,@function +foo: + call fn1@plt + jmp fn2@plt diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/plt.pd b/binutils-2.22/ld/testsuite/ld-x86-64/plt.pd new file mode 100644 index 0000000..b11cc22 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/plt.pd @@ -0,0 +1,24 @@ +#source: plt.s +#as: --64 +#ld: -melf_x86_64 +#objdump: -drj.plt +#target: x86_64-*-* + +.*: +file format .* + +Disassembly of section .plt: + +[0-9a-f]+ <fn1@plt-0x10>: + +[0-9a-f]+: ff 35 ([0-9a-f]{2} ){4} * pushq 0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x8> + +[0-9a-f]+: ff 25 ([0-9a-f]{2} ){4} * jmpq \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x10> + +[0-9a-f]+: 0f 1f 40 00 nopl 0x0\(%rax\) + +[0-9a-f]+ <fn1@plt>: + +[0-9a-f]+: ff 25 ([0-9a-f]{2} ){4} * jmpq \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x18> + +[0-9a-f]+: 68 00 00 00 00 pushq \$0x0 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmpq [0-9a-f]+ <fn1@plt-0x10> + +[0-9a-f]+ <fn2@plt>: + +[0-9a-f]+: ff 25 ([0-9a-f]{2} ){4} * jmpq \*0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x20> + +[0-9a-f]+: 68 01 00 00 00 pushq \$0x1 + +[0-9a-f]+: e9 ([0-9a-f]{2} ){4} * jmpq [0-9a-f]+ <fn1@plt-0x10> diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/plt.s b/binutils-2.22/ld/testsuite/ld-x86-64/plt.s new file mode 100644 index 0000000..3fd01af --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/plt.s @@ -0,0 +1,6 @@ + .text + .globl _start + .type _start,@function +_start: + call fn1 + call fn2 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pltlib.s b/binutils-2.22/ld/testsuite/ld-x86-64/pltlib.s new file mode 100644 index 0000000..99e2bb4 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pltlib.s @@ -0,0 +1,10 @@ + .text + .globl fn1 + .type fn1,@function +fn1: + ret + + .globl fn2 + .type fn2,@function +fn2: + ret diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr12570a.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr12570a.d new file mode 100644 index 0000000..1d79411 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr12570a.d @@ -0,0 +1,8 @@ +#name: PR ld/12570 (PLT) +#as: --64 +#ld: -melf_x86_64 -shared +#readelf: -wf --wide + +#... + DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0;.* +#... diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr12570a.s b/binutils-2.22/ld/testsuite/ld-x86-64/pr12570a.s new file mode 100644 index 0000000..38e0593 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr12570a.s @@ -0,0 +1,8 @@ + .text + .globl foo + .type foo, @function +foo: + .cfi_startproc + jmp bar@PLT + .cfi_endproc + .size foo, .-foo diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr12570b.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr12570b.d new file mode 100644 index 0000000..159aab4 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr12570b.d @@ -0,0 +1,9 @@ +#name: PR ld/12570 (no PLT) +#as: --64 +#ld: -melf_x86_64 -shared +#readelf: -wf --wide + +#failif +#... + DW_CFA_def_cfa_expression \(DW_OP_breg7 \(rsp\): 8; DW_OP_breg16 \(rip\): 0;.* +#... diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr12570b.s b/binutils-2.22/ld/testsuite/ld-x86-64/pr12570b.s new file mode 100644 index 0000000..e76b9f1 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr12570b.s @@ -0,0 +1,8 @@ + .text + .globl foo + .type foo, @function +foo: + .cfi_startproc + ret + .cfi_endproc + .size foo, .-foo diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr12718.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr12718.d index ed04fd6..1f1a16e 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/pr12718.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr12718.d @@ -3,15 +3,15 @@ #ld: -melf_x86_64 #readelf: -S --wide -There are 5 section headers, starting at offset 0xa0: +There are 5 section headers, starting at offset 0x[0-9a-f]+: Section Headers: - \[Nr\] Name Type Address Off Size ES Flg Lk Inf Al - \[ 0\] NULL 0000000000000000 000000 000000 00 0 0 0 - \[ 1\] .text PROGBITS 0000000000400078 000078 000006 00 AX 0 0 4 - \[ 2\] .shstrtab STRTAB 0000000000000000 00007e 000021 00 0 0 1 - \[ 3\] .symtab SYMTAB 0000000000000000 0001e0 0000a8 18 4 2 8 - \[ 4\] .strtab STRTAB 0000000000000000 000288 000024 00 0 0 1 + +\[Nr\] Name +Type +Address +Off +Size +ES +Flg +Lk +Inf +Al + +\[ 0\] +NULL +0+ +0+ +0+ +0+ +0 +0 +0 + +\[ 1\] +.text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +000006 00 +AX +0 +0 +4 + +\[ 2\] +.shstrtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +0+ +0 +0 +1 + +\[ 3\] +.symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 18 +4 +[0-9] +8 + +\[ 4\] +.strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ 00 +0 +0 +1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr12921.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr12921.d index c0fe8ab..61939e4 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/pr12921.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr12921.d @@ -3,17 +3,17 @@ #ld: -melf_x86_64 #readelf: -S --wide -There are 7 section headers, starting at offset 0x2058: +There are 7 section headers, starting at offset 0x[0-9a-f]+: Section Headers: - \[Nr\] Name Type Address Off Size ES Flg Lk Inf Al - \[ 0\] NULL 0000000000000000 000000 000000 00 0 0 0 - \[ 1\] .text PROGBITS 0000000000401000 001000 000001 00 AX 0 0 4096 - \[ 2\] .data PROGBITS 0000000000602000 002000 000028 00 WA 0 0 4096 - \[ 3\] .bss NOBITS 0000000000603000 002028 010000 00 WA 0 0 4096 - \[ 4\] .shstrtab STRTAB 0000000000000000 002028 00002c 00 0 0 1 - \[ 5\] .symtab SYMTAB 0000000000000000 002218 000120 18 6 6 8 - \[ 6\] .strtab STRTAB 0000000000000000 002338 000037 00 0 0 1 + +\[Nr\] Name +Type +Address +Off +Size +ES +Flg +Lk +Inf +Al + +\[ 0\] +NULL +0+ +0+ +0+ +0+ +0 +0 +0 + +\[ 1\] .text +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+1 00 +AX +0 +0 +4096 + +\[ 2\] .data +PROGBITS +[0-9a-f]+ +[0-9a-f]+000 +0+28 +00 +WA +0 +0 +4096 + +\[ 3\] .bss +NOBITS +[0-9a-f]+ +[0-9a-f]+028 +0+10000 +00 +WA +0 +0 +4096 + +\[ 4\] .shstrtab +STRTAB +0+ +[0-9a-f]+ +0+2c +00 +0 +0 +1 + +\[ 5\] .symtab +SYMTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +18 +6 +[0-9] +8 + +\[ 6\] .strtab +STRTAB +0+ +[0-9a-f]+ +[0-9a-f]+ +00 +0 +0 +1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1a.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1a.d index f0e98ff..cb404e0 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1a.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1a.d @@ -2,8 +2,12 @@ #name: PR ld/13082-1 (a) #as: --x32 #ld: -shared -melf32_x86_64 -#readelf: -r --wide +#readelf: -d -r --wide +Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries: +#... + 0x[0-9a-f]+ +\(RELACOUNT\) +1 +#... Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: Offset Info Type Sym. Value Symbol's Name \+ Addend [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1b.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1b.d index f10481f..dbe8a0a 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1b.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1b.d @@ -2,8 +2,12 @@ #name: PR ld/13082-1 (b) #as: --x32 #ld: -pie -melf32_x86_64 -#readelf: -r --wide +#readelf: -d -r --wide +Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries: +#... + 0x[0-9a-f]+ +\(RELACOUNT\) +1 +#... Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries: Offset Info Type Sym. Value Symbol's Name \+ Addend [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+ diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr13947.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr13947.d new file mode 100644 index 0000000..c8af34d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr13947.d @@ -0,0 +1,7 @@ +#ld: -shared --emit-relocs +#readelf: -S --wide + +#failif +#... + +\[ [0-9]\] .rela.rela.plt +RELA +[0-9a-f]+ +[0-9a-f]+ 0+ +.* +#... diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr13947.s b/binutils-2.22/ld/testsuite/ld-x86-64/pr13947.s new file mode 100644 index 0000000..71928cb --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr13947.s @@ -0,0 +1,5 @@ + .text + .globl foo + .type foo, @function +foo: + call bar@PLT diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr14207.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr14207.d new file mode 100644 index 0000000..2362e88 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr14207.d @@ -0,0 +1,9 @@ +#name: PR ld/14207 +#as: --64 +#ld: -melf_x86_64 -shared -z relro -z now +#readelf: -l --wide + +#failif +#... + NULL +.* +#... diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr14207.s b/binutils-2.22/ld/testsuite/ld-x86-64/pr14207.s new file mode 100644 index 0000000..496e67e --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr14207.s @@ -0,0 +1,24 @@ + + .section .ctors, "aw" + .space 0x10, 1 + + .section .dtors, "aw" + .space 0x10, 2 + + .section .jcr, "aw" + .space 0x8, 3 + + .section .data.rel.ro + .p2align 4 + .space 0x20, 3 + + .section .dynamic + .space 0xb0, 2 + + .section .got + .space 0x2a8, 4 + + .bss + .zero 0x840 + + diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr14215.d b/binutils-2.22/ld/testsuite/ld-x86-64/pr14215.d new file mode 100644 index 0000000..7d8e90d --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr14215.d @@ -0,0 +1,9 @@ +#name: PR ld/14215 +#as: --64 +#ld: -melf_x86_64 -shared -z relro +#readelf: -l --wide + +#failif +#... + 03 .dynamic .got .data +#... diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/pr14215.s b/binutils-2.22/ld/testsuite/ld-x86-64/pr14215.s new file mode 100644 index 0000000..281b638 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/pr14215.s @@ -0,0 +1,4 @@ + .section .got + .space 0x2a8, 4 + .data + .zero 24 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/protected2-l1om.d b/binutils-2.22/ld/testsuite/ld-x86-64/protected2-l1om.d index 32311a2..9142f8e 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/protected2-l1om.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/protected2-l1om.d @@ -2,6 +2,7 @@ #as: --64 -march=l1om #ld: -shared -melf_l1om #objdump: -drw --insn-width=7 +#target: x86_64-*-linux* .*: +file format .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/protected3-l1om.d b/binutils-2.22/ld/testsuite/ld-x86-64/protected3-l1om.d index 701d4e1..9ecc89c 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/protected3-l1om.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/protected3-l1om.d @@ -2,6 +2,7 @@ #as: --64 -march=l1om #ld: -shared -melf_l1om #readelf: -h +#target: x86_64-*-linux* ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/protected3.d b/binutils-2.22/ld/testsuite/ld-x86-64/protected3.d index 897c1cf..22a36ac 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/protected3.d +++ b/binutils-2.22/ld/testsuite/ld-x86-64/protected3.d @@ -8,6 +8,6 @@ Disassembly of section .text: 0+[a-f0-9]+ <bar>: -[ ]*[a-f0-9]+: 8b 05 [a-f0-9][a-f0-9] 00 [a-f0-9][a-f0-9] 00 mov 0x[a-f0-9]+\(%rip\),%eax # [a-f0-9]+ <foo> -[ ]*[a-f0-9]+: c3 retq +[ ]*[a-f0-9]+: 8b 05 ([0-9a-f]{2} ){4} * mov 0x[a-f0-9]+\(%rip\),%eax # [a-f0-9]+ <foo> +[ ]*[a-f0-9]+: c3 retq * #pass diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/protected4.d b/binutils-2.22/ld/testsuite/ld-x86-64/protected4.d new file mode 100644 index 0000000..a8a8980 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/protected4.d @@ -0,0 +1,5 @@ +#as: --64 +#ld: -shared -Bsymbolic -melf_x86_64 +#readelf: -r + +There are no relocations in this file. diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/protected4.s b/binutils-2.22/ld/testsuite/ld-x86-64/protected4.s new file mode 100644 index 0000000..c6e41ec --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/protected4.s @@ -0,0 +1,12 @@ + .text + .protected foo + .globl foo + .type foo, @function +foo: + ret + .size foo, .-foo + .globl bar + .type bar, @function +bar: + movabsq $foo@GOTOFF, %rax + .size bar, .-bar diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/protected5.d b/binutils-2.22/ld/testsuite/ld-x86-64/protected5.d new file mode 100644 index 0000000..afe172a --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/protected5.d @@ -0,0 +1,5 @@ +#as: --64 +#ld: -pie -melf_x86_64 +#readelf: -r + +There are no relocations in this file. diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/protected5.s b/binutils-2.22/ld/testsuite/ld-x86-64/protected5.s new file mode 100644 index 0000000..8e14138 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/protected5.s @@ -0,0 +1,12 @@ + .text + .protected foo + .globl foo + .type foo, @function +foo: + ret + .size foo, .-foo + .globl _start + .type _start, @function +_start: + movabsq $foo@GOTOFF, %rax + .size _start, .-_start diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/split-by-file-nacl.rd b/binutils-2.22/ld/testsuite/ld-x86-64/split-by-file-nacl.rd new file mode 100644 index 0000000..897ab0f --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/split-by-file-nacl.rd @@ -0,0 +1,17 @@ +There are 9 section headers, starting at offset 0x80: + +Section Headers: + \[Nr\] Name Type Address Off Size ES Flg Lk Inf Al + \[ 0\] NULL 0000000000000000 000000 000000 00 0 0 0 + \[ 1\] .text PROGBITS 0000000000000000 000040 000000 00 AX 0 0 4 + \[ 2\] .foo PROGBITS 0000000000000000 000040 000003 00 AXl 0 0 1 + \[ 3\] .data PROGBITS 0000000000000000 000044 000000 00 WA 0 0 4 + \[ 4\] .bss NOBITS 0000000000000000 000044 000000 00 WA 0 0 4 + \[ 5\] .foo.0 PROGBITS 0000000000000003 000044 000003 00 AXl 0 0 1 + \[ 6\] .shstrtab STRTAB 0000000000000000 000047 000038 00 0 0 1 + \[ 7\] .symtab SYMTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 18 8 [0-9] 8 + \[ 8\] .strtab STRTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 +Key to Flags: + W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\) + I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) + O \(extra OS processing required\) o \(OS specific\), p \(processor specific\) diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/split-by-file.rd b/binutils-2.22/ld/testsuite/ld-x86-64/split-by-file.rd index 7c63aaa..897ab0f 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/split-by-file.rd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/split-by-file.rd @@ -9,8 +9,8 @@ Section Headers: \[ 4\] .bss NOBITS 0000000000000000 000044 000000 00 WA 0 0 4 \[ 5\] .foo.0 PROGBITS 0000000000000003 000044 000003 00 AXl 0 0 1 \[ 6\] .shstrtab STRTAB 0000000000000000 000047 000038 00 0 0 1 - \[ 7\] .symtab SYMTAB 0000000000000000 0002c0 0000d8 18 8 6 8 - \[ 8\] .strtab STRTAB 0000000000000000 000398 000016 00 0 0 1 + \[ 7\] .symtab SYMTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 18 8 [0-9] 8 + \[ 8\] .strtab STRTAB 0000000000000000 [0-9a-f]+ [0-9a-f]+ 00 0 0 1 Key to Flags: W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\) I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\) diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin-nacl.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin-nacl.rd new file mode 100644 index 0000000..9585506 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin-nacl.rd @@ -0,0 +1,152 @@ +#source: tlsbinpic.s +#source: tlsbin.s +#as: --64 +#ld: -shared -melf_x86_64_nacl --no-ld-generated-unwind-info +#readelf: -WSsrl +#target: x86_64-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 00 +0 +0 +0 + +\[[ 0-9]+\] .plt +.* + +\[[ 0-9]+\] .text +PROGBITS +0+21000 [0-9a-f]+ 0+234 00 +AX +0 +0 +4096 + +\[[ 0-9]+\] .interp +.* + +\[[ 0-9]+\] .hash +.* + +\[[ 0-9]+\] .dynsym +.* + +\[[ 0-9]+\] .dynstr +.* + +\[[ 0-9]+\] .rela.dyn +.* + +\[[ 0-9]+\] .rela.plt +.* + +\[[ 0-9]+\] .tdata +PROGBITS +0+100303b0 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+10030410 [0-9a-f]+ 0+40 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10030410 [0-9a-f]+ 0+140 10 +WA +6 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+10030550 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+10030570 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .shstrtab +.* + +\[[ 0-9]+\] .symtab +.* + +\[[ 0-9]+\] .strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is EXEC \(Executable file\) +Entry point 0x2113c +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +PHDR.* + +INTERP.* +.*Requesting program interpreter.* + +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+1234 0x0+1234 R E +0x10000 + +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+3b0 0x0+3b0 R +0x10000 + +LOAD +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+1e0 0x0+1e0 RW +0x10000 + +DYNAMIC +0x0+410 0x0+10030410 0x0+10030410 0x0+140 0x0+140 RW +0x8 + +TLS +0x0+3b0 0x0+100303b0 0x0+100303b0 0x0+60 0x0+a0 R +0x1 + + Section to Segment mapping: + +Segment Sections... + +00 * + +01 +.interp * + +02 +.plt .text * + +03 +.interp .hash .dynsym .dynstr .rela.dyn .rela.plt * + +04 +.tdata .dynamic .got .got.plt * + +05 +.dynamic * + +06 +.tdata .tbss * + +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f ]+R_X86_64_TPOFF64 +0+ sG5 \+ 0 +[0-9a-f ]+R_X86_64_TPOFF64 +0+ sG2 \+ 0 +[0-9a-f ]+R_X86_64_TPOFF64 +0+ sG6 \+ 0 +[0-9a-f ]+R_X86_64_TPOFF64 +0+ sG1 \+ 0 + +Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f ]+R_X86_64_JUMP_SLOT[0-9a-f ]+__tls_get_addr \+ 0 + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +.* NOTYPE +LOCAL +DEFAULT +UND * +.* TLS +GLOBAL +DEFAULT +UND sG5 +.* TLS +GLOBAL +DEFAULT +UND sG2 +.* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr +.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start +.* TLS +GLOBAL +DEFAULT +UND sG6 +.* TLS +GLOBAL +DEFAULT +UND sG1 +.* NOTYPE +GLOBAL +DEFAULT +13 _edata +.* NOTYPE +GLOBAL +DEFAULT +13 _end + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +.* NOTYPE +LOCAL +DEFAULT +UND * +.* SECTION +LOCAL +DEFAULT +1 * +.* SECTION +LOCAL +DEFAULT +2 * +.* SECTION +LOCAL +DEFAULT +3 * +.* SECTION +LOCAL +DEFAULT +4 * +.* SECTION +LOCAL +DEFAULT +5 * +.* SECTION +LOCAL +DEFAULT +6 * +.* SECTION +LOCAL +DEFAULT +7 * +.* SECTION +LOCAL +DEFAULT +8 * +.* SECTION +LOCAL +DEFAULT +9 * +.* SECTION +LOCAL +DEFAULT +10 * +.* SECTION +LOCAL +DEFAULT +11 * +.* SECTION +LOCAL +DEFAULT +12 * +.* SECTION +LOCAL +DEFAULT +13 * +.* FILE +LOCAL +DEFAULT +ABS .* +.* TLS +LOCAL +DEFAULT +9 sl1 +.* TLS +LOCAL +DEFAULT +9 sl2 +.* TLS +LOCAL +DEFAULT +9 sl3 +.* TLS +LOCAL +DEFAULT +9 sl4 +.* TLS +LOCAL +DEFAULT +9 sl5 +.* TLS +LOCAL +DEFAULT +9 sl6 +.* TLS +LOCAL +DEFAULT +9 sl7 +.* TLS +LOCAL +DEFAULT +9 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* +.* TLS +LOCAL +DEFAULT +10 bl1 +.* TLS +LOCAL +DEFAULT +10 bl2 +.* TLS +LOCAL +DEFAULT +10 bl3 +.* TLS +LOCAL +DEFAULT +10 bl4 +.* TLS +LOCAL +DEFAULT +10 bl5 +.* TLS +LOCAL +DEFAULT +10 bl6 +.* TLS +LOCAL +DEFAULT +10 bl7 +.* TLS +LOCAL +DEFAULT +10 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +11 _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +13 _GLOBAL_OFFSET_TABLE_ +.* TLS +GLOBAL +DEFAULT +9 sg8 +.* TLS +GLOBAL +DEFAULT +10 bg8 +.* TLS +GLOBAL +DEFAULT +10 bg6 +.* TLS +GLOBAL +DEFAULT +UND sG5 +.* TLS +GLOBAL +DEFAULT +10 bg3 +.* TLS +GLOBAL +DEFAULT +9 sg3 +.* TLS +GLOBAL +HIDDEN +9 sh3 +.* TLS +GLOBAL +DEFAULT +UND sG2 +.* TLS +GLOBAL +DEFAULT +9 sg4 +.* TLS +GLOBAL +DEFAULT +9 sg5 +.* TLS +GLOBAL +DEFAULT +10 bg5 +.* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr +.* TLS +GLOBAL +HIDDEN +9 sh7 +.* TLS +GLOBAL +HIDDEN +9 sh8 +.* TLS +GLOBAL +DEFAULT +9 sg1 +.* FUNC +GLOBAL +DEFAULT +2 _start +.* TLS +GLOBAL +HIDDEN +9 sh4 +.* TLS +GLOBAL +DEFAULT +10 bg7 +.* TLS +GLOBAL +HIDDEN +9 sh5 +.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start +.* TLS +GLOBAL +DEFAULT +UND sG6 +.* FUNC +GLOBAL +DEFAULT +2 fn2 +.* TLS +GLOBAL +DEFAULT +9 sg2 +.* TLS +GLOBAL +DEFAULT +UND sG1 +.* TLS +GLOBAL +HIDDEN +9 sh1 +.* TLS +GLOBAL +DEFAULT +9 sg6 +.* TLS +GLOBAL +DEFAULT +9 sg7 +.* NOTYPE +GLOBAL +DEFAULT +13 _edata +.* NOTYPE +GLOBAL +DEFAULT +13 _end +.* TLS +GLOBAL +HIDDEN +9 sh2 +.* TLS +GLOBAL +HIDDEN +9 sh6 +.* TLS +GLOBAL +DEFAULT +10 bg2 +.* TLS +GLOBAL +DEFAULT +10 bg1 +.* TLS +GLOBAL +DEFAULT +10 bg4 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.dd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.dd index 5bb5979..a2ad193 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.dd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.dd @@ -14,300 +14,298 @@ # 0x60 -0x40 bg1..bg8 # 0x80 -0x20 bl1..bl8 -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Disassembly of section .text: -0+401000 <fn2>: - 401000: 55[ ]+push %rbp - 401001: 48 89 e5[ ]+mov %rsp,%rbp +[0-9a-f]+ <fn2>: + +[0-9a-f]+: 55[ ]+push %rbp + +[0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp # GD -> IE because variable is not defined in executable - 401004: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - 40100b: 00 00 * - 40100d: 48 03 05 dc 03 20 00[ ]+add 0x2003dc\(%rip\),%rax +# 6013f0 <.*> + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x158> # -> R_X86_64_TPOFF64 sG1 - 401014: 90[ ]+nop * - 401015: 90[ ]+nop * - 401016: 90[ ]+nop * - 401017: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through IE too - 401018: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - 40101f: 00 00 * - 401021: 48 03 05 b8 03 20 00[ ]+add 0x2003b8\(%rip\),%rax +# 6013e0 <.*> + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x148> # -> R_X86_64_TPOFF64 sG2 - 401028: 90[ ]+nop * - 401029: 90[ ]+nop * - 40102a: 90[ ]+nop * - 40102b: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with global variable defined in executable - 40102c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - 401033: 00 00 * - 401035: 48 8d 80 60 ff ff ff[ ]+lea -0xa0\(%rax\),%rax + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 48 8d 80 60 ff ff ff[ ]+lea -0xa0\(%rax\),%rax # sg1 - 40103c: 90[ ]+nop * - 40103d: 90[ ]+nop * - 40103e: 90[ ]+nop * - 40103f: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with local variable defined in executable - 401040: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - 401047: 00 00 * - 401049: 48 8d 80 80 ff ff ff[ ]+lea -0x80\(%rax\),%rax + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 48 8d 80 80 ff ff ff[ ]+lea -0x80\(%rax\),%rax # sl1 - 401050: 90[ ]+nop * - 401051: 90[ ]+nop * - 401052: 90[ ]+nop * - 401053: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with hidden variable defined in executable - 401054: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - 40105b: 00 00 * - 40105d: 48 8d 80 a0 ff ff ff[ ]+lea -0x60\(%rax\),%rax + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 48 8d 80 a0 ff ff ff[ ]+lea -0x60\(%rax\),%rax # sh1 - 401064: 90[ ]+nop * - 401065: 90[ ]+nop * - 401066: 90[ ]+nop * - 401067: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD -> LE - 401068: 66 66 66 64 48 8b 04[ ]+data32 data32 data32 mov %fs:0x0,%rax - 40106f: 25 00 00 00 00 * - 401074: 90[ ]+nop * - 401075: 90[ ]+nop * - 401076: 48 8d 90 81 ff ff ff[ ]+lea -0x7f\(%rax\),%rdx + +[0-9a-f]+: 66 66 66 64 48 8b 04[ ]+data32 data32 data32 mov %fs:0x0,%rax + +[0-9a-f]+: 25 00 00 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 90 81 ff ff ff[ ]+lea -0x7f\(%rax\),%rdx # sl1+1 - 40107d: 90[ ]+nop * - 40107e: 90[ ]+nop * - 40107f: 4c 8d 88 86 ff ff ff[ ]+lea -0x7a\(%rax\),%r9 + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4c 8d 88 86 ff ff ff[ ]+lea -0x7a\(%rax\),%r9 # sl2+2 - 401086: 90[ ]+nop * - 401087: 90[ ]+nop * - 401088: 90[ ]+nop * - 401089: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD -> LE against hidden variables - 40108a: 66 66 66 64 48 8b 04[ ]+data32 data32 data32 mov %fs:0x0,%rax - 401091: 25 00 00 00 00 * - 401096: 90[ ]+nop * - 401097: 90[ ]+nop * - 401098: 48 8d 90 a0 ff ff ff[ ]+lea -0x60\(%rax\),%rdx + +[0-9a-f]+: 66 66 66 64 48 8b 04[ ]+data32 data32 data32 mov %fs:0x0,%rax + +[0-9a-f]+: 25 00 00 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 90 a0 ff ff ff[ ]+lea -0x60\(%rax\),%rdx # sh1 - 40109f: 90[ ]+nop * - 4010a0: 90[ ]+nop * - 4010a1: 48 8d 88 a7 ff ff ff[ ]+lea -0x59\(%rax\),%rcx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 88 a7 ff ff ff[ ]+lea -0x59\(%rax\),%rcx # sh2+3 - 4010a8: 90[ ]+nop * - 4010a9: 90[ ]+nop * - 4010aa: 90[ ]+nop * - 4010ab: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE against global var - 4010ac: 64 4c 8b 0c 25 00 00[ ]+mov %fs:0x0,%r9 - 4010b3: 00 00 * - 4010b5: 90[ ]+nop * - 4010b6: 90[ ]+nop * - 4010b7: 4c 03 0d 22 03 20 00[ ]+add 0x200322\(%rip\),%r9 +# 6013e0 <.*> + +[0-9a-f]+: 64 4c 8b 0c 25 00 00[ ]+mov %fs:0x0,%r9 + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4c 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%r9 +# [0-9a-f]+ <_DYNAMIC\+0x148> # -> R_X86_64_TPOFF64 sG2 - 4010be: 90[ ]+nop * - 4010bf: 90[ ]+nop * - 4010c0: 90[ ]+nop * - 4010c1: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against global var defined in exec - 4010c2: 64 4c 8b 14 25 00 00[ ]+mov %fs:0x0,%r10 - 4010c9: 00 00 * - 4010cb: 90[ ]+nop * - 4010cc: 90[ ]+nop * - 4010cd: 4d 8d 92 60 ff ff ff[ ]+lea -0xa0\(%r10\),%r10 + +[0-9a-f]+: 64 4c 8b 14 25 00 00[ ]+mov %fs:0x0,%r10 + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4d 8d 92 60 ff ff ff[ ]+lea -0xa0\(%r10\),%r10 # sg1 - 4010d4: 90[ ]+nop * - 4010d5: 90[ ]+nop * - 4010d6: 90[ ]+nop * - 4010d7: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against local var - 4010d8: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - 4010df: 00 00 * - 4010e1: 90[ ]+nop * - 4010e2: 90[ ]+nop * - 4010e3: 48 8d 80 80 ff ff ff[ ]+lea -0x80\(%rax\),%rax + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 80 80 ff ff ff[ ]+lea -0x80\(%rax\),%rax # sl1 - 4010ea: 90[ ]+nop * - 4010eb: 90[ ]+nop * - 4010ec: 90[ ]+nop * - 4010ed: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against hidden var - 4010ee: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx - 4010f5: 00 00 * - 4010f7: 90[ ]+nop * - 4010f8: 90[ ]+nop * - 4010f9: 48 8d 89 a0 ff ff ff[ ]+lea -0x60\(%rcx\),%rcx + +[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 89 a0 ff ff ff[ ]+lea -0x60\(%rcx\),%rcx # sh1 - 401100: 90[ ]+nop * - 401101: 90[ ]+nop * - 401102: 90[ ]+nop * - 401103: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct access through %fs # IE against global var - 401104: 48 8b 0d cd 02 20 00[ ]+mov 0x2002cd\(%rip\),%rcx +# 6013d8 <.*> + +[0-9a-f]+: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x140> # -> R_X86_64_TPOFF64 sG5 - 40110b: 90[ ]+nop * - 40110c: 90[ ]+nop * - 40110d: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx - 401111: 90[ ]+nop * - 401112: 90[ ]+nop * - 401113: 90[ ]+nop * - 401114: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE->LE against local var - 401115: 49 c7 c3 90 ff ff ff[ ]+mov \$0xf+90,%r11 + +[0-9a-f]+: 49 c7 c3 90 ff ff ff[ ]+mov \$0xf+90,%r11 # sl5 - 40111c: 90[ ]+nop * - 40111d: 90[ ]+nop * - 40111e: 64 4d 8b 23[ ]+mov %fs:\(%r11\),%r12 - 401122: 90[ ]+nop * - 401123: 90[ ]+nop * - 401124: 90[ ]+nop * - 401125: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 4d 8b 23[ ]+mov %fs:\(%r11\),%r12 + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE->LE against hidden var - 401126: 48 c7 c2 b0 ff ff ff[ ]+mov \$0xf+b0,%rdx - 40112d: 90[ ]+nop * - 40112e: 90[ ]+nop * - 40112f: 64 48 8b 12[ ]+mov %fs:\(%rdx\),%rdx + +[0-9a-f]+: 48 c7 c2 b0 ff ff ff[ ]+mov \$0xf+b0,%rdx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 12[ ]+mov %fs:\(%rdx\),%rdx # sh5 - 401133: 90[ ]+nop * - 401134: 90[ ]+nop * - 401135: 90[ ]+nop * - 401136: 90[ ]+nop * - 401137: c9[ ]+leaveq * - 401138: c3[ ]+retq * - 401139: 90[ ]+nop * - 40113a: 90[ ]+nop * - 40113b: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: c9[ ]+leaveq * + +[0-9a-f]+: c3[ ]+retq * + +[0-9a-f]+: 0f 1f 00[ ]+nopl \(%rax\) -0+40113c <_start>: - 40113c: 55[ ]+push %rbp - 40113d: 48 89 e5[ ]+mov %rsp,%rbp +[0-9a-f]+ <_start>: + +[0-9a-f]+: 55[ ]+push %rbp + +[0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp # IE against global var - 401140: 64 4c 8b 1c 25 00 00[ ]+mov %fs:0x0,%r11 - 401147: 00 00 * - 401149: 90[ ]+nop * - 40114a: 90[ ]+nop * - 40114b: 4c 03 1d 96 02 20 00[ ]+add 0x200296\(%rip\),%r11 +# 6013e8 <.*> + +[0-9a-f]+: 64 4c 8b 1c 25 00 00[ ]+mov %fs:0x0,%r11 + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4c 03 1d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_TPOFF64 sG6 - 401152: 90[ ]+nop * - 401153: 90[ ]+nop * - 401154: 90[ ]+nop * - 401155: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against global var defined in exec - 401156: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx - 40115d: 00 00 * - 40115f: 90[ ]+nop * - 401160: 90[ ]+nop * - 401161: 48 8d 92 d4 ff ff ff[ ]+lea -0x2c\(%rdx\),%rdx + +[0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 92 d4 ff ff ff[ ]+lea -0x2c\(%rdx\),%rdx # bg6 - 401168: 90[ ]+nop * - 401169: 90[ ]+nop * - 40116a: 90[ ]+nop * - 40116b: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against local var - 40116c: 64 4c 8b 24 25 00 00[ ]+mov %fs:0x0,%r12 - 401173: 00 00 * - 401175: 90[ ]+nop * - 401176: 90[ ]+nop * - 401177: 49 81 c4 f4 ff ff ff[ ]+add \$0xf+f4,%r12 + +[0-9a-f]+: 64 4c 8b 24 25 00 00[ ]+mov %fs:0x0,%r12 + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 49 81 c4 f4 ff ff ff[ ]+add \$0xf+f4,%r12 # bl6 - 40117e: 90[ ]+nop * - 40117f: 90[ ]+nop * - 401180: 90[ ]+nop * - 401181: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # direct %fs access IE -> LE against local var - 401182: 48 c7 c2 fc ff ff ff[ ]+mov \$0xf+fc,%rdx + +[0-9a-f]+: 48 c7 c2 fc ff ff ff[ ]+mov \$0xf+fc,%rdx # bl8 - 401189: 90[ ]+nop * - 40118a: 90[ ]+nop * - 40118b: 64 48 8b 02[ ]+mov %fs:\(%rdx\),%rax - 40118f: 90[ ]+nop * - 401190: 90[ ]+nop * - 401191: 90[ ]+nop * - 401192: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 02[ ]+mov %fs:\(%rdx\),%rax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against hidden but not local var - 401193: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx - 40119a: 00 00 * - 40119c: 90[ ]+nop * - 40119d: 90[ ]+nop * - 40119e: 48 8d 92 b4 ff ff ff[ ]+lea -0x4c\(%rdx\),%rdx + +[0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 92 b4 ff ff ff[ ]+lea -0x4c\(%rdx\),%rdx # sh6 - 4011a5: 90[ ]+nop * - 4011a6: 90[ ]+nop * - 4011a7: 90[ ]+nop * - 4011a8: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # direct %fs access IE -> LE against hidden but not local var - 4011a9: 48 c7 c2 bc ff ff ff[ ]+mov \$0xf+bc,%rdx + +[0-9a-f]+: 48 c7 c2 bc ff ff ff[ ]+mov \$0xf+bc,%rdx # sh8 - 4011b0: 90[ ]+nop * - 4011b1: 90[ ]+nop * - 4011b2: 64 48 8b 02[ ]+mov %fs:\(%rdx\),%rax - 4011b6: 90[ ]+nop * - 4011b7: 90[ ]+nop * - 4011b8: 90[ ]+nop * - 4011b9: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 02[ ]+mov %fs:\(%rdx\),%rax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, global var defined in exec - 4011ba: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - 4011c1: 00 00 * - 4011c3: 90[ ]+nop * - 4011c4: 90[ ]+nop * - 4011c5: 48 8d 90 64 ff ff ff[ ]+lea -0x9c\(%rax\),%rdx + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 90 64 ff ff ff[ ]+lea -0x9c\(%rax\),%rdx # sg2 - 4011cc: 90[ ]+nop * - 4011cd: 90[ ]+nop * - 4011ce: 90[ ]+nop * - 4011cf: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, local var, non-canonical sequence - 4011d0: 49 c7 c1 e6 ff ff ff[ ]+mov \$0xf+e6,%r9 + +[0-9a-f]+: 49 c7 c1 e6 ff ff ff[ ]+mov \$0xf+e6,%r9 # bl2+2 - 4011d7: 90[ ]+nop * - 4011d8: 90[ ]+nop * - 4011d9: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx - 4011e0: 00 00 * - 4011e2: 90[ ]+nop * - 4011e3: 90[ ]+nop * - 4011e4: 4c 01 ca[ ]+add %r9,%rdx - 4011e7: 90[ ]+nop * - 4011e8: 90[ ]+nop * - 4011e9: 90[ ]+nop * - 4011ea: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4c 01 ca[ ]+add %r9,%rdx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, hidden var defined in exec, non-canonical sequence - 4011eb: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx - 4011f2: 00 00 * - 4011f4: 90[ ]+nop * - 4011f5: 90[ ]+nop * - 4011f6: 48 81 c2 a5 ff ff ff[ ]+add \$0xf+a5,%rdx + +[0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 81 c2 a5 ff ff ff[ ]+add \$0xf+a5,%rdx # sh2+1 - 4011fd: 90[ ]+nop * - 4011fe: 90[ ]+nop * - 4011ff: 90[ ]+nop * - 401200: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct %fs access # LE, global var defined in exec - 401201: 64 48 8b 04 25 68 ff[ ]+mov %fs:0xf+68,%rax - 401208: ff ff * + +[0-9a-f]+: 64 48 8b 04 25 68 ff[ ]+mov %fs:0xf+68,%rax + +[0-9a-f]+: ff ff * # sg3 - 40120a: 90[ ]+nop * - 40120b: 90[ ]+nop * - 40120c: 90[ ]+nop * - 40120d: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, local var - 40120e: 64 4c 8b 14 25 eb ff[ ]+mov %fs:0xf+eb,%r10 - 401215: ff ff * + +[0-9a-f]+: 64 4c 8b 14 25 eb ff[ ]+mov %fs:0xf+eb,%r10 + +[0-9a-f]+: ff ff * # bl3+3 - 401217: 90[ ]+nop * - 401218: 90[ ]+nop * - 401219: 90[ ]+nop * - 40121a: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, hidden var defined in exec - 40121b: 64 48 8b 14 25 a9 ff[ ]+mov %fs:0xf+a9,%rdx - 401222: ff ff * + +[0-9a-f]+: 64 48 8b 14 25 a9 ff[ ]+mov %fs:0xf+a9,%rdx + +[0-9a-f]+: ff ff * # sh3+1 - 401224: 90[ ]+nop * - 401225: 90[ ]+nop * - 401226: 90[ ]+nop * - 401227: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, large model - 401228: 48 ba a5 ff ff ff ff[ ]+movabs \$0xffffffffffffffa5,%rdx - 40122f: ff ff ff * - 401232: c9[ ]+leaveq * - 401233: c3[ ]+retq * + +[0-9a-f]+: 48 ba a5 ff ff ff ff[ ]+movabs \$0xffffffffffffffa5,%rdx + +[0-9a-f]+: ff ff ff * + +[0-9a-f]+: c9[ ]+leaveq * + +[0-9a-f]+: c3[ ]+retq * diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.rd index 9bfa3cc..e3285a3 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.rd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.rd @@ -71,11 +71,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* TLS +GLOBAL +DEFAULT +UND sG5 .* TLS +GLOBAL +DEFAULT +UND sG2 .* FUNC +GLOBAL +DEFAULT +UND __tls_get_addr -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* TLS +GLOBAL +DEFAULT +UND sG1 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +13 _edata +.* NOTYPE +GLOBAL +DEFAULT +13 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -93,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +11 * .* SECTION +LOCAL +DEFAULT +12 * .* SECTION +LOCAL +DEFAULT +13 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +9 sl1 .* TLS +LOCAL +DEFAULT +9 sl2 .* TLS +LOCAL +DEFAULT +9 sl3 @@ -101,6 +102,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sl6 .* TLS +LOCAL +DEFAULT +9 sl7 .* TLS +LOCAL +DEFAULT +9 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +10 bl1 .* TLS +LOCAL +DEFAULT +10 bl2 .* TLS +LOCAL +DEFAULT +10 bl3 @@ -109,6 +111,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +10 bl6 .* TLS +LOCAL +DEFAULT +10 bl7 .* TLS +LOCAL +DEFAULT +10 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* .* OBJECT +LOCAL +DEFAULT +11 _DYNAMIC .* OBJECT +LOCAL +DEFAULT +13 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +9 sg8 @@ -130,7 +133,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh4 .* TLS +GLOBAL +DEFAULT +10 bg7 .* TLS +GLOBAL +HIDDEN +9 sh5 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +13 __bss_start .* TLS +GLOBAL +DEFAULT +UND sG6 .* FUNC +GLOBAL +DEFAULT +8 fn2 .* TLS +GLOBAL +DEFAULT +9 sg2 @@ -138,8 +141,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +GLOBAL +HIDDEN +9 sh1 .* TLS +GLOBAL +DEFAULT +9 sg6 .* TLS +GLOBAL +DEFAULT +9 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +13 _edata +.* NOTYPE +GLOBAL +DEFAULT +13 _end .* TLS +GLOBAL +HIDDEN +9 sh2 .* TLS +GLOBAL +HIDDEN +9 sh6 .* TLS +GLOBAL +DEFAULT +10 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.sd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.sd index 7fa7904..5a31dcd 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.sd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.sd @@ -5,8 +5,8 @@ #objdump: -sj.got #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section .got: - 6013d8 00000000 00000000 00000000 00000000 .* - 6013e8 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.td b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.td index 6f87a19..0f7b3a5 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.td +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.td @@ -5,12 +5,12 @@ #objdump: -sj.tdata #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section .tdata: - 601234 11000000 12000000 13000000 14000000 .* - 601244 15000000 16000000 17000000 18000000 .* - 601254 41000000 42000000 43000000 44000000 .* - 601264 45000000 46000000 47000000 48000000 .* - 601274 01010000 02010000 03010000 04010000 .* - 601284 05010000 06010000 07010000 08010000 .* + [0-9a-f]+ 11000000 12000000 13000000 14000000 .* + [0-9a-f]+ 15000000 16000000 17000000 18000000 .* + [0-9a-f]+ 41000000 42000000 43000000 44000000 .* + [0-9a-f]+ 45000000 46000000 47000000 48000000 .* + [0-9a-f]+ 01010000 02010000 03010000 04010000 .* + [0-9a-f]+ 05010000 06010000 07010000 08010000 .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd new file mode 100644 index 0000000..0c47134 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd @@ -0,0 +1,143 @@ +#source: tlsbindesc.s +#source: tlsbin.s +#as: --64 +#ld: -shared -melf_x86_64_nacl --no-ld-generated-unwind-info +#readelf: -WSsrl +#target: x86_64-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 00 +0 +0 +0 + +\[[ 0-9]+\] .text +PROGBITS +0+20000 0+10000 0+200 00 +AX +0 +0 +4096 + +\[[ 0-9]+\] .interp +.* + +\[[ 0-9]+\] .hash +.* + +\[[ 0-9]+\] .dynsym +.* + +\[[ 0-9]+\] .dynstr +.* + +\[[ 0-9]+\] .rela.dyn +.* + +\[[ 0-9]+\] .tdata +PROGBITS +0+10030370 0+370 0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+100303d0 0+3d0 0+40 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100303d0 0+3d0 0+100 10 +WA +5 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+100304d0 0+4d0 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+100304f0 0+4f0 0+18 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .shstrtab +.* + +\[[ 0-9]+\] .symtab +.* + +\[[ 0-9]+\] .strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is EXEC \(Executable file\) +Entry point 0x20108 +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +PHDR.* + +INTERP.* +.*Requesting program interpreter.* + +LOAD +0x0+10000 0x0+20000 0x0+20000 0x0+200 0x0+200 R E 0x10000 + +LOAD +0x0+ 0x0+10020000 0x0+10020000 0x0+370 0x0+370 R +0x10000 + +LOAD +0x0+370 0x0+10030370 0x0+10030370 0x0+198 0x0+198 RW +0x10000 + +DYNAMIC +0x0+3d0 0x0+100303d0 0x0+100303d0 0x0+100 0x0+100 RW +0x8 + +TLS +0x0+370 0x0+10030370 0x0+10030370 0x0+60 0x0+a0 R +0x1 + + Section to Segment mapping: + +Segment Sections... + +00 * + +01 +.interp * + +02 +.text * + +03 +.interp .hash .dynsym .dynstr .rela.dyn * + +04 +.tdata .dynamic .got .got.plt * + +05 +.dynamic * + +06 +.tdata .tbss * + +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +0+100304d0 +0+100000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 +0+100304d8 +0+200000012 R_X86_64_TPOFF64 +0+ sG2 \+ 0 +0+100304e0 +0+400000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 +0+100304e8 +0+500000012 R_X86_64_TPOFF64 +0+ sG1 \+ 0 + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +7 sl1 + +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +7 sl2 + +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +7 sl3 + +[0-9]+: 0+2c +0 +TLS +LOCAL +DEFAULT +7 sl4 + +[0-9]+: 0+30 +0 +TLS +LOCAL +DEFAULT +7 sl5 + +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +7 sl6 + +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7 + +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+80 +0 +TLS +LOCAL +DEFAULT +8 bl1 + +[0-9]+: 0+84 +0 +TLS +LOCAL +DEFAULT +8 bl2 + +[0-9]+: 0+88 +0 +TLS +LOCAL +DEFAULT +8 bl3 + +[0-9]+: 0+8c +0 +TLS +LOCAL +DEFAULT +8 bl4 + +[0-9]+: 0+90 +0 +TLS +LOCAL +DEFAULT +8 bl5 + +[0-9]+: 0+94 +0 +TLS +LOCAL +DEFAULT +8 bl6 + +[0-9]+: 0+98 +0 +TLS +LOCAL +DEFAULT +8 bl7 + +[0-9]+: 0+9c +0 +TLS +LOCAL +DEFAULT +8 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+a0 +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ + +[0-9]+: 0+100303d0 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC + +[0-9]+: 0+100304f0 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +7 sg8 + +[0-9]+: 0+7c +0 +TLS +GLOBAL +DEFAULT +8 bg8 + +[0-9]+: 0+74 +0 +TLS +GLOBAL +DEFAULT +8 bg6 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 0+68 +0 +TLS +GLOBAL +DEFAULT +8 bg3 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +7 sg3 + +[0-9]+: 0+48 +0 +TLS +GLOBAL +HIDDEN +7 sh3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +7 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5 + +[0-9]+: 0+70 +0 +TLS +GLOBAL +DEFAULT +8 bg5 + +[0-9]+: 0+58 +0 +TLS +GLOBAL +HIDDEN +7 sh7 + +[0-9]+: 0+5c +0 +TLS +GLOBAL +HIDDEN +7 sh8 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1 + +[0-9]+: 0+20108 +0 +FUNC +GLOBAL +DEFAULT +1 _start + +[0-9]+: 0+4c +0 +TLS +GLOBAL +HIDDEN +7 sh4 + +[0-9]+: 0+78 +0 +TLS +GLOBAL +DEFAULT +8 bg7 + +[0-9]+: 0+50 +0 +TLS +GLOBAL +HIDDEN +7 sh5 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: 0+20000 +0 +FUNC +GLOBAL +DEFAULT +1 fn2 + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: 0+40 +0 +TLS +GLOBAL +HIDDEN +7 sh1 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end + +[0-9]+: 0+44 +0 +TLS +GLOBAL +HIDDEN +7 sh2 + +[0-9]+: 0+54 +0 +TLS +GLOBAL +HIDDEN +7 sh6 + +[0-9]+: 0+64 +0 +TLS +GLOBAL +DEFAULT +8 bg2 + +[0-9]+: 0+60 +0 +TLS +GLOBAL +DEFAULT +8 bg1 + +[0-9]+: 0+6c +0 +TLS +GLOBAL +DEFAULT +8 bg4 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.dd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.dd index b1cfacb..166ec94 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.dd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.dd @@ -14,291 +14,289 @@ # 0x60 -0x40 bg1..bg8 # 0x80 -0x20 bl1..bl8 -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Disassembly of section .text: -0+401000 <fn2>: - [0-9a-f]+: 55[ ]+push %rbp - [0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp +[0-9a-f]+ <fn2>: + +[0-9a-f]+: 55[ ]+push %rbp + +[0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp # GD -> IE because variable is not defined in executable - [0-9a-f]+: 48 8b 05 6d 03 20 00[ ]+mov 0x20036d\(%rip\),%rax +# 601378 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x118> # -> R_X86_64_TPOFF64 sG1 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is not defined in executable where # the variable is referenced through IE too - [0-9a-f]+: 48 8b 05 50 03 20 00[ ]+mov 0x200350\(%rip\),%rax +# 601368 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x108> # -> R_X86_64_TPOFF64 sG2 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with global variable defined in executable - [0-9a-f]+: 48 c7 c0 60 ff ff ff[ ]+mov \$0xf+60,%rax + +[0-9a-f]+: 48 c7 c0 60 ff ff ff[ ]+mov \$0xf+60,%rax # sg1 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with local variable defined in executable - [0-9a-f]+: 48 c7 c0 80 ff ff ff[ ]+mov \$0xf+80,%rax + +[0-9a-f]+: 48 c7 c0 80 ff ff ff[ ]+mov \$0xf+80,%rax # sl1 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # GD -> LE with hidden variable defined in executable - [0-9a-f]+: 48 c7 c0 a0 ff ff ff[ ]+mov \$0xf+a0,%rax + +[0-9a-f]+: 48 c7 c0 a0 ff ff ff[ ]+mov \$0xf+a0,%rax # sh1 - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD -> LE - [0-9a-f]+: 48 c7 c0 00 00 00 00[ ]+mov \$0x0,%rax - [0-9a-f]+: 66 90[ ]+xchg %ax,%ax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 48 8d 90 81 ff ff ff[ ]+lea -0x7f\(%rax\),%rdx + +[0-9a-f]+: 48 c7 c0 00 00 00 00[ ]+mov \$0x0,%rax + +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 90 81 ff ff ff[ ]+lea -0x7f\(%rax\),%rdx # sl1+1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 4c 8d 88 86 ff ff ff[ ]+lea -0x7a\(%rax\),%r9 + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4c 8d 88 86 ff ff ff[ ]+lea -0x7a\(%rax\),%r9 # sl2+2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LD -> LE against hidden variables - [0-9a-f]+: 48 8d 90 a0 ff ff ff[ ]+lea -0x60\(%rax\),%rdx + +[0-9a-f]+: 48 8d 90 a0 ff ff ff[ ]+lea -0x60\(%rax\),%rdx # sh1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 48 8d 88 a7 ff ff ff[ ]+lea -0x59\(%rax\),%rcx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 88 a7 ff ff ff[ ]+lea -0x59\(%rax\),%rcx # sh2+3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE against global var - [0-9a-f]+: 64 4c 8b 0c 25 00 00[ ]+mov %fs:0x0,%r9 - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 4c 03 0d de 02 20 00[ ]+add 0x2002de\(%rip\),%r9 +# 601368 <.*> + +[0-9a-f]+: 64 4c 8b 0c 25 00 00[ ]+mov %fs:0x0,%r9 + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4c 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%r9 +# [0-9a-f]+ <_DYNAMIC\+0x108> # -> R_X86_64_TPOFF64 sG2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against global var defined in exec - [0-9a-f]+: 64 4c 8b 14 25 00 00[ ]+mov %fs:0x0,%r10 - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 4d 8d 92 60 ff ff ff[ ]+lea -0xa0\(%r10\),%r10 + +[0-9a-f]+: 64 4c 8b 14 25 00 00[ ]+mov %fs:0x0,%r10 + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4d 8d 92 60 ff ff ff[ ]+lea -0xa0\(%r10\),%r10 # sg1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against local var - [0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 48 8d 80 80 ff ff ff[ ]+lea -0x80\(%rax\),%rax + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 80 80 ff ff ff[ ]+lea -0x80\(%rax\),%rax # sl1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against hidden var - [0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 48 8d 89 a0 ff ff ff[ ]+lea -0x60\(%rcx\),%rcx + +[0-9a-f]+: 64 48 8b 0c 25 00 00[ ]+mov %fs:0x0,%rcx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 89 a0 ff ff ff[ ]+lea -0x60\(%rcx\),%rcx # sh1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct access through %fs # IE against global var - [0-9a-f]+: 48 8b 0d 89 02 20 00[ ]+mov 0x200289\(%rip\),%rcx +# 601360 <.*> + +[0-9a-f]+: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x100> # -> R_X86_64_TPOFF64 sG5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 11[ ]+mov %fs:\(%rcx\),%rdx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE->LE against local var - [0-9a-f]+: 49 c7 c3 90 ff ff ff[ ]+mov \$0xf+90,%r11 + +[0-9a-f]+: 49 c7 c3 90 ff ff ff[ ]+mov \$0xf+90,%r11 # sl5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 64 4d 8b 23[ ]+mov %fs:\(%r11\),%r12 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 4d 8b 23[ ]+mov %fs:\(%r11\),%r12 + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE->LE against hidden var - [0-9a-f]+: 48 c7 c2 b0 ff ff ff[ ]+mov \$0xf+b0,%rdx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 64 48 8b 12[ ]+mov %fs:\(%rdx\),%rdx + +[0-9a-f]+: 48 c7 c2 b0 ff ff ff[ ]+mov \$0xf+b0,%rdx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 12[ ]+mov %fs:\(%rdx\),%rdx # sh5 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: c9[ ]+leaveq * - [0-9a-f]+: c3[ ]+retq * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: c9[ ]+leaveq * + +[0-9a-f]+: c3[ ]+retq * + +[0-9a-f]+: 0f 1f 00[ ]+nopl \(%rax\) [0-9a-f]+ <_start>: - [0-9a-f]+: 55[ ]+push %rbp - [0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp + +[0-9a-f]+: 55[ ]+push %rbp + +[0-9a-f]+: 48 89 e5[ ]+mov %rsp,%rbp # IE against global var - [0-9a-f]+: 64 4c 8b 1c 25 00 00[ ]+mov %fs:0x0,%r11 - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 4c 03 1d 52 02 20 00[ ]+add 0x200252\(%rip\),%r11 +# 601370 <.*> + +[0-9a-f]+: 64 4c 8b 1c 25 00 00[ ]+mov %fs:0x0,%r11 + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4c 03 1d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_DYNAMIC\+0x110> # -> R_X86_64_TPOFF64 sG6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against global var defined in exec - [0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 48 8d 92 d4 ff ff ff[ ]+lea -0x2c\(%rdx\),%rdx + +[0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 92 d4 ff ff ff[ ]+lea -0x2c\(%rdx\),%rdx # bg6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against local var - [0-9a-f]+: 64 4c 8b 24 25 00 00[ ]+mov %fs:0x0,%r12 - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 49 81 c4 f4 ff ff ff[ ]+add \$0xf+f4,%r12 + +[0-9a-f]+: 64 4c 8b 24 25 00 00[ ]+mov %fs:0x0,%r12 + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 49 81 c4 f4 ff ff ff[ ]+add \$0xf+f4,%r12 # bl6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # direct %fs access IE -> LE against local var - [0-9a-f]+: 48 c7 c2 fc ff ff ff[ ]+mov \$0xf+fc,%rdx + +[0-9a-f]+: 48 c7 c2 fc ff ff ff[ ]+mov \$0xf+fc,%rdx # bl8 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 64 48 8b 02[ ]+mov %fs:\(%rdx\),%rax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 02[ ]+mov %fs:\(%rdx\),%rax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # IE -> LE against hidden but not local var - [0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 48 8d 92 b4 ff ff ff[ ]+lea -0x4c\(%rdx\),%rdx + +[0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 92 b4 ff ff ff[ ]+lea -0x4c\(%rdx\),%rdx # sh6 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # direct %fs access IE -> LE against hidden but not local var - [0-9a-f]+: 48 c7 c2 bc ff ff ff[ ]+mov \$0xf+bc,%rdx + +[0-9a-f]+: 48 c7 c2 bc ff ff ff[ ]+mov \$0xf+bc,%rdx # sh8 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 64 48 8b 02[ ]+mov %fs:\(%rdx\),%rax - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 02[ ]+mov %fs:\(%rdx\),%rax + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, global var defined in exec - [0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 48 8d 90 64 ff ff ff[ ]+lea -0x9c\(%rax\),%rdx + +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 8d 90 64 ff ff ff[ ]+lea -0x9c\(%rax\),%rdx # sg2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, local var, non-canonical sequence - [0-9a-f]+: 49 c7 c1 e6 ff ff ff[ ]+mov \$0xf+e6,%r9 + +[0-9a-f]+: 49 c7 c1 e6 ff ff ff[ ]+mov \$0xf+e6,%r9 # bl2+2 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 4c 01 ca[ ]+add %r9,%rdx - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 4c 01 ca[ ]+add %r9,%rdx + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, hidden var defined in exec, non-canonical sequence - [0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx - [0-9a-f]+: 00 00 * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 48 81 c2 a5 ff ff ff[ ]+add \$0xf+a5,%rdx + +[0-9a-f]+: 64 48 8b 14 25 00 00[ ]+mov %fs:0x0,%rdx + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 48 81 c2 a5 ff ff ff[ ]+add \$0xf+a5,%rdx # sh2+1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # Direct %fs access # LE, global var defined in exec - [0-9a-f]+: 64 48 8b 04 25 68 ff[ ]+mov %fs:0xf+68,%rax - [0-9a-f]+: ff ff * + +[0-9a-f]+: 64 48 8b 04 25 68 ff[ ]+mov %fs:0xf+68,%rax + +[0-9a-f]+: ff ff * # sg3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, local var - [0-9a-f]+: 64 4c 8b 14 25 eb ff[ ]+mov %fs:0xf+eb,%r10 - [0-9a-f]+: ff ff * + +[0-9a-f]+: 64 4c 8b 14 25 eb ff[ ]+mov %fs:0xf+eb,%r10 + +[0-9a-f]+: ff ff * # bl3+3 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, hidden var defined in exec - [0-9a-f]+: 64 48 8b 14 25 a9 ff[ ]+mov %fs:0xf+a9,%rdx - [0-9a-f]+: ff ff * + +[0-9a-f]+: 64 48 8b 14 25 a9 ff[ ]+mov %fs:0xf+a9,%rdx + +[0-9a-f]+: ff ff * # sh3+1 - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * - [0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * + +[0-9a-f]+: 90[ ]+nop * # LE, large model - [0-9a-f]+: 48 ba a5 ff ff ff ff[ ]+movabs \$0xffffffffffffffa5,%rdx - [0-9a-f]+: ff ff ff * - [0-9a-f]+: c9[ ]+leaveq * - [0-9a-f]+: c3[ ]+retq * + +[0-9a-f]+: 48 ba a5 ff ff ff ff[ ]+movabs \$0xffffffffffffffa5,%rdx + +[0-9a-f]+: ff ff ff * + +[0-9a-f]+: c9[ ]+leaveq * + +[0-9a-f]+: c3[ ]+retq * diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.rd index 3527495..475535c 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.rd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.rd @@ -64,11 +64,11 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -84,6 +84,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +7 sl1 +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +7 sl2 +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +7 sl3 @@ -92,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +7 sl6 +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7 +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8 +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 0+80 +0 +TLS +LOCAL +DEFAULT +8 bl1 +[0-9]+: 0+84 +0 +TLS +LOCAL +DEFAULT +8 bl2 +[0-9]+: 0+88 +0 +TLS +LOCAL +DEFAULT +8 bl3 @@ -100,6 +102,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+94 +0 +TLS +LOCAL +DEFAULT +8 bl6 +[0-9]+: 0+98 +0 +TLS +LOCAL +DEFAULT +8 bl7 +[0-9]+: 0+9c +0 +TLS +LOCAL +DEFAULT +8 bl8 +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 0+a0 +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_ +[0-9]+: 0+601260 +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC +[0-9]+: 0+601380 +0 +OBJECT +LOCAL +DEFAULT +11 _GLOBAL_OFFSET_TABLE_ @@ -121,7 +124,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+4c +0 +TLS +GLOBAL +HIDDEN +7 sh4 +[0-9]+: 0+78 +0 +TLS +GLOBAL +DEFAULT +8 bg7 +[0-9]+: 0+50 +0 +TLS +GLOBAL +HIDDEN +7 sh5 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: 0+401000 +0 +FUNC +GLOBAL +DEFAULT +6 fn2 +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2 @@ -129,8 +132,8 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+40 +0 +TLS +GLOBAL +HIDDEN +7 sh1 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +11 _end +[0-9]+: 0+44 +0 +TLS +GLOBAL +HIDDEN +7 sh2 +[0-9]+: 0+54 +0 +TLS +GLOBAL +HIDDEN +7 sh6 +[0-9]+: 0+64 +0 +TLS +GLOBAL +DEFAULT +8 bg2 diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.sd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.sd index dbea32d..50e6fa5 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.sd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.sd @@ -5,8 +5,8 @@ #objdump: -sj.got #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section .got: - 601360 00000000 00000000 00000000 00000000 .* - 601370 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.td b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.td index 1dc6c28..54ec0e3 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.td +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.td @@ -5,12 +5,12 @@ #objdump: -sj.tdata #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section .tdata: - 601200 11000000 12000000 13000000 14000000 .* - 601210 15000000 16000000 17000000 18000000 .* - 601220 41000000 42000000 43000000 44000000 .* - 601230 45000000 46000000 47000000 48000000 .* - 601240 01010000 02010000 03010000 04010000 .* - 601250 05010000 06010000 07010000 08010000 .* + [0-9a-f]+ 11000000 12000000 13000000 14000000 .* + [0-9a-f]+ 15000000 16000000 17000000 18000000 .* + [0-9a-f]+ 41000000 42000000 43000000 44000000 .* + [0-9a-f]+ 45000000 46000000 47000000 48000000 .* + [0-9a-f]+ 01010000 02010000 03010000 04010000 .* + [0-9a-f]+ 05010000 06010000 07010000 08010000 .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd new file mode 100644 index 0000000..e3903c4 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd @@ -0,0 +1,42 @@ +#source: tlsdesc.s +#source: tlspic2.s +#as: --64 +#ld: -shared -melf_x86_64_nacl --no-ld-generated-unwind-info +#objdump: -drj.plt +#target: x86_64-*-nacl* + +.*: +file format elf64-x86-64-nacl + +Disassembly of section .plt: + +[0-9a-f]+ <.*@plt-0x40>: + +[0-9a-f]+: ff 35 .. .. .. .. pushq 0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x8> + +[0-9a-f]+: 4c 8b 1d .. .. .. .. mov 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x10> + +[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d + +[0-9a-f]+: 4d 01 fb add %r15,%r11 + +[0-9a-f]+: 41 ff e3 jmpq \*%r11 + +[0-9a-f]+: 2e 0f 1f 84 00 00 00 nopl %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 66 90 xchg %ax,%ax + +[0-9a-f]+ <.*@plt>: + +[0-9a-f]+: ff 35 .. .. .. .. pushq 0x[0-9a-f]+\(%rip\) +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x8> + +[0-9a-f]+: 4c 8b 1d .. .. .. .. mov 0x[0-9a-f]+\(%rip\),%r11 +# [0-9a-f]+ <_DYNAMIC\+0x190> + +[0-9a-f]+: 41 83 e3 e0 and \$0xffffffe0,%r11d + +[0-9a-f]+: 4d 01 fb add %r15,%r11 + +[0-9a-f]+: 41 ff e3 jmpq \*%r11 + +[0-9a-f]+: 2e 0f 1f 84 00 00 00 nopl %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 00 00 * + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 66 66 66 66 66 66 2e data32 data32 data32 data32 data32 nopw %cs:0x0\(%rax,%rax,1\) + +[0-9a-f]+: 0f 1f 84 00 00 00 00 * + +[0-9a-f]+: 00 * + +[0-9a-f]+: 66 90 xchg %ax,%ax diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd new file mode 100644 index 0000000..01a9a7a --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd @@ -0,0 +1,164 @@ +#source: tlsdesc.s +#source: tlspic2.s +#as: --64 +#ld: -shared -melf_x86_64_nacl --no-ld-generated-unwind-info +#readelf: -WSsrld +#target: x86_64-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 00 +0 +0 +0 + +\[[ 0-9]+\] .plt +PROGBITS +0+ [0-9a-f]+ +0+80 +40 +AX +0 +0 +32 + +\[[ 0-9]+\] .text +PROGBITS +0+1000 [0-9a-f]+ +0+154 00 +AX +0 +0 4096 + +\[[ 0-9]+\] .hash +.* + +\[[ 0-9]+\] .dynsym +.* + +\[[ 0-9]+\] .dynstr +.* + +\[[ 0-9]+\] .rela.dyn +.* + +\[[ 0-9]+\] .rela.plt +.* + +\[[ 0-9]+\] .tdata +PROGBITS +0+10010488 [0-9a-f]+ +0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+100104e8 [0-9a-f]+ 0+20 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+100104e8 [0-9a-f]+ 0+150 10 +WA +5 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+10010638 [0-9a-f]+ 0+48 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010680 [0-9a-f]+ 0+68 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .shstrtab +.* + +\[[ 0-9]+\] .symtab +.* + +\[[ 0-9]+\] .strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is DYN \(Shared object file\) +Entry point 0x1000 +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +LOAD +0x[0-9a-f]+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000 + +LOAD +0x[0-9a-f]+ 0x0+10000000 0x0+10000000 0x[0-9a-f]+ 0x[0-9a-f]+ R +0x10000 + +LOAD +0x[0-9a-f]+ 0x0+10010488 0x0+10010488 0x0+260 0x0+260 RW +0x10000 + +DYNAMIC +0x[0-9a-f]+ 0x0+100104e8 0x0+100104e8 0x0+150 0x0+150 RW +0x8 + +TLS +0x[0-9a-f]+ 0x0+10010488 0x0+10010488 0x0+60 0x0+80 R +0x1 + + Section to Segment mapping: + +Segment Sections... + +00 +.plt .text * + +01 +.hash .dynsym .dynstr .rela.dyn .rela.plt * + +02 +.tdata .dynamic .got .got.plt * + +03 +.dynamic * + +04 +.tdata .tbss * + +Dynamic section at offset 0x[0-9a-f]+ contains 16 entries: + +Tag +Type +Name/Value + 0x[0-9a-f]+ +\(HASH\).* + 0x[0-9a-f]+ +\(STRTAB\).* + 0x[0-9a-f]+ +\(SYMTAB\).* + 0x[0-9a-f]+ +\(STRSZ\).* + 0x[0-9a-f]+ +\(SYMENT\).* + 0x[0-9a-f]+ +\(PLTGOT\).* + 0x[0-9a-f]+ +\(PLTRELSZ\).* + 0x[0-9a-f]+ +\(PLTREL\).* + 0x[0-9a-f]+ +\(JMPREL\).* + 0x[0-9a-f]+ +\(TLSDESC_PLT\) +0x40 + 0x[0-9a-f]+ +\(TLSDESC_GOT\) +0x10010678 + 0x[0-9a-f]+ +\(RELA\).* + 0x[0-9a-f]+ +\(RELASZ\).* + 0x[0-9a-f]+ +\(RELAENT\).* + 0x[0-9a-f]+ +\(FLAGS\).* + 0x[0-9a-f]+ +\(NULL\).* + +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +0+10010638 +[0-9a-f]+ R_X86_64_TPOFF64 +24 +0+10010640 +[0-9a-f]+ R_X86_64_TPOFF64 +30 +0+10010648 +[0-9a-f]+ R_X86_64_TPOFF64 +64 +0+10010658 +[0-9a-f]+ R_X86_64_TPOFF64 +50 +0+10010660 +[0-9a-f]+ R_X86_64_TPOFF64 +70 +0+10010670 +[0-9a-f]+ R_X86_64_TPOFF64 +44 +0+10010650 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0 +0+10010668 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0 + +Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 5 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +0+100106c8 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0 +0+10010698 +[0-9a-f]+ R_X86_64_TLSDESC +20 +0+100106d8 +[0-9a-f]+ R_X86_64_TLSDESC +40 +0+100106a8 +[0-9a-f]+ R_X86_64_TLSDESC +60 +0+100106b8 +[0-9a-f]+ R_X86_64_TLSDESC +0 + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +8 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +8 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 + +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +2 fn1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 * +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +8 sl1 + +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +8 sl2 + +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +8 sl3 + +[0-9]+: 0+2c +0 +TLS +LOCAL +DEFAULT +8 sl4 + +[0-9]+: 0+30 +0 +TLS +LOCAL +DEFAULT +8 sl5 + +[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +8 sl6 + +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +8 sl7 + +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +8 sl8 + +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 + +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +8 sh3 + +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +9 sH2 + +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +9 sH7 + +[0-9]+: 0+58 +0 +TLS +LOCAL +DEFAULT +8 sh7 + +[0-9]+: 0+5c +0 +TLS +LOCAL +DEFAULT +8 sh8 + +[0-9]+: 0+6c +0 +TLS +LOCAL +DEFAULT +9 sH4 + +[0-9]+: 0+4c +0 +TLS +LOCAL +DEFAULT +8 sh4 + +[0-9]+: 0+68 +0 +TLS +LOCAL +DEFAULT +9 sH3 + +[0-9]+: 0+50 +0 +TLS +LOCAL +DEFAULT +8 sh5 + +[0-9]+: 0+70 +0 +TLS +LOCAL +DEFAULT +9 sH5 + +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +9 sH6 + +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +9 sH8 + +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +8 sh1 + +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +8 sh2 + +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +8 _TLS_MODULE_BASE_ + +[0-9]+: 0+100104e8 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC + +[0-9]+: 0+10010680 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 + +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +8 sg3 + +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +8 sg4 + +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 + +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +2 fn1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start + +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 + +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 + +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.dd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.dd index 2507e42..9f3fcbe 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.dd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.dd @@ -5,7 +5,7 @@ #objdump: -drj.text #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Disassembly of section .text: @@ -17,7 +17,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD - +[0-9a-f]+: 48 8d 05 89 03 20 00[ ]+lea 0x200389\(%rip\),%rax +# 201398 <.*> + +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x48> # -> R_X86_64_TLSDESC sg1 +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -25,7 +25,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE because variable is referenced through IE too - +[0-9a-f]+: 48 8b 05 1c 03 20 00[ ]+mov 0x20031c\(%rip\),%rax +# 201338 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x180> # -> R_X86_64_TPOFF64 sg2 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * @@ -33,7 +33,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD against local variable - +[0-9a-f]+: 48 8d 05 3f 03 20 00[ ]+lea 0x20033f\(%rip\),%rax +# 201368 <.*> + +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x18> # -> R_X86_64_TLSDESC [0 0x2000000000000000] +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -41,7 +41,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE against local variable referenced through IE too - +[0-9a-f]+: 48 8b 05 d2 02 20 00[ ]+mov 0x2002d2\(%rip\),%rax +# 201308 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_TPOFF64 *ABS*+0x24 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * @@ -49,7 +49,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD against hidden and local variable - +[0-9a-f]+: 48 8d 05 65 03 20 00[ ]+lea 0x200365\(%rip\),%rax +# 2013a8 <.*> + +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x58> # -> R_X86_64_TLSDESC [0 0x4000000000000000] +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -57,7 +57,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden and local variable referenced through IE too - +[0-9a-f]+: 48 8b 05 f0 02 20 00[ ]+mov 0x2002f0\(%rip\),%rax +# 201340 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x188> # -> R_X86_64_TPOFF64 *ABS*+0x44 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * @@ -65,7 +65,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD against hidden but not local variable - +[0-9a-f]+: 48 8d 05 1b 03 20 00[ ]+lea 0x20031b\(%rip\),%rax +# 201378 <.*> + +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x28> # -> R_X86_64_TLSDESC [0 0x6000000000000000] +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -73,7 +73,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE against hidden but not local variable referenced through IE too - +[0-9a-f]+: 48 8b 05 ae 02 20 00[ ]+mov 0x2002ae\(%rip\),%rax +# 201318 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x160> # -> R_X86_64_TPOFF64 *ABS*+0x64 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * @@ -81,7 +81,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # LD - +[0-9a-f]+: 48 8d 05 11 03 20 00[ ]+lea 0x200311\(%rip\),%rax +# 201388 <.*> + +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x38> # -> R_X86_64_TLSDESC [0 0x000000000000000] +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -115,7 +115,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 71 02 20 00[ ]+add 0x200271\(%rip\),%rcx +# 201338 <.*> + +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x180> # -> R_X86_64_TPOFF64 sg2 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -126,7 +126,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 4c 03 35 2b 02 20 00[ ]+add 0x20022b\(%rip\),%r14 +# 201308 <.*> + +[0-9a-f]+: 4c 03 35 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%r14 +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_TPOFF64 *ABS*+0x24 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -137,7 +137,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 4d 02 20 00[ ]+add 0x20024d\(%rip\),%rcx +# 201340 <.*> + +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x188> # -> R_X86_64_TPOFF64 *ABS*+0x44 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -148,7 +148,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 0f 02 20 00[ ]+add 0x20020f\(%rip\),%rcx +# 201318 <.*> + +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x160> # -> R_X86_64_TPOFF64 *ABS*+0x64 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -156,7 +156,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * # Direct access through %fs # IE against global var - +[0-9a-f]+: 48 8b 0d 0c 02 20 00[ ]+mov 0x20020c\(%rip\),%rcx +# 201320 <.*> + +[0-9a-f]+: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x168> # -> R_X86_64_TPOFF64 sg5 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -166,7 +166,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # IE against local var - +[0-9a-f]+: 4c 8b 15 eb 01 20 00[ ]+mov 0x2001eb\(%rip\),%r10 +# 201310 <.*> + +[0-9a-f]+: 4c 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%r10 +# [0-9a-f]+ <_DYNAMIC\+0x158> # -> R_X86_64_TPOFF64 *ABS*+0x30 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -176,7 +176,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # IE against hidden and local var - +[0-9a-f]+: 48 8b 15 f2 01 20 00[ ]+mov 0x2001f2\(%rip\),%rdx +# 201328 <.*> + +[0-9a-f]+: 48 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rdx +# [0-9a-f]+ <_DYNAMIC\+0x170> # -> R_X86_64_TPOFF64 *ABS*+0x50 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -186,7 +186,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # IE against hidden but not local var - +[0-9a-f]+: 48 8b 0d e9 01 20 00[ ]+mov 0x2001e9\(%rip\),%rcx +# 201330 <.*> + +[0-9a-f]+: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x178> # -> R_X86_64_TPOFF64 *ABS*+0x70 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.rd index df8d466..fd576a7 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.rd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.rd @@ -69,22 +69,22 @@ Dynamic section at offset 0x[0-9a-f]+ contains 16 entries: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -0+201308 +[0-9a-f]+ R_X86_64_TPOFF64 +0+24 -0+201310 +[0-9a-f]+ R_X86_64_TPOFF64 +0+30 -0+201318 +[0-9a-f]+ R_X86_64_TPOFF64 +0+64 -0+201328 +[0-9a-f]+ R_X86_64_TPOFF64 +0+50 -0+201330 +[0-9a-f]+ R_X86_64_TPOFF64 +0+70 -0+201340 +[0-9a-f]+ R_X86_64_TPOFF64 +0+44 +0+201308 +[0-9a-f]+ R_X86_64_TPOFF64 +24 +0+201310 +[0-9a-f]+ R_X86_64_TPOFF64 +30 +0+201318 +[0-9a-f]+ R_X86_64_TPOFF64 +64 +0+201328 +[0-9a-f]+ R_X86_64_TPOFF64 +50 +0+201330 +[0-9a-f]+ R_X86_64_TPOFF64 +70 +0+201340 +[0-9a-f]+ R_X86_64_TPOFF64 +44 0+201320 +[0-9a-f]+ R_X86_64_TPOFF64 +0+10 sg5 \+ 0 0+201338 +[0-9a-f]+ R_X86_64_TPOFF64 +0+4 sg2 \+ 0 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 5 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend 0+201398 +[0-9a-f]+ R_X86_64_TLSDESC +0+ sg1 \+ 0 -0+201368 +[0-9a-f]+ R_X86_64_TLSDESC +0+20 -0+2013a8 +[0-9a-f]+ R_X86_64_TLSDESC +0+40 -0+201378 +[0-9a-f]+ R_X86_64_TLSDESC +0+60 -0+201388 +[0-9a-f]+ R_X86_64_TLSDESC +0+ +0+201368 +[0-9a-f]+ R_X86_64_TLSDESC +20 +0+2013a8 +[0-9a-f]+ R_X86_64_TLSDESC +40 +0+201378 +[0-9a-f]+ R_X86_64_TLSDESC +60 +0+201388 +[0-9a-f]+ R_X86_64_TLSDESC +0 Symbol table '\.dynsym' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -97,12 +97,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -119,6 +119,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 * +.* FILE +LOCAL +DEFAULT +ABS .* +[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +8 sl1 +[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +8 sl2 +[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +8 sl3 @@ -128,8 +129,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +8 sl7 +[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +8 sl8 +[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +9 sH1 - +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +8 _TLS_MODULE_BASE_ - +[0-9]+: 0+2011b8 +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC +[0-9]+: 0+48 +0 +TLS +LOCAL +DEFAULT +8 sh3 +[0-9]+: 0+64 +0 +TLS +LOCAL +DEFAULT +9 sH2 +[0-9]+: 0+78 +0 +TLS +LOCAL +DEFAULT +9 sH7 @@ -143,18 +142,21 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: 0+74 +0 +TLS +LOCAL +DEFAULT +9 sH6 +[0-9]+: 0+7c +0 +TLS +LOCAL +DEFAULT +9 sH8 +[0-9]+: 0+40 +0 +TLS +LOCAL +DEFAULT +8 sh1 - +[0-9]+: 0+201350 +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+44 +0 +TLS +LOCAL +DEFAULT +8 sh2 +[0-9]+: 0+54 +0 +TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* + +[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +8 _TLS_MODULE_BASE_ + +[0-9]+: 0+2011b8 +0 +OBJECT +LOCAL +DEFAULT +10 _DYNAMIC + +[0-9]+: 0+201350 +0 +OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+1c +0 +TLS +GLOBAL +DEFAULT +8 sg8 +[0-9]+: 0+8 +0 +TLS +GLOBAL +DEFAULT +8 sg3 +[0-9]+: 0+c +0 +TLS +GLOBAL +DEFAULT +8 sg4 +[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +8 sg5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +8 sg1 +[0-9]+: 0+1000 +0 +FUNC +GLOBAL +DEFAULT +7 fn1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 __bss_start +[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +8 sg2 +[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +8 sg6 +[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +8 sg7 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +12 _end diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.sd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.sd index 89e2a39..88b9354 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.sd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.sd @@ -5,19 +5,19 @@ #objdump: -s -j.got -j.got.plt #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section \.got: - 201308 00000000 00000000 00000000 00000000 .* - 201318 00000000 00000000 00000000 00000000 .* - 201328 00000000 00000000 00000000 00000000 .* - 201338 00000000 00000000 00000000 00000000 .* - 201348 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 .* Contents of section \.got\.plt: - 201350 b8112000 00000000 00000000 00000000 .* - 201360 00000000 00000000 00000000 00000000 .* - 201370 00000000 00000000 00000000 00000000 .* - 201380 00000000 00000000 00000000 00000000 .* - 201390 00000000 00000000 00000000 00000000 .* - 2013a0 00000000 00000000 00000000 00000000 .* - 2013b0 00000000 00000000 .* + [0-9a-f]+ [0-9a-f]+ 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.td b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.td index 479cb84..ac28992 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.td +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.td @@ -5,12 +5,12 @@ #objdump: -sj.tdata #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section .tdata: - 201154 11000000 12000000 13000000 14000000 .* - 201164 15000000 16000000 17000000 18000000 .* - 201174 41000000 42000000 43000000 44000000 .* - 201184 45000000 46000000 47000000 48000000 .* - 201194 01010000 02010000 03010000 04010000 .* - 2011a4 05010000 06010000 07010000 08010000 .* + [0-9a-f]+ 11000000 12000000 13000000 14000000 .* + [0-9a-f]+ 15000000 16000000 17000000 18000000 .* + [0-9a-f]+ 41000000 42000000 43000000 44000000 .* + [0-9a-f]+ 45000000 46000000 47000000 48000000 .* + [0-9a-f]+ 01010000 02010000 03010000 04010000 .* + [0-9a-f]+ 05010000 06010000 07010000 08010000 .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsg.sd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsg.sd index 4eaf3cd..7652d57 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsg.sd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsg.sd @@ -4,7 +4,7 @@ #objdump: -sj.debug_foobar #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section .debug_foobar: 0+ 18000000 0+ +.* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgd5.dd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgd5.dd index ad9cd6e..64ad1cd 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgd5.dd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgd5.dd @@ -2,7 +2,7 @@ #as: --64 #ld: -melf_x86_64 tmpdir/tlsgd5 #objdump: -drw -#target: x86_64-*-linux* +#target: x86_64-*-linux* x86_64-*-nacl* .*: +file format .* @@ -10,5 +10,5 @@ Disassembly of section .text: [a-f0-9]+ <_start>: [ ]*[a-f0-9]+: 64 48 8b 04 25 00 00 00 00 mov %fs:0x0,%rax -[ ]*[a-f0-9]+: 48 03 05 40 01 20 00 add 0x200140\(%rip\),%rax # 6003a8 <_DYNAMIC\+0x100> +[ ]*[a-f0-9]+: 48 03 05 ([0-9a-f]{2} ){4} * add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x100> #pass diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgd6.dd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgd6.dd index 8bdb468..146fbc4 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgd6.dd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgd6.dd @@ -10,5 +10,5 @@ Disassembly of section .text: [a-f0-9]+ <_start>: [ ]*[a-f0-9]+: 64 8b 04 25 00 00 00 00 mov %fs:0x0,%eax -[ ]*[a-f0-9]+: 48 03 05 c5 00 20 00 add 0x2000c5\(%rip\),%rax # 600270 <_DYNAMIC\+0x80> +[ ]*[a-f0-9]+: 48 03 05 ([0-9a-f]{2} ){4} * add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x80> #pass diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd new file mode 100644 index 0000000..e867862 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd @@ -0,0 +1,106 @@ +#source: tlsgdesc.s +#as: --64 +#ld: -shared -melf64_x86_64_nacl --no-ld-generated-unwind-info +#readelf: -WSsrl +#target: x86_64-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 0+ +0 +0 +0 + +\[[ 0-9]+\] \.plt +.* + +\[[ 0-9]+\] \.text +.* + +\[[ 0-9]+\] \.hash +.* + +\[[ 0-9]+\] \.dynsym +.* + +\[[ 0-9]+\] \.dynstr +.* + +\[[ 0-9]+\] \.rela.dyn +.* + +\[[ 0-9]+\] \.rela.plt +.* + +\[[ 0-9]+\] \.dynamic +.* + +\[[ 0-9]+\] \.got +.* + +\[[ 0-9]+\] \.got.plt +.* + +\[[ 0-9]+\] \.shstrtab +.* + +\[[ 0-9]+\] \.symtab +.* + +\[[ 0-9]+\] \.strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is DYN \(Shared object file\) +Entry point 0x[0-9a-f]+ +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +LOAD.* + +LOAD.* + +LOAD.* + +DYNAMIC.* + + Section to Segment mapping: + +Segment Sections... + +00 +.plt .text * + +01 +.hash .dynsym .dynstr .rela.dyn .rela.plt * + +02 +.dynamic .got .got.plt * + +03 +.dynamic * + +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 8 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f]+ +0+200000012 R_X86_64_TPOFF64 +0+ sG3 \+ 0 +[0-9a-f]+ +0+300000012 R_X86_64_TPOFF64 +0+ sG5 \+ 0 +[0-9a-f]+ +0+400000010 R_X86_64_DTPMOD64 +0+ sG2 \+ 0 +[0-9a-f]+ +0+400000011 R_X86_64_DTPOFF64 +0+ sG2 \+ 0 +[0-9a-f]+ +0+500000012 R_X86_64_TPOFF64 +0+ sG4 \+ 0 +[0-9a-f]+ +0+800000012 R_X86_64_TPOFF64 +0+ sG6 \+ 0 +[0-9a-f]+ +0+a00000010 R_X86_64_DTPMOD64 +0+ sG1 \+ 0 +[0-9a-f]+ +0+a00000011 R_X86_64_DTPOFF64 +0+ sG1 \+ 0 + +Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 3 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f]+ +0+600000007 R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0 +[0-9a-f]+ +0+a00000024 R_X86_64_TLSDESC +0+ sG1 \+ 0 +[0-9a-f]+ +0+400000024 R_X86_64_TLSDESC +0+ sG2 \+ 0 + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name + +[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +1 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +2 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +3 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +4 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +5 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +6 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +7 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * + +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +8 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _GLOBAL_OFFSET_TABLE_ + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 + +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 + +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +2 fc1 + +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.dd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.dd index fa467a5..635974c 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.dd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.dd @@ -4,7 +4,7 @@ #objdump: -drj.text #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Disassembly of section .text: @@ -20,7 +20,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 5e 02 20 00[ ]+add 0x20025e\(%rip\),%rcx +# 200668 <.*> + +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_TPOFF64 sG3 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -31,24 +31,24 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 68 02 20 00[ ]+add 0x200268\(%rip\),%rcx +# 200688 <.*> + +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x170> # -> R_X86_64_TPOFF64 sG4 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD, gd first - +[0-9a-f]+: 66 48 8d 3d 6c 02 20[ ]+data32 lea 0x20026c\(%rip\),%rdi +# 200698 <.*> - +[0-9a-f]+: 00 * + +[0-9a-f]+: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180> + +[0-9a-f]+: [0-9a-f]{2} * # -> R_X86_64_DTPMOD64 sG1 - +[0-9a-f]+: 66 66 48 e8 9c ff ff[ ]+data32 data32 callq [0-9a-f]+ <.*> - +[0-9a-f]+: ff[ ]+ + +[0-9a-f]+: 66 66 48 e8 ([0-9a-f]{2} ){3}[ ]+data32 data32 callq [0-9a-f]+ <__tls_get_addr@plt> + +[0-9a-f]+: [0-9a-f]{2} * # -> R_X86_64_JUMP_SLOT __tls_get_addr +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 8d 05 a1 02 20 00[ ]+lea 0x2002a1\(%rip\),%rax +# 2006e0 <.*> + +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x30> # -> R_X86_64_TLSDESC sG1 +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * @@ -56,18 +56,18 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD, desc first - +[0-9a-f]+: 48 8d 05 84 02 20 00[ ]+lea 0x200284\(%rip\),%rax +# 2006d0 <.*> + +[0-9a-f]+: 48 8d 05 ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_GLOBAL_OFFSET_TABLE_\+0x20> # -> R_X86_64_TLSDESC sG2 +[0-9a-f]+: ff 10[ ]+callq \*\(%rax\) +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 66 48 8d 3d 1e 02 20[ ]+data32 lea 0x20021e\(%rip\),%rdi +# 200678 <.*> - +[0-9a-f]+: 00 * + +[0-9a-f]+: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160> + +[0-9a-f]+: [0-9a-f]{2} * # -> R_X86_64_DTPMOD64 sG2 - +[0-9a-f]+: 66 66 48 e8 6e ff ff[ ]+data32 data32 callq [0-9a-f]+ <.*> - +[0-9a-f]+: ff[ ]+ + +[0-9a-f]+: 66 66 48 e8 ([0-9a-f]{2} ){3}[ ]+data32 data32 callq [0-9a-f]+ <__tls_get_addr@plt> + +[0-9a-f]+: [0-9a-f]{2} * # -> R_X86_64_JUMP_SLOT __tls_get_addr +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -76,13 +76,13 @@ Disassembly of section .text: # GD -> IE, gd first, after IE use +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +[0-9a-f]+: 00 00 * - +[0-9a-f]+: 48 03 05 f2 01 20 00[ ]+add 0x2001f2\(%rip\),%rax +# 200668 <.*> + +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_TPOFF64 sG3 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 8b 05 e7 01 20 00[ ]+mov 0x2001e7\(%rip\),%rax +# 200668 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_TPOFF64 sG3 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * @@ -90,7 +90,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE, desc first, after IE use - +[0-9a-f]+: 48 8b 05 fa 01 20 00[ ]+mov 0x2001fa\(%rip\),%rax +# 200688 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170> # -> R_X86_64_TPOFF64 sG4 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * @@ -99,7 +99,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +[0-9a-f]+: 00 00 * - +[0-9a-f]+: 48 03 05 e4 01 20 00[ ]+add 0x2001e4\(%rip\),%rax +# 200688 <.*> + +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170> # -> R_X86_64_TPOFF64 sG4 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -108,13 +108,13 @@ Disassembly of section .text: # GD -> IE, gd first, before IE use +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +[0-9a-f]+: 00 00 * - +[0-9a-f]+: 48 03 05 b8 01 20 00[ ]+add 0x2001b8\(%rip\),%rax +# 200670 <.*> + +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x158> # -> R_X86_64_TPOFF64 sG5 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 8b 05 ad 01 20 00[ ]+mov 0x2001ad\(%rip\),%rax +# 200670 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x158> # -> R_X86_64_TPOFF64 sG5 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * @@ -122,7 +122,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * # GD -> IE, desc first, before IE use - +[0-9a-f]+: 48 8b 05 c0 01 20 00[ ]+mov 0x2001c0\(%rip\),%rax +# 200690 <.*> + +[0-9a-f]+: 48 8b 05 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x178> # -> R_X86_64_TPOFF64 sG6 +[0-9a-f]+: 66 90[ ]+xchg %ax,%ax +[0-9a-f]+: 90[ ]+nop * @@ -131,7 +131,7 @@ Disassembly of section .text: +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +[0-9a-f]+: 00 00 * - +[0-9a-f]+: 48 03 05 aa 01 20 00[ ]+add 0x2001aa\(%rip\),%rax +# 200690 <.*> + +[0-9a-f]+: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x178> # -> R_X86_64_TPOFF64 sG6 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -142,7 +142,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 74 01 20 00[ ]+add 0x200174\(%rip\),%rcx +# 200670 <.*> + +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x158> # -> R_X86_64_TPOFF64 sG5 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * @@ -153,7 +153,7 @@ Disassembly of section .text: +[0-9a-f]+: 00 00 * +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * - +[0-9a-f]+: 48 03 0d 7e 01 20 00[ ]+add 0x20017e\(%rip\),%rcx +# 200690 <.*> + +[0-9a-f]+: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x178> # -> R_X86_64_TPOFF64 sG6 +[0-9a-f]+: 90[ ]+nop * +[0-9a-f]+: 90[ ]+nop * diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd index 1e24693..2eb2ec0 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd @@ -69,12 +69,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -89,16 +89,16 @@ Symbol table '\.symtab' contains [0-9]+ entries: +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +8 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +9 * +[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +10 * - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC - +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +8 _DYNAMIC + +[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +10 _GLOBAL_OFFSET_TABLE_ +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG3 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG5 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG4 +[0-9]+: 0+ +0 +NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG6 +[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +7 fc1 +[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1 - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata - +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata + +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic-nacl.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic-nacl.rd new file mode 100644 index 0000000..28f46c5 --- /dev/null +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic-nacl.rd @@ -0,0 +1,148 @@ +#source: tlspic1.s +#source: tlspic2.s +#as: --64 +#ld: -shared -melf_x86_64_nacl --no-ld-generated-unwind-info +#readelf: -WSsrl +#target: x86_64-*-nacl* + +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + +\[Nr\] Name +Type +Address +Off +Size +ES Flg Lk Inf Al + +\[[ 0-9]+\] +NULL +0+ 0+ 0+ 00 +0 +0 +0 + +\[[ 0-9]+\] .plt +.* + +\[[ 0-9]+\] .text +PROGBITS +0+1000 [0-9a-f]+ 0+1ac 00 +AX +0 +0 4096 + +\[[ 0-9]+\] .hash +.* + +\[[ 0-9]+\] .dynsym +.* + +\[[ 0-9]+\] .dynstr +.* + +\[[ 0-9]+\] .rela.dyn +.* + +\[[ 0-9]+\] .rela.plt +.* + +\[[ 0-9]+\] .tdata +PROGBITS +0+100104e8 [0-9a-f]+ 0+60 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .tbss +NOBITS +0+10010548 [0-9a-f]+ 0+20 00 WAT +0 +0 +1 + +\[[ 0-9]+\] .dynamic +DYNAMIC +0+10010548 [0-9a-f]+ 0+130 10 +WA +5 +0 +8 + +\[[ 0-9]+\] .got +PROGBITS +0+10010678 [0-9a-f]+ 0+90 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .got.plt +PROGBITS +0+10010708 [0-9a-f]+ 0+20 08 +WA +0 +0 +8 + +\[[ 0-9]+\] .shstrtab +.* + +\[[ 0-9]+\] .symtab +.* + +\[[ 0-9]+\] .strtab +.* +Key to Flags: +.* +.* +.* + +Elf file type is DYN \(Shared object file\) +Entry point 0x1000 +There are [0-9]+ program headers, starting at offset [0-9]+ + +Program Headers: + +Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align + +LOAD +0x0+10000 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000 + +LOAD +0x0+ 0x0+10000000 0x0+10000000 0x0+4e8 0x0+4e8 R +0x10000 + +LOAD +0x0+4e8 0x0+100104e8 0x0+100104e8 0x0+240 0x0+240 RW +0x10000 + +DYNAMIC +0x0+548 0x0+10010548 0x0+10010548 0x0+130 0x0+130 RW +0x8 + +TLS +0x0+4e8 0x0+100104e8 0x0+100104e8 0x0+60 0x0+80 R +0x1 + + Section to Segment mapping: + +Segment Sections... + +00 +.plt .text * + +01 +.hash .dynsym .dynstr .rela.dyn .rela.plt * + +02 +.tdata .dynamic .got .got.plt * + +03 +.dynamic * + +04 +.tdata .tbss * + +Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f ]+R_X86_64_DTPMOD64 +0 +[0-9a-f ]+R_X86_64_TPOFF64 +24 +[0-9a-f ]+R_X86_64_TPOFF64 +30 +[0-9a-f ]+R_X86_64_DTPMOD64 +0 +[0-9a-f ]+R_X86_64_DTPMOD64 +0 +[0-9a-f ]+R_X86_64_TPOFF64 +64 +[0-9a-f ]+R_X86_64_TPOFF64 +50 +[0-9a-f ]+R_X86_64_TPOFF64 +70 +[0-9a-f ]+R_X86_64_DTPMOD64 +0 +[0-9a-f ]+R_X86_64_TPOFF64 +44 +[0-9a-f ]+R_X86_64_TPOFF64 +0+10 sg5 \+ 0 +[0-9a-f ]+R_X86_64_DTPMOD64 +0+ sg1 \+ 0 +[0-9a-f ]+R_X86_64_DTPOFF64 +0+ sg1 \+ 0 +[0-9a-f ]+R_X86_64_TPOFF64 +0+4 sg2 \+ 0 + +Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries: + +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend +[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0 + +Symbol table '\.dynsym' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +.* NOTYPE +LOCAL +DEFAULT +UND * +.* SECTION +LOCAL +DEFAULT +2 * +.* SECTION +LOCAL +DEFAULT +8 * +.* TLS +GLOBAL +DEFAULT +8 sg8 +.* TLS +GLOBAL +DEFAULT +8 sg3 +.* TLS +GLOBAL +DEFAULT +8 sg4 +.* TLS +GLOBAL +DEFAULT +8 sg5 +.* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr +.* TLS +GLOBAL +DEFAULT +8 sg1 +.* FUNC +GLOBAL +DEFAULT +2 fn1 +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start +.* TLS +GLOBAL +DEFAULT +8 sg2 +.* TLS +GLOBAL +DEFAULT +8 sg6 +.* TLS +GLOBAL +DEFAULT +8 sg7 +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end + +Symbol table '\.symtab' contains [0-9]+ entries: + +Num: +Value +Size +Type +Bind +Vis +Ndx +Name +.* NOTYPE +LOCAL +DEFAULT +UND * +.* SECTION +LOCAL +DEFAULT +1 * +.* SECTION +LOCAL +DEFAULT +2 * +.* SECTION +LOCAL +DEFAULT +3 * +.* SECTION +LOCAL +DEFAULT +4 * +.* SECTION +LOCAL +DEFAULT +5 * +.* SECTION +LOCAL +DEFAULT +6 * +.* SECTION +LOCAL +DEFAULT +7 * +.* SECTION +LOCAL +DEFAULT +8 * +.* SECTION +LOCAL +DEFAULT +9 * +.* SECTION +LOCAL +DEFAULT +10 * +.* SECTION +LOCAL +DEFAULT +11 * +.* SECTION +LOCAL +DEFAULT +12 * +.* FILE +LOCAL +DEFAULT +ABS .* +.* TLS +LOCAL +DEFAULT +8 sl1 +.* TLS +LOCAL +DEFAULT +8 sl2 +.* TLS +LOCAL +DEFAULT +8 sl3 +.* TLS +LOCAL +DEFAULT +8 sl4 +.* TLS +LOCAL +DEFAULT +8 sl5 +.* TLS +LOCAL +DEFAULT +8 sl6 +.* TLS +LOCAL +DEFAULT +8 sl7 +.* TLS +LOCAL +DEFAULT +8 sl8 +.* TLS +LOCAL +DEFAULT +9 sH1 +.* TLS +LOCAL +DEFAULT +8 sh3 +.* TLS +LOCAL +DEFAULT +9 sH2 +.* TLS +LOCAL +DEFAULT +9 sH7 +.* TLS +LOCAL +DEFAULT +8 sh7 +.* TLS +LOCAL +DEFAULT +8 sh8 +.* TLS +LOCAL +DEFAULT +9 sH4 +.* TLS +LOCAL +DEFAULT +8 sh4 +.* TLS +LOCAL +DEFAULT +9 sH3 +.* TLS +LOCAL +DEFAULT +8 sh5 +.* TLS +LOCAL +DEFAULT +9 sH5 +.* TLS +LOCAL +DEFAULT +9 sH6 +.* TLS +LOCAL +DEFAULT +9 sH8 +.* TLS +LOCAL +DEFAULT +8 sh1 +.* TLS +LOCAL +DEFAULT +8 sh2 +.* TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ +.* TLS +GLOBAL +DEFAULT +8 sg8 +.* TLS +GLOBAL +DEFAULT +8 sg3 +.* TLS +GLOBAL +DEFAULT +8 sg4 +.* TLS +GLOBAL +DEFAULT +8 sg5 +.* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr +.* TLS +GLOBAL +DEFAULT +8 sg1 +.* FUNC +GLOBAL +DEFAULT +2 fn1 +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start +.* TLS +GLOBAL +DEFAULT +8 sg2 +.* TLS +GLOBAL +DEFAULT +8 sg6 +.* TLS +GLOBAL +DEFAULT +8 sg7 +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.dd b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.dd index 6f55456..93baac0 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.dd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.dd @@ -5,7 +5,7 @@ #objdump: -drj.text #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Disassembly of section .text: @@ -17,8 +17,8 @@ Disassembly of section .text: +1006: 90[ ]+nop * +1007: 90[ ]+nop * # GD - +1008: 66 48 8d 3d 80 03 20[ ]+data32 lea 0x200380\(%rip\),%rdi +# 201390 <.*> - +100f: 00 * + +1008: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x180> + +100f: [0-9a-f ]+ # -> R_X86_64_DTPMOD64 sg1 +1010: 66 66 48 e8 [0-9a-f ]+data32 data32 callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -30,15 +30,15 @@ Disassembly of section .text: # GD -> IE because variable is referenced through IE too +101c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +1023: 00 00 * - +1025: 48 03 05 84 03 20 00[ ]+add 0x200384\(%rip\),%rax +# 2013b0 <.*> + +1025: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x1a0> # -> R_X86_64_TPOFF64 sg2 +102c: 90[ ]+nop * +102d: 90[ ]+nop * +102e: 90[ ]+nop * +102f: 90[ ]+nop * # GD against local variable - +1030: 66 48 8d 3d 08 03 20[ ]+data32 lea 0x200308\(%rip\),%rdi +# 201340 <.*> - +1037: 00 * + +1030: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x130> + +1037: [0-9a-f ]+ # -> R_X86_64_DTPMOD64 [0 0x2000000000000000] +1038: 66 66 48 e8 [0-9a-f ]+data32 data32 callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -50,15 +50,15 @@ Disassembly of section .text: # GD -> IE against local variable referenced through IE too +1044: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +104b: 00 00 * - +104d: 48 03 05 fc 02 20 00[ ]+add 0x2002fc\(%rip\),%rax +# 201350 <.*> + +104d: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x140> # -> R_X86_64_TPOFF64 *ABS*+0x24 +1054: 90[ ]+nop * +1055: 90[ ]+nop * +1056: 90[ ]+nop * +1057: 90[ ]+nop * # GD against hidden and local variable - +1058: 66 48 8d 3d 58 03 20[ ]+data32 lea 0x200358\(%rip\),%rdi +# 2013b8 <.*> - +105f: 00 * + +1058: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x1a8> + +105f: [0-9a-f ]+ # -> R_X86_64_DTPMOD64 [0 0x4000000000000000] +1060: 66 66 48 e8 [0-9a-f ]+data32 data32 callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -70,15 +70,15 @@ Disassembly of section .text: # GD -> IE against hidden and local variable referenced through IE too +106c: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +1073: 00 00 * - +1075: 48 03 05 4c 03 20 00[ ]+add 0x20034c\(%rip\),%rax +# 2013c8 <.*> + +1075: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x1b8> # -> R_X86_64_TPOFF64 *ABS*+0x44 +107c: 90[ ]+nop * +107d: 90[ ]+nop * +107e: 90[ ]+nop * +107f: 90[ ]+nop * # GD against hidden but not local variable - +1080: 66 48 8d 3d e8 02 20[ ]+data32 lea 0x2002e8\(%rip\),%rdi +# 201370 <.*> - +1087: 00 * + +1080: 66 48 8d 3d ([0-9a-f]{2} ){3}[ ]+data32 lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x160> + +1087: [0-9a-f ]+ # -> R_X86_64_DTPMOD64 [0 0x6000000000000000] +1088: 66 66 48 e8 [0-9a-f ]+data32 data32 callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -90,14 +90,14 @@ Disassembly of section .text: # GD -> IE against hidden but not local variable referenced through IE too +1094: 64 48 8b 04 25 00 00[ ]+mov %fs:0x0,%rax +109b: 00 00 * - +109d: 48 03 05 dc 02 20 00[ ]+add 0x2002dc\(%rip\),%rax +# 201380 <.*> + +109d: 48 03 05 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rax +# [0-9a-f]+ <_DYNAMIC\+0x170> # -> R_X86_64_TPOFF64 *ABS*+0x64 +10a4: 90[ ]+nop * +10a5: 90[ ]+nop * +10a6: 90[ ]+nop * +10a7: 90[ ]+nop * # LD - +10a8: 48 8d 3d b1 02 20 00[ ]+lea 0x2002b1\(%rip\),%rdi +# 201360 <.*> + +10a8: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_DTPMOD64 [0 0x000000000000000] +10af: e8 [0-9a-f ]+callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -112,7 +112,7 @@ Disassembly of section .text: +10c8: 90[ ]+nop * +10c9: 90[ ]+nop * # LD against hidden and local variables - +10ca: 48 8d 3d 8f 02 20 00[ ]+lea 0x20028f\(%rip\),%rdi +# 201360 <.*> + +10ca: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_DTPMOD64 [0 0x000000000000000] +10d1: e8 [0-9a-f ]+callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -127,7 +127,7 @@ Disassembly of section .text: +10ea: 90[ ]+nop * +10eb: 90[ ]+nop * # LD against hidden but not local variables - +10ec: 48 8d 3d 6d 02 20 00[ ]+lea 0x20026d\(%rip\),%rdi +# 201360 <.*> + +10ec: 48 8d 3d ([0-9a-f]{2} ){4}[ ]+lea 0x[0-9a-f]+\(%rip\),%rdi +# [0-9a-f]+ <_DYNAMIC\+0x150> # -> R_X86_64_DTPMOD64 [0 0x000000000000000] +10f3: e8 [0-9a-f ]+callq [0-9a-f]+ <.*> # -> R_X86_64_JUMP_SLOT __tls_get_addr @@ -144,7 +144,7 @@ Disassembly of section .text: +1113: 00 00 * +1115: 90[ ]+nop * +1116: 90[ ]+nop * - +1117: 48 03 0d 92 02 20 00[ ]+add 0x200292\(%rip\),%rcx +# 2013b0 <.*> + +1117: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x1a0> # -> R_X86_64_TPOFF64 sg2 +111e: 90[ ]+nop * +111f: 90[ ]+nop * @@ -155,7 +155,7 @@ Disassembly of section .text: +1129: 00 00 * +112b: 90[ ]+nop * +112c: 90[ ]+nop * - +112d: 4c 03 35 1c 02 20 00[ ]+add 0x20021c\(%rip\),%r14 +# 201350 <.*> + +112d: 4c 03 35 ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%r14 +# [0-9a-f]+ <_DYNAMIC\+0x140> # -> R_X86_64_TPOFF64 *ABS*+0x24 +1134: 90[ ]+nop * +1135: 90[ ]+nop * @@ -166,7 +166,7 @@ Disassembly of section .text: +113f: 00 00 * +1141: 90[ ]+nop * +1142: 90[ ]+nop * - +1143: 48 03 0d 7e 02 20 00[ ]+add 0x20027e\(%rip\),%rcx +# 2013c8 <.*> + +1143: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x1b8> # -> R_X86_64_TPOFF64 *ABS*+0x44 +114a: 90[ ]+nop * +114b: 90[ ]+nop * @@ -177,7 +177,7 @@ Disassembly of section .text: +1155: 00 00 * +1157: 90[ ]+nop * +1158: 90[ ]+nop * - +1159: 48 03 0d 20 02 20 00[ ]+add 0x200220\(%rip\),%rcx +# 201380 <.*> + +1159: 48 03 0d ([0-9a-f]{2} ){4}[ ]+add 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x170> # -> R_X86_64_TPOFF64 *ABS*+0x64 +1160: 90[ ]+nop * +1161: 90[ ]+nop * @@ -185,7 +185,7 @@ Disassembly of section .text: +1163: 90[ ]+nop * # Direct access through %fs # IE against global var - +1164: 48 8b 0d 1d 02 20 00[ ]+mov 0x20021d\(%rip\),%rcx +# 201388 <.*> + +1164: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x178> # -> R_X86_64_TPOFF64 sg5 +116b: 90[ ]+nop * +116c: 90[ ]+nop * @@ -195,7 +195,7 @@ Disassembly of section .text: +1173: 90[ ]+nop * +1174: 90[ ]+nop * # IE against local var - +1175: 4c 8b 15 dc 01 20 00[ ]+mov 0x2001dc\(%rip\),%r10 +# 201358 <.*> + +1175: 4c 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%r10 +# [0-9a-f]+ <_DYNAMIC\+0x148> # -> R_X86_64_TPOFF64 *ABS*+0x30 +117c: 90[ ]+nop * +117d: 90[ ]+nop * @@ -205,7 +205,7 @@ Disassembly of section .text: +1184: 90[ ]+nop * +1185: 90[ ]+nop * # IE against hidden and local var - +1186: 48 8b 15 13 02 20 00[ ]+mov 0x200213\(%rip\),%rdx +# 2013a0 <.*> + +1186: 48 8b 15 ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rdx +# [0-9a-f]+ <_DYNAMIC\+0x190> # -> R_X86_64_TPOFF64 *ABS*+0x50 +118d: 90[ ]+nop * +118e: 90[ ]+nop * @@ -215,7 +215,7 @@ Disassembly of section .text: +1195: 90[ ]+nop * +1196: 90[ ]+nop * # IE against hidden but not local var - +1197: 48 8b 0d 0a 02 20 00[ ]+mov 0x20020a\(%rip\),%rcx +# 2013a8 <.*> + +1197: 48 8b 0d ([0-9a-f]{2} ){4}[ ]+mov 0x[0-9a-f]+\(%rip\),%rcx +# [0-9a-f]+ <_DYNAMIC\+0x198> # -> R_X86_64_TPOFF64 *ABS*+0x70 +119e: 90[ ]+nop * +119f: 90[ ]+nop * @@ -226,5 +226,4 @@ Disassembly of section .text: +11a7: 90[ ]+nop * +11a8: c9[ ]+leaveq * +11a9: c3[ ]+retq * - +11aa: 90[ ]+nop * - +11ab: 90[ ]+nop * + +11aa: 66 90[ ]+xchg %ax,%ax diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd index 177f206..fb6a229 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd @@ -50,16 +50,16 @@ Program Headers: Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries: +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend -[0-9a-f ]+R_X86_64_DTPMOD64 +0+ -[0-9a-f ]+R_X86_64_TPOFF64 +0+24 -[0-9a-f ]+R_X86_64_TPOFF64 +0+30 -[0-9a-f ]+R_X86_64_DTPMOD64 +0+ -[0-9a-f ]+R_X86_64_DTPMOD64 +0+ -[0-9a-f ]+R_X86_64_TPOFF64 +0+64 -[0-9a-f ]+R_X86_64_TPOFF64 +0+50 -[0-9a-f ]+R_X86_64_TPOFF64 +0+70 -[0-9a-f ]+R_X86_64_DTPMOD64 +0+ -[0-9a-f ]+R_X86_64_TPOFF64 +0+44 +[0-9a-f ]+R_X86_64_DTPMOD64 +0 +[0-9a-f ]+R_X86_64_TPOFF64 +24 +[0-9a-f ]+R_X86_64_TPOFF64 +30 +[0-9a-f ]+R_X86_64_DTPMOD64 +0 +[0-9a-f ]+R_X86_64_DTPMOD64 +0 +[0-9a-f ]+R_X86_64_TPOFF64 +64 +[0-9a-f ]+R_X86_64_TPOFF64 +50 +[0-9a-f ]+R_X86_64_TPOFF64 +70 +[0-9a-f ]+R_X86_64_DTPMOD64 +0 +[0-9a-f ]+R_X86_64_TPOFF64 +44 [0-9a-f ]+R_X86_64_TPOFF64 +0+10 sg5 \+ 0 [0-9a-f ]+R_X86_64_DTPMOD64 +0+ sg1 \+ 0 [0-9a-f ]+R_X86_64_DTPOFF64 +0+ sg1 \+ 0 @@ -81,12 +81,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end Symbol table '\.symtab' contains [0-9]+ entries: +Num: +Value +Size +Type +Bind +Vis +Ndx +Name @@ -103,6 +103,7 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* SECTION +LOCAL +DEFAULT +10 * .* SECTION +LOCAL +DEFAULT +11 * .* SECTION +LOCAL +DEFAULT +12 * +.* FILE +LOCAL +DEFAULT +ABS .* .* TLS +LOCAL +DEFAULT +8 sl1 .* TLS +LOCAL +DEFAULT +8 sl2 .* TLS +LOCAL +DEFAULT +8 sl3 @@ -112,7 +113,6 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +8 sl7 .* TLS +LOCAL +DEFAULT +8 sl8 .* TLS +LOCAL +DEFAULT +9 sH1 -.* OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC .* TLS +LOCAL +DEFAULT +8 sh3 .* TLS +LOCAL +DEFAULT +9 sH2 .* TLS +LOCAL +DEFAULT +9 sH7 @@ -126,9 +126,11 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* TLS +LOCAL +DEFAULT +9 sH6 .* TLS +LOCAL +DEFAULT +9 sH8 .* TLS +LOCAL +DEFAULT +8 sh1 -.* OBJECT +LOCAL +DEFAULT +ABS _GLOBAL_OFFSET_TABLE_ .* TLS +LOCAL +DEFAULT +8 sh2 .* TLS +LOCAL +DEFAULT +8 sh6 +.* FILE +LOCAL +DEFAULT +ABS .* +.* OBJECT +LOCAL +DEFAULT +10 _DYNAMIC +.* OBJECT +LOCAL +DEFAULT +12 _GLOBAL_OFFSET_TABLE_ .* TLS +GLOBAL +DEFAULT +8 sg8 .* TLS +GLOBAL +DEFAULT +8 sg3 .* TLS +GLOBAL +DEFAULT +8 sg4 @@ -136,9 +138,9 @@ Symbol table '\.symtab' contains [0-9]+ entries: .* NOTYPE +GLOBAL +DEFAULT +UND __tls_get_addr .* TLS +GLOBAL +DEFAULT +8 sg1 .* FUNC +GLOBAL +DEFAULT +7 fn1 -.* NOTYPE +GLOBAL +DEFAULT +ABS __bss_start +.* NOTYPE +GLOBAL +DEFAULT +12 __bss_start .* TLS +GLOBAL +DEFAULT +8 sg2 .* TLS +GLOBAL +DEFAULT +8 sg6 .* TLS +GLOBAL +DEFAULT +8 sg7 -.* NOTYPE +GLOBAL +DEFAULT +ABS _edata -.* NOTYPE +GLOBAL +DEFAULT +ABS _end +.* NOTYPE +GLOBAL +DEFAULT +12 _edata +.* NOTYPE +GLOBAL +DEFAULT +12 _end diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.sd b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.sd index 36c1b52..e26c954 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.sd +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.sd @@ -5,15 +5,15 @@ #objdump: -sj.got #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section .got: - 201340 00000000 00000000 20000000 00000000 .* - 201350 00000000 00000000 00000000 00000000 .* - 201360 00000000 00000000 00000000 00000000 .* - 201370 00000000 00000000 60000000 00000000 .* - 201380 00000000 00000000 00000000 00000000 .* - 201390 00000000 00000000 00000000 00000000 .* - 2013a0 00000000 00000000 00000000 00000000 .* - 2013b0 00000000 00000000 00000000 00000000 .* - 2013c0 40000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 20000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 60000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 00000000 00000000 00000000 00000000 .* + [0-9a-f]+ 40000000 00000000 00000000 00000000 .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.td b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.td index 36a7f8e..8fc12c6 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.td +++ b/binutils-2.22/ld/testsuite/ld-x86-64/tlspic.td @@ -5,12 +5,12 @@ #objdump: -sj.tdata #target: x86_64-*-* -.*: +file format elf64-x86-64 +.*: +file format elf64-x86-64.* Contents of section .tdata: - 2011ac 11000000 12000000 13000000 14000000 .* - 2011bc 15000000 16000000 17000000 18000000 .* - 2011cc 41000000 42000000 43000000 44000000 .* - 2011dc 45000000 46000000 47000000 48000000 .* - 2011ec 01010000 02010000 03010000 04010000 .* - 2011fc 05010000 06010000 07010000 08010000 .* + [0-9a-f]+ 11000000 12000000 13000000 14000000 .* + [0-9a-f]+ 15000000 16000000 17000000 18000000 .* + [0-9a-f]+ 41000000 42000000 43000000 44000000 .* + [0-9a-f]+ 45000000 46000000 47000000 48000000 .* + [0-9a-f]+ 01010000 02010000 03010000 04010000 .* + [0-9a-f]+ 05010000 06010000 07010000 08010000 .* diff --git a/binutils-2.22/ld/testsuite/ld-x86-64/x86-64.exp b/binutils-2.22/ld/testsuite/ld-x86-64/x86-64.exp index 77b081b..1eb1b1c 100644 --- a/binutils-2.22/ld/testsuite/ld-x86-64/x86-64.exp +++ b/binutils-2.22/ld/testsuite/ld-x86-64/x86-64.exp @@ -1,5 +1,5 @@ # Expect script for ld-x86_64 tests -# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +# Copyright (C) 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 # Free Software Foundation # # This file is part of the GNU Binutils. @@ -24,10 +24,17 @@ # tools like objdump as well as the linker. if { !([istarget "x86_64-*-elf*"] + || [istarget "x86_64-*-nacl*"] || [istarget "x86_64-*-linux*"]) } { return } +if [istarget "*-*-nacl*"] { + set emul "elf_x86_64_nacl" +} else { + set emul "elf_x86_64" +} + # List contains test-items with 3 items followed by 2 lists: # 0:name 1:ld options 2:assembler options # 3:filenames of assembler files 4: action and options. 5: name of output file @@ -38,6 +45,11 @@ if { !([istarget "x86_64-*-elf*"] # readelf: Apply readelf options on result. Compare with regex (last arg). set x86_64tests { + {"Helper shared library (basic PLT test)" + "-shared -melf_x86_64" "--64" {pltlib.s} {} "libpltlib.so"} + {"basic PLT generation" + "-melf_x86_64 tmpdir/libpltlib.so" "--64" {plt.s} + {{objdump -drj.plt plt.pd}} "plt"} {"TLS -fpic -shared transitions" "-shared -melf_x86_64 --no-ld-generated-unwind-info" "--64" {tlspic1.s tlspic2.s} @@ -111,6 +123,35 @@ set x86_64tests { {"TLS X32 LD->LE transition" "-melf32_x86_64" "--x32" {tlsld2.s} {{objdump -dwr tlsld2.dd}} "tlsld2"} + + {"build 32-bit object with 33 locals" "-melf_x86_64 -e 0" "--32" {32bit.s} {{ ld incompatible.l }} "dummy" } + {"build 64-bit object" "-melf_x86_64 -e 0 --defsym foo=1" "--64" {64bit.s} {} "dummy" } + {"link mixed objects" "-melf_x86_64 -e 0 tmpdir/32bit.o tmpdir/64bit.o" "" {} { { ld incompatible.l } } "mixed"} +} + +# So as to avoid rewriting every last test case here in a nacl variant, +# we use black magic to massage the generic cases into nacl-variant cases. +if [istarget "*-*-nacl*"] { + set emul elf_x86_64_nacl + + set lhs {elf(32)?_(i386|x86_64)[[:>:]]} + set rhs {&_nacl} + + # Change all the -melf_x86_64 to -melf_x86_64_nacl so linking can succeed. + regsub -all -- $lhs $x86_64tests $rhs x86_64tests + + # Same, applied to all the run_dump_test cases. + set options_regsub(ld) [list $lhs $rhs] + + # The section/segment layout differs too much for the vanilla + # readelf output files to match. So massage the cases so that + # they refer to a foo-nacl.rd file instead of a foo.rd file. + regsub -all -- {([a-z0-9]+)\.rd} $x86_64tests {\1-nacl.rd} x86_64tests + + # Likewise for PLTs. + regsub -all -- {([a-z0-9]+)\.pd} $x86_64tests {\1-nacl.pd} x86_64tests +} else { + set emul elf_x86_64 } run_ld_link_tests $x86_64tests @@ -120,21 +161,21 @@ global ld set test_name "Mixed x86_64 and i386 input test 1" set test mixed1 -if { ![ld_simple_link $ld tmpdir/$test "-melf_x86_64 tmpdir/${test}a.o tmpdir/${test}b.o"] } { +if { ![ld_simple_link $ld tmpdir/$test "-m$emul tmpdir/${test}a.o tmpdir/${test}b.o"] } { if [string match "*i386 architecture of input file `tmpdir/${test}b.o' is incompatible with i386:x86-64 output*" $link_output] { - pass "$test_name" + pass "$test_name" } { - fail "$test_name" + fail "$test_name" } } set test_name "Mixed x86_64 and i386 input test 2" set test mixed2 -if { ![ld_simple_link $ld tmpdir/$test "-melf_x86_64 tmpdir/${test}a.o tmpdir/${test}b.o"] } { +if { ![ld_simple_link $ld tmpdir/$test "-m$emul tmpdir/${test}a.o tmpdir/${test}b.o"] } { if [string match "*i386 architecture of input file `tmpdir/${test}b.o' is incompatible with i386:x86-64 output*" $link_output] { - pass "$test_name" + pass "$test_name" } { - fail "$test_name" + fail "$test_name" } } @@ -154,6 +195,8 @@ run_dump_test "protected2" run_dump_test "protected2-l1om" run_dump_test "protected3" run_dump_test "protected3-l1om" +run_dump_test "protected4" +run_dump_test "protected5" run_dump_test "tlsle1" run_dump_test "tlspie1" run_dump_test "unique1" @@ -162,37 +205,42 @@ run_dump_test "nogot2" run_dump_test "discarded1" run_dump_test "pr12718" run_dump_test "pr12921" +run_dump_test "pr13947" +run_dump_test "pr12570a" +run_dump_test "pr12570b" +run_dump_test "pr14215" +run_dump_test "pr14207" -if { ![istarget "x86_64-*-linux*"] } { +if { ![istarget "x86_64-*-linux*"] && ![istarget "x86_64-*-nacl*"]} { return } -if ![ld_assemble $as "--x32 $srcdir/$subdir/start.s" tmpdir/startx32.o] { +if ![ld_assemble $as "--x32 $srcdir/$subdir/start.s" tmpdir/startx32.o] { unresolved "Build ILP32 start.o" return } -if ![ld_assemble $as "--32 $srcdir/$subdir/start.s" tmpdir/start32.o] { +if ![ld_assemble $as "--32 $srcdir/$subdir/start.s" tmpdir/start32.o] { unresolved "Build ia32 start.o" return } -if ![ld_assemble $as "--64 $srcdir/$subdir/start.s" tmpdir/start64.o] { +if ![ld_assemble $as "--64 $srcdir/$subdir/start.s" tmpdir/start64.o] { unresolved "Build LP64 start.o" return } -if ![ld_assemble $as "--x32 $srcdir/$subdir/foo.s" tmpdir/foox32.o] { +if ![ld_assemble $as "--x32 $srcdir/$subdir/foo.s" tmpdir/foox32.o] { unresolved "Build ILP32 foo.o" return } -if ![ld_assemble $as "--32 $srcdir/$subdir/foo.s" tmpdir/foo32.o] { +if ![ld_assemble $as "--32 $srcdir/$subdir/foo.s" tmpdir/foo32.o] { unresolved "Build ia32 foo.o" return } -if ![ld_assemble $as "--64 $srcdir/$subdir/foo.s" tmpdir/foo64.o] { +if ![ld_assemble $as "--64 $srcdir/$subdir/foo.s" tmpdir/foo64.o] { unresolved "Build LP64 foo.o" return } @@ -202,11 +250,14 @@ run_dump_test "ilp32-1" run_dump_test "ilp32-2" run_dump_test "ilp32-3" run_dump_test "ilp32-4" +run_dump_test "ilp32-4-nacl" run_dump_test "ilp32-5" run_dump_test "ilp32-6" run_dump_test "ilp32-7" run_dump_test "ilp32-8" run_dump_test "ilp32-9" +run_dump_test "ilp32-10" +run_dump_test "ilp32-11" run_dump_test "ia32-1" run_dump_test "ia32-2" run_dump_test "ia32-3" diff --git a/binutils-2.22/ld/testsuite/lib/ld-lib.exp b/binutils-2.22/ld/testsuite/lib/ld-lib.exp index 3e77a5a..a481ce7 100644 --- a/binutils-2.22/ld/testsuite/lib/ld-lib.exp +++ b/binutils-2.22/ld/testsuite/lib/ld-lib.exp @@ -1,6 +1,6 @@ # Support routines for LD testsuite. # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -# 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +# 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 # Free Software Foundation, Inc. # # This file is part of the GNU Binutils. @@ -27,6 +27,31 @@ proc load_common_lib { name } { load_common_lib binutils-common.exp +# Returns 1 if the gcc for the target is at least version MAJOR.MINOR +# Returns 0 otherwise. +# +proc at_least_gcc_version { major minor } { + + if {![info exists CC]} { + set CC [find_gcc] + } + if { $CC == "" } { + return 0 + } + set state [remote_exec host $CC --version] + set tmp "[lindex $state 1]\n" + # Look for (eg) 4.6.1 in the version output. + regexp " .* (\[1-9\])\\.(\[0-9\])\\.\[0-9\]* .*" "$tmp" fred maj min + verbose "gcc version: $tmp" + verbose "major gcc version is $maj, want at least $major" + if { $maj == $major } then { + verbose "minor gcc version is $min, want at least $minor" + return [expr $min >= $minor ] + } else { + return [expr $maj > $major ] + } +} + # Extract and print the version number of ld. # proc default_ld_version { ld } { @@ -390,7 +415,7 @@ proc ld_simple_link_defsyms {} { } # m6811/m6812 code has references to soft registers. - if {[istarget m6811-*-*] || [istarget m6812-*-*]} { + if {[istarget m6811-*-*] || [istarget m6812-*-*] || [istarget m68hc1*-*-*]} { append flags " --defsym _.frame=0 --defsym _.d1=0 --defsym _.d2=0" append flags " --defsym _.d3=0 --defsym _.d4=0" append flags " --defsym _.tmp=0 --defsym _.xy=0 --defsym _.z=0" @@ -598,7 +623,18 @@ proc run_dump_test { name } { if { $opt_name == "as" || $opt_name == "ld" } { set opt_val [subst $opt_val] } - set opts($opt_name) [concat $opts($opt_name) $opt_val] + + # Append differently whether it's a message (without space) or + # an option or list (with space). + switch -- $opt_name { + warning - + error { + append opts($opt_name) $opt_val + } + default { + set opts($opt_name) [concat $opts($opt_name) $opt_val] + } + } } foreach opt { as ld } { regsub {\[big_or_little_endian\]} $opts($opt) \ @@ -845,6 +881,10 @@ proc run_dump_test { name } { } proc slurp_options { file } { + # If options_regsub(foo) is set to {a b}, then the contents of a + # "#foo:" line will have regsub -all applied to replace a with b. + global options_regsub + if [catch { set f [open $file r] } x] { #perror "couldn't open `$file': $x" perror "$x" @@ -862,6 +902,11 @@ proc slurp_options { file } { # Whitespace here is space-tab. if [regexp $pat $line xxx opt_name opt_val] { # match! + if [info exists options_regsub($opt_name)] { + set subst $options_regsub($opt_name) + regsub -all -- [lindex $subst 0] $opt_val [lindex $subst 1] \ + opt_val + } lappend opt_array [list $opt_name $opt_val] } else { break @@ -915,7 +960,7 @@ proc ar_simple_create { ar aropts target objects } { # objdump: Apply objdump options on result. # nm: Apply nm options on result. # readelf: Apply readelf options on result. -# ld: Don't apply anything on result. Compare output during linking with +# ld: Don't apply anything on result. Compare output during linking with # the file containing regexps (which is the second arg, not the third). # Note that this *must* be the first action if it is to be used at all; # in all other cases, any output from the linker during linking is @@ -964,11 +1009,12 @@ proc run_ld_link_tests { ldtests } { # Assemble each file in the test. foreach src_file $src_files { - set objfile "tmpdir/[file rootname $src_file].o" + set fileroot "[file rootname [file tail $src_file]]" + set objfile "tmpdir/$fileroot.o" lappend objfiles $objfile if { [file extension $src_file] == ".c" } { - set as_file "tmpdir/[file rootname $src_file].s" + set as_file "tmpdir/$fileroot.s" if ![ld_compile "$CC -S $CFLAGS $cflags" $srcdir/$subdir/$src_file $as_file] { set is_unresolved 1 break @@ -1050,7 +1096,7 @@ proc run_ld_link_tests { ldtests } { set comp_output [prune_warnings [file_contents "ld.stderr"]] remote_file host delete "ld.stderr" remote_file build delete "ld.stderr" - + if {[info exists old_lc_all]} { set env(LC_ALL) $old_lc_all } else { @@ -1162,7 +1208,8 @@ proc run_ld_link_exec_tests { targets_to_xfail ldtests } { # Assemble each file in the test. foreach src_file $src_files { - set objfile "tmpdir/[file rootname $src_file].o" + set fileroot "[file rootname [file tail $src_file]]" + set objfile "tmpdir/$fileroot.o" lappend objfiles $objfile # We ignore warnings since some compilers may generate @@ -1210,7 +1257,7 @@ proc run_ld_link_exec_tests { targets_to_xfail ldtests } { send_log "Running: $binfile > $binfile.out\n" verbose "Running: $binfile > $binfile.out" catch "exec $binfile > $binfile.out" exec_output - + if ![string match "" $exec_output] then { send_log "$exec_output\n" verbose "$exec_output" 1 @@ -1284,7 +1331,8 @@ proc run_cc_link_tests { ldtests } { # Compile each file in the test. foreach src_file $src_files { - set objfile "tmpdir/[file rootname $src_file].o" + set fileroot "[file rootname [file tail $src_file]]" + set objfile "tmpdir/$fileroot.o" lappend objfiles $objfile # We ignore warnings since some compilers may generate @@ -1407,7 +1455,7 @@ proc run_cc_link_tests { ldtests } { proc check_gc_sections_available { } { global gc_sections_available_saved global ld - + if {![info exists gc_sections_available_saved]} { # Some targets don't support gc-sections despite whatever's # advertised by ld's options. @@ -1418,7 +1466,7 @@ proc check_gc_sections_available { } { || [istarget or32-*-*] || [istarget pj*-*-*] || [istarget alpha-*-*] - || [istarget hppa64-*-*] + || [istarget hppa*64-*-*] || [istarget i370-*-*] || [istarget i860-*-*] || [istarget ia64-*-*] @@ -1439,6 +1487,8 @@ proc check_gc_sections_available { } { } # Check if the ld used by gcc supports --gc-sections. + # FIXME: this test is useless since ld --help always says + # --gc-sections is available set ld_output [remote_exec host $ld "--help"] if { [ string first "--gc-sections" $ld_output ] >= 0 } { set gc_sections_available_saved 1 @@ -1449,6 +1499,53 @@ proc check_gc_sections_available { } { return $gc_sections_available_saved } +# Returns true if -shared is supported on the target +# Only used and accurate for ELF targets at the moment + +proc check_shared_lib_support { } { + if {![istarget arc-*-*] + && ![istarget avr-*-*] + && ![istarget cr16-*-*] + && ![istarget cris*-*-*] + && ![istarget crx-*-*] + && ![istarget d10v-*-*] + && ![istarget d30v-*-*] + && ![istarget dlx-*-*] + && ![istarget epiphany-*-*] + && ![istarget fr30-*-*] + && ![istarget frv-*-*] + && ![istarget h8300-*-*] + && ![istarget i860-*-*] + && ![istarget i960-*-*] + && ![istarget ip2k-*-*] + && ![istarget iq2000-*-*] + && ![istarget lm32-*-*] + && ![istarget m32c-*-*] + && ![istarget m32r-*-*] + && ![istarget m6811-*-*] + && ![istarget m6812-*-*] + && ![istarget m68hc1*-*-*] + && ![istarget mcore*-*-*] + && ![istarget mep-*-*] + && ![istarget microblaze-*-*] + && ![istarget mn10200-*-*] + && ![istarget moxie-*-*] + && ![istarget msp430-*-*] + && ![istarget mt-*-*] + && ![istarget openrisc-*-*] + && ![istarget or32-*-*] + && ![istarget pj-*-*] + && ![istarget rx-*-*] + && ![istarget spu-*-*] + && ![istarget v850*-*-*] + && ![istarget xstormy16-*-*] + && ![istarget *-*-irix*] + && ![istarget *-*-rtems] } { + return 1 + } + return 0 +} + # Returns true if the target ld supports the plugin API. proc check_plugin_api_available { } { global plugin_api_available_saved |