summaryrefslogtreecommitdiffstats
path: root/binutils-2.22/ld/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.22/ld/testsuite')
-rw-r--r--binutils-2.22/ld/testsuite/ChangeLog1971
-rw-r--r--binutils-2.22/ld/testsuite/ChangeLog-20111276
-rw-r--r--binutils-2.22/ld/testsuite/config/default.exp3
-rw-r--r--binutils-2.22/ld/testsuite/ld-alpha/emptygot.nm6
-rw-r--r--binutils-2.22/ld/testsuite/ld-alpha/tlsbin.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-alpha/tlsbinr.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-alpha/tlspic.rd24
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.d34
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-app-abs32.r2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-app.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-app.r2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-dyn.ld1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-elf.exp324
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-lib-plt32.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-lib.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-lib.r2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-no-rel-plt.ld233
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-no-rel-plt.out2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-static-app.d26
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/arm-static-app.r2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/armthumb-lib.sym14
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/armv4-bx.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-2.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-2a.s1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-2b.s1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-3.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-4.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-5.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-6.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-7.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-1.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-arch-2.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-0.s1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-00.d12
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-01-m3.d14
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-01.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-02.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-1.s1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-10-m3.d14
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-10.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-11.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-12.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-120.d16
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-2.s1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-20.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-21.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-div-22.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-2r.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-unknown-3.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-1r.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-2r.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-3r.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-4r.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-5r.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-vfp-6r.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-00.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-02.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-04.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-20.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-22.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-40.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge-wchar-44.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/attr-merge.attr1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-b-plt.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bcc-plt.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-plt.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-bl-rel-plt.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/cortex-a8-fix-blx-plt.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/data-only-map.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/emit-relocs1-vxworks.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/farcall-group.d84
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/farcall-mix.d74
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/farcall-mix2.d82
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app-v5.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-app.sym14
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib-v4t.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/farcall-mixed-lib.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-off.d10
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/fix-arm1176-on.d16
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/gc-hidden-1.d25
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/gcdfn.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/group-relocs.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/hideall.ld1
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/hidfn.s7
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-1.dd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-10.dd48
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-14.dd12
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-15.dd12
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-16.dd14
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-2.dd18
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-3.dd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-4.dd48
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-5.dd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-6.dd10
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-7.dd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-8.dd48
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/ifunc-9.dd6
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/jump19.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/main.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/mixed-app-v5.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/mixed-app.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/mixed-app.sym14
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/mixed-lib.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/mixed-lib.sym14
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/preempt-app.sym14
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/reloc-boundaries.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/script-type.sym32
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/thumb1-bl.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/thumb2-b-interwork.d18
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/thumb2-bl-undefweak1.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/thumb2-bl.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-app.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-app.r2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-descrelax-be32.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-descrelax.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-descseq.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-gdesc-got.d44
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-gdesc.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-gdierelax2.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-gdlerelax.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-lib-loc.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-lib.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-lib.r2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-mixed.r2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/tls-thumb1.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-none.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-scalar.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-arm/vfp11-fix-vector.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-bootstrap/bootstrap.exp4
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/dso-pltdis1.d61
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/dso-pltdis2.d54
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/dsofn4g.s3
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/dsofng.s3
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/hiddef1.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/libdso-2.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/pv32-1.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.d46
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-dso-tpoffgotcomm1.s9
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-e-20.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-e-20a.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-e-80.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-e-tpiecomm1.d47
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-e-tpiecomm1.s9
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffcomm1.d22
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-e-tpoffgotcomm1.d43
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-gc-68.d18
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-gc-69.d14
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-gc-70.d18
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-gc-71.d16
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-gc-75.d18
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-gc-76.d28
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-gc-79.d18
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-js1.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-local-63.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-local-64.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-und-38.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-und-42.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-und-46.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/tls-und-50.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/weakhiddso.d10
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/weakref3.d16
-rw-r--r--binutils-2.22/ld/testsuite/ld-cris/weakref4.d12
-rw-r--r--binutils-2.22/ld/testsuite/ld-discard/discard.exp3
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/binutils.exp9
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/comm-data.exp78
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/comm-data1.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/comm-data1.sd10
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/comm-data2.rd1
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/comm-data2.s14
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/comm-data2.sd10
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/comm-data2.xd2
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/data2.c9
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/eh1.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/eh2.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/eh3.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/eh4.d15
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/ehdr_start.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/ehdr_start.s10
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/elf.exp85
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/fini0.s16
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/fini1.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/fini2.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/fini3.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/finin.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/foo0.s16
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/foo1.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/foo2.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/foo3.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/foon.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect.exp126
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect1a.c8
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect1b.c6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect1c.c7
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect2.c9
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect3.out2
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect3a.c10
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect3b.c9
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect3c.c15
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect4.out2
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect4a.c10
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect4b.c17
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/indirect4c.c15
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/init-mixed.c3
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/init0.s16
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/init1.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/init2.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/init3.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/initn.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/linkoncerdiff.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr11304a.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr11304b.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr13839.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr13839.s10
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr13839.t9
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14052.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14052.t11
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14156a.d15
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14156b.d15
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14156c.d15
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14156c.t4
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14170a.s13
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14170b.s11
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14170c.s2
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14323-1.c17
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/pr14323-2.c13
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/shared.exp21
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/tls_common.exp5
-rw-r--r--binutils-2.22/ld/testsuite/ld-elf/weakdef1.c15
-rw-r--r--binutils-2.22/ld/testsuite/ld-elfvers/vers.exp61
-rw-r--r--binutils-2.22/ld/testsuite/ld-elfvsb/elfvsb.exp22
-rw-r--r--binutils-2.22/ld/testsuite/ld-elfvsb/hidden2.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-elfweak/elfweak.exp39
-rw-r--r--binutils-2.22/ld/testsuite/ld-gc/gc.exp27
-rw-r--r--binutils-2.22/ld/testsuite/ld-gc/libpersonality.s11
-rw-r--r--binutils-2.22/ld/testsuite/ld-gc/personality.d10
-rw-r--r--binutils-2.22/ld/testsuite/ld-gc/personality.s28
-rw-r--r--binutils-2.22/ld/testsuite/ld-gc/pr13683.c28
-rw-r--r--binutils-2.22/ld/testsuite/ld-gc/pr13683.d12
-rw-r--r--binutils-2.22/ld/testsuite/ld-gc/start.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/alloc.t1
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/emit-relocs-nacl.rd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/emit-relocs.rd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/hidden2.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/i386.exp42
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pcrel16.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pcrel16abs.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/plt-nacl.pd162
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/plt-pic-nacl.pd168
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/plt-pic.pd24
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/plt-pic.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/plt.pd24
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/plt.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pltlib.s10
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr12570a.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr12570a.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr12570b.d9
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr12570b.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr12627.t1
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr12718.d14
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr12921.d18
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr13302.d12
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr13302.s11
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr14215.d9
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/pr14215.s4
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/protected4.d5
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/protected4.s12
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/protected5.d5
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/protected5.s12
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/reloc.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbin-nacl.rd165
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbin.dd708
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbin.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbin.sd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbin.td14
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbindesc-nacl.rd156
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.dd691
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.sd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsbindesc.td14
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsdesc-nacl.rd153
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsdesc.dd594
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsdesc.rd20
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsdesc.sd4
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsdesc.td2
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsg.sd2
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsgdesc-nacl.rd105
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.dd238
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsgdesc.rd16
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsindntpoff.dd12
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsnopic-nacl.rd120
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsnopic.dd243
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsnopic.rd18
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlsnopic.sd6
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlspic-nacl.rd158
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlspic.dd615
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlspic.rd18
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlspic.sd2
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlspic.td2
-rw-r--r--binutils-2.22/ld/testsuite/ld-i386/tlspie2.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-ia64/tlsbin.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-ia64/tlspic.rd24
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/binutils.exp6
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-i386.s2
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc-13a-x86-64.s2
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-i386.s2
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc-15-x86-64.s2
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-i386.d10
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-x86-64.d10
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc-16-x86.s17
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc-3a-x86.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-ifunc/ifunc.exp5
-rw-r--r--binutils-2.22/ld/testsuite/ld-linkonce/linkonce.exp3
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/adj-brset.d47
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/adj-jump.d101
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/bug-1403.d7
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/bug-1417.d11
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/bug-3331.d11
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/far-hc11.d83
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/far-hc12.d57
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/link-hcs12.d15
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/m68hc11.exp5
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/relax-direct.d107
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/relax-group.d105
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/xgate-link.d25
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/xgate-link.s16
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/xgate-offset.d13
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/xgate-offset.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/xgate1.d24
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/xgate1.s18
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68hc11/xgate2.s16
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68k/m68k.exp4
-rw-r--r--binutils-2.22/ld/testsuite/ld-m68k/tls-ld-1.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-00.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-01.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-02.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-03.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-04.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-05.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-10.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-11.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-12.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-13.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-14.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-15.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-20.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-21.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-22.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-23.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-24.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-25.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-30.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-31.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-32.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-33.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-34.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-35.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-40.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-41.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-42.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-43.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-44.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-45.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/attr-gnu-4-51.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/comm-data.exp89
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame1.ld2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame3.d99
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/eh-frame4.d85
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/mips-elf.exp2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-1.s1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-2.s1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global-3.s1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/mips16-call-global.d60
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/multi-got-1.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.dd2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/reloc-merge-lo16.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/textrel-1.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/tls-multi-got-1.r2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-1.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-10.d10
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-11.d11
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-14.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-16.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-17.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-18.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-2.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-22.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-3.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-4.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-5.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/bpo-9.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-1.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-19.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-2.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-3.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-4.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-5.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-5s.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-6.d34
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/greg-7.d34
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/loc1.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/loc2.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/loc3.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/loc4.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/loc6.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/local1.d27
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/local3.d27
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/local5.d27
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/local7.d27
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/locdo-1.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/loct-1.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/locto-1.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/sec-7m.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/start-1.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mmix/undef-3.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-mn10300/i135409-1.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-pie/pie.exp3
-rw-r--r--binutils-2.22/ld/testsuite/ld-plugin/plugin.exp4
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/apuinfo.rd5
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/powerpc.exp35
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/relbrlt.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/tlsexe.r20
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/tlsexe32.r18
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/tlsexetoc.r20
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/tlsso.r26
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.d9
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/tlsso32.r28
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/tlstocso.r18
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-1.d14
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-1.ld17
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-2.d16
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-2.ld17
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-3.d16
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-3.ld17
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-4.d14
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-4.ld17
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-5.d16
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-5.ld44
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6.d25
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6.ld37
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6a.s47
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6b.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6c.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg-6d.s9
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-multiseg.s50
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-1.d29
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-1.s18
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-2.d87
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-2.s92
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-3.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-3.s10
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-1.s13
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-2.s41
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle-reloc-def-3.s29
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vle.ld11
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax-2.rd18
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vxworks-relax.rd14
-rw-r--r--binutils-2.22/ld/testsuite/ld-powerpc/vxworks1-lib.rd2
-rw-r--r--binutils-2.22/ld/testsuite/ld-s390/tlsbin.rd17
-rw-r--r--binutils-2.22/ld/testsuite/ld-s390/tlsbin_64.rd17
-rw-r--r--binutils-2.22/ld/testsuite/ld-s390/tlspic.rd38
-rw-r--r--binutils-2.22/ld/testsuite/ld-s390/tlspic_64.rd38
-rw-r--r--binutils-2.22/ld/testsuite/ld-scripts/empty-address-1.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-scripts/empty-address-2a.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-scripts/empty-address-2b.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-scripts/empty-address-3a.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-scripts/empty-address-3b.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-scripts/empty-address-3c.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-scripts/phdrs.exp8
-rw-r--r--binutils-2.22/ld/testsuite/ld-selective/sel-dump.exp5
-rw-r--r--binutils-2.22/ld/testsuite/ld-selective/selective.exp18
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/abi32.xd9
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/abi64.xd9
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/cmpct1.xd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/crange1.rd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/crange2.rd9
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-cmpct.rd10
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/crange3-media.rd10
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/crange3.rd10
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel1.rd26
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/crangerel2.rd37
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/mix1.xd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/mix2.xd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/shdl32.xd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sh64/shdl64.xd8
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/shared-1.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/sub2l-1.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/tlspic-2.d14
-rw-r--r--binutils-2.22/ld/testsuite/ld-sh/weak1.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-shared/shared.exp20
-rw-r--r--binutils-2.22/ld/testsuite/ld-sparc/gotop32.rd14
-rw-r--r--binutils-2.22/ld/testsuite/ld-sparc/gotop64.rd14
-rw-r--r--binutils-2.22/ld/testsuite/ld-sparc/tlssunbin32.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-sparc/tlssunbin64.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic32.rd36
-rw-r--r--binutils-2.22/ld/testsuite/ld-sparc/tlssunnopic64.rd36
-rw-r--r--binutils-2.22/ld/testsuite/ld-sparc/tlssunpic32.rd40
-rw-r--r--binutils-2.22/ld/testsuite/ld-sparc/tlssunpic64.rd40
-rw-r--r--binutils-2.22/ld/testsuite/ld-spu/icache1.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-spu/pic.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-srec/srec.exp23
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/dsbt-be.ld2
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/dsbt.ld2
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/mvk-reloc-local-r.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-1.rd62
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-1b.rd62
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-1r.rd62
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-1rb.rd62
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1.rd62
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1b.rd62
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1r.rd54
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-app-1rb.rd54
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/shlib-noindex.rd64
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/static-app-1.rd63
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/static-app-1b.rd63
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/static-app-1r.rd61
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/static-app-1rb.rd61
-rw-r--r--binutils-2.22/ld/testsuite/ld-tic6x/unwind-6.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-tilegx/reloc-be.d70
-rw-r--r--binutils-2.22/ld/testsuite/ld-tilegx/reloc-le.d70
-rw-r--r--binutils-2.22/ld/testsuite/ld-tilegx/tilegx.exp19
-rw-r--r--binutils-2.22/ld/testsuite/ld-undefined/weak-undef.exp3
-rw-r--r--binutils-2.22/ld/testsuite/ld-unique/unique.exp3
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/32bit.s78
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/64bit.s4
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/abs-l1om.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/dwarfreloc.exp9
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/hidden2.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-10.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-10.s3
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-11.d3
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-11.s12
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4-nacl.d32
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.d33
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-4.s3
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-5.s2
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-8.d10
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/ilp32-9.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/incompatible.l1
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/line.exp13
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pcrel16.d2
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/plt-nacl.pd55
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/plt-pic.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/plt.pd24
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/plt.s6
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pltlib.s10
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr12570a.d8
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr12570a.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr12570b.d9
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr12570b.s8
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr12718.d14
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr12921.d18
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1a.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr13082-1b.d6
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr13947.d7
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr13947.s5
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr14207.d9
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr14207.s24
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr14215.d9
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/pr14215.s4
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/protected2-l1om.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/protected3-l1om.d1
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/protected3.d4
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/protected4.d5
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/protected4.s12
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/protected5.d5
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/protected5.s12
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/split-by-file-nacl.rd17
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/split-by-file.rd4
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbin-nacl.rd152
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.dd468
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.sd6
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbin.td14
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd143
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.dd448
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.rd15
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.sd6
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsbindesc.td14
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc-nacl.pd42
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc-nacl.rd164
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.dd36
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.rd40
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.sd26
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsdesc.td14
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsg.sd2
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsgd5.dd4
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsgd6.dd2
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd106
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.dd46
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlsgdesc.rd16
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlspic-nacl.rd148
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlspic.dd51
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlspic.rd38
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlspic.sd20
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/tlspic.td14
-rw-r--r--binutils-2.22/ld/testsuite/ld-x86-64/x86-64.exp79
-rw-r--r--binutils-2.22/ld/testsuite/lib/ld-lib.exp121
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