[AArch64] Make LD testcases support ILP32 mode
authorJiong Wang <jiong.wang@arm.com>
Tue, 13 Dec 2016 12:50:17 +0000 (12:50 +0000)
committerJiong Wang <jiong.wang@arm.com>
Tue, 13 Dec 2016 12:50:17 +0000 (12:50 +0000)
ld/
* testsuite/ld-aarch64/aarch64-elf.exp (aarch64_choose_lp64_emul): New
function.
(run_dump_test_lp64): New function which pass LP64 mode options to both
assembler and linker when building test binary.
(aarch64elftests): Remove eh-frame-merge test.
(eh-frame-merge-lp64): Restrict eh-frame-merge test to LP64 only.
(run_dump_test): Migrate to run_dump_test_lp64 if the test source was
written for LP64 only.
* testsuite/ld-aarch64/erratum843419.d: Support ILP32 mode.
* testsuite/ld-aarch64/farcall-b-defsym.d: Likewise.
* testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
* testsuite/ld-aarch64/farcall-b.d: Likewise.
* testsuite/ld-aarch64/farcall-bl-defsym.d: Likewise.
* testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
* testsuite/ld-aarch64/farcall-bl.d: Likewise.
* testsuite/ld-aarch64/ifunc-15.d: Likewise.
* testsuite/ld-aarch64/ifunc-16.d: Likewise.
* testsuite/ld-aarch64/ifunc-5a-local.d: Likewise.
* testsuite/ld-aarch64/ifunc-5a.d: Likewise.
* testsuite/ld-aarch64/ifunc-5b-local.d: Likewise.
* testsuite/ld-aarch64/ifunc-5b.d: Likewise.
* testsuite/ld-aarch64/ifunc-5r-local.d: Likewise.
* testsuite/ld-aarch64/ifunc-6a.d: Likewise.
* testsuite/ld-aarch64/ifunc-6b.d: Likewise.
* testsuite/ld-aarch64/ifunc-7a.d: Likewise.
* testsuite/ld-aarch64/ifunc-7b.d: Likewise.
* testsuite/ld-aarch64/ifunc-8.d: Likewise.
* testsuite/ld-aarch64/limit-b.d: Likewise.
* testsuite/ld-aarch64/limit-bl.d: Likewise.

23 files changed:
ld/ChangeLog
ld/testsuite/ld-aarch64/aarch64-elf.exp
ld/testsuite/ld-aarch64/erratum843419.d
ld/testsuite/ld-aarch64/farcall-b-defsym.d
ld/testsuite/ld-aarch64/farcall-b-plt.d
ld/testsuite/ld-aarch64/farcall-b.d
ld/testsuite/ld-aarch64/farcall-bl-defsym.d
ld/testsuite/ld-aarch64/farcall-bl-plt.d
ld/testsuite/ld-aarch64/farcall-bl.d
ld/testsuite/ld-aarch64/ifunc-15.d
ld/testsuite/ld-aarch64/ifunc-16.d
ld/testsuite/ld-aarch64/ifunc-5a-local.d
ld/testsuite/ld-aarch64/ifunc-5a.d
ld/testsuite/ld-aarch64/ifunc-5b-local.d
ld/testsuite/ld-aarch64/ifunc-5b.d
ld/testsuite/ld-aarch64/ifunc-5r-local.d
ld/testsuite/ld-aarch64/ifunc-6a.d
ld/testsuite/ld-aarch64/ifunc-6b.d
ld/testsuite/ld-aarch64/ifunc-7a.d
ld/testsuite/ld-aarch64/ifunc-7b.d
ld/testsuite/ld-aarch64/ifunc-8.d
ld/testsuite/ld-aarch64/limit-b.d
ld/testsuite/ld-aarch64/limit-bl.d

index 7252e6bbdaa80e706e3492ad089a836965edf0fb..08ce0164646574c72f6235592915f7641dd21808 100644 (file)
@@ -1,3 +1,35 @@
+2016-12-13  Jiong Wang  <jiong.wang@arm.com>
+
+       * testsuite/ld-aarch64/aarch64-elf.exp (aarch64_choose_lp64_emul): New
+       function.
+       (run_dump_test_lp64): New function which pass LP64 mode options to both
+       assembler and linker when building test binary.
+       (aarch64elftests): Remove eh-frame-merge test.
+       (eh-frame-merge-lp64): Restrict eh-frame-merge test to LP64 only.
+       (run_dump_test): Migrate to run_dump_test_lp64 if the test source was
+       written for LP64 only.
+       * testsuite/ld-aarch64/erratum843419.d: Support ILP32 mode.
+       * testsuite/ld-aarch64/farcall-b-defsym.d: Likewise.
+       * testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
+       * testsuite/ld-aarch64/farcall-b.d: Likewise.
+       * testsuite/ld-aarch64/farcall-bl-defsym.d: Likewise.
+       * testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
+       * testsuite/ld-aarch64/farcall-bl.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-15.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-16.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-5a-local.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-5a.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-5b-local.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-5b.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-5r-local.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-6a.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-6b.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-7a.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-7b.d: Likewise.
+       * testsuite/ld-aarch64/ifunc-8.d: Likewise.
+       * testsuite/ld-aarch64/limit-b.d: Likewise.
+       * testsuite/ld-aarch64/limit-bl.d: Likewise.
+
 2016-12-13  Alan Modra  <amodra@gmail.com>
 
        * testsuite/ld-elf/nobits-1.d: Remove xfail for hppa64.
index 8e425d214f82371155ff53b048d762a48dae8445..de158fe1d1a5cd04fbe2b7b81f086b43dc768d19 100644 (file)
@@ -33,8 +33,6 @@ if { ![is_elf_format] || ![istarget "aarch64*-*-*"] } {
 # readelf: Apply readelf options on result.  Compare with regex (last arg).
 
 set aarch64elftests {
-    {"EH Frame merge" "-Ttext 0x8000" "" "" {eh-frame-bar.s eh-frame-foo.s}
-       {{objdump --dwarf=frames eh-frame.d}} "eh-frame"}
     {"Erratum 835769 dump test"
      "--fix-cortex-a53-835769" "" "" {erratum835769.s}
      {{objdump -dr erratum835769.d}}
@@ -58,11 +56,39 @@ proc aarch64_choose_ilp32_emul {} {
     return "aarch64elf32"
 }
 
+proc aarch64_choose_lp64_emul {} {
+    if [istarget *linux*] then {
+       if [istarget aarch64_be-*] {
+           return "aarch64linuxb"
+       }
+       return "aarch64linux"
+    }
+    if [istarget aarch64_be-*] {
+        return "aarch64elfb"
+    }
+    return "aarch64elf"
+}
+
+proc run_dump_test_lp64 { testname } {
+  run_dump_test $testname \
+               [list [list as "-mabi=lp64"] \
+                     [list ld [concat "-m " [aarch64_choose_lp64_emul]]]]
+}
+
+set eh-frame-merge-lp64 [list [list "EH Frame merge" \
+                             [concat "-m " [aarch64_choose_lp64_emul] \
+                                     " -Ttext 0x8000"] \
+                             "" "-mabi=lp64" {eh-frame-bar.s eh-frame-foo.s} \
+                             {{objdump --dwarf=frames eh-frame.d}} \
+                             "eh-frame"]]
+
 run_ld_link_tests $aarch64elftests
+run_ld_link_tests eh-frame-merge-lp64
+
 run_dump_test "erratum843419"
 
 # Relocation Tests
-run_dump_test "weak-undefined"
+run_dump_test_lp64 "weak-undefined"
 run_dump_test "emit-relocs-28"
 run_dump_test "emit-relocs-86"
 run_dump_test "emit-relocs-86-overflow"
@@ -73,103 +99,103 @@ run_dump_test "emit-relocs-89"
 run_dump_test "emit-relocs-90"
 run_dump_test "emit-relocs-90-overflow"
 run_dump_test "emit-relocs-92"
-run_dump_test "emit-relocs-257"
-run_dump_test "emit-relocs-257-be"
+run_dump_test_lp64 "emit-relocs-257"
+run_dump_test_lp64 "emit-relocs-257-be"
 # 258 is tested in 257
 # 259 is tested in 257
-run_dump_test "emit-relocs-260"
-run_dump_test "emit-relocs-260-be"
+run_dump_test_lp64 "emit-relocs-260"
+run_dump_test_lp64 "emit-relocs-260-be"
 # 261 is tested by 260
-run_dump_test "emit-relocs-262"
-run_dump_test "emit-relocs-263"
-run_dump_test "emit-relocs-264"
-run_dump_test "emit-relocs-264-bad"
-run_dump_test "emit-relocs-265"
-run_dump_test "emit-relocs-266"
-run_dump_test "emit-relocs-266-bad"
-run_dump_test "emit-relocs-267"
-run_dump_test "emit-relocs-268"
-run_dump_test "emit-relocs-268-bad"
-run_dump_test "emit-relocs-269"
-run_dump_test "emit-relocs-269-bad"
-run_dump_test "emit-relocs-270"
-run_dump_test "emit-relocs-270-bad"
-run_dump_test "emit-relocs-270-overflow"
-run_dump_test "emit-relocs-271"
-run_dump_test "emit-relocs-271-overflow"
-run_dump_test "emit-relocs-272"
-run_dump_test "emit-relocs-272-overflow"
-run_dump_test "emit-relocs-273"
-run_dump_test "emit-relocs-274"
-run_dump_test "emit-relocs-275"
-run_dump_test "emit-relocs-276"
-run_dump_test "emit-relocs-277"
-run_dump_test "emit-relocs-278"
-run_dump_test "emit-relocs-279"
-run_dump_test "emit-relocs-279-bad"
-run_dump_test "emit-relocs-280"
+run_dump_test_lp64 "emit-relocs-262"
+run_dump_test_lp64 "emit-relocs-263"
+run_dump_test_lp64 "emit-relocs-264"
+run_dump_test_lp64 "emit-relocs-264-bad"
+run_dump_test_lp64 "emit-relocs-265"
+run_dump_test_lp64 "emit-relocs-266"
+run_dump_test_lp64 "emit-relocs-266-bad"
+run_dump_test_lp64 "emit-relocs-267"
+run_dump_test_lp64 "emit-relocs-268"
+run_dump_test_lp64 "emit-relocs-268-bad"
+run_dump_test_lp64 "emit-relocs-269"
+run_dump_test_lp64 "emit-relocs-269-bad"
+run_dump_test_lp64 "emit-relocs-270"
+run_dump_test_lp64 "emit-relocs-270-bad"
+run_dump_test_lp64 "emit-relocs-270-overflow"
+run_dump_test_lp64 "emit-relocs-271"
+run_dump_test_lp64 "emit-relocs-271-overflow"
+run_dump_test_lp64 "emit-relocs-272"
+run_dump_test_lp64 "emit-relocs-272-overflow"
+run_dump_test_lp64 "emit-relocs-273"
+run_dump_test_lp64 "emit-relocs-274"
+run_dump_test_lp64 "emit-relocs-275"
+run_dump_test_lp64 "emit-relocs-276"
+run_dump_test_lp64 "emit-relocs-277"
+run_dump_test_lp64 "emit-relocs-278"
+run_dump_test_lp64 "emit-relocs-279"
+run_dump_test_lp64 "emit-relocs-279-bad"
+run_dump_test_lp64 "emit-relocs-280"
 # 281 is unused
-run_dump_test "emit-relocs-282"
-run_dump_test "emit-relocs-283"
-run_dump_test "emit-relocs-284"
-run_dump_test "emit-relocs-285"
-run_dump_test "emit-relocs-286"
-run_dump_test "emit-relocs-286-bad"
+run_dump_test_lp64 "emit-relocs-282"
+run_dump_test_lp64 "emit-relocs-283"
+run_dump_test_lp64 "emit-relocs-284"
+run_dump_test_lp64 "emit-relocs-285"
+run_dump_test_lp64 "emit-relocs-286"
+run_dump_test_lp64 "emit-relocs-286-bad"
 # 287-298 are not done yet
-run_dump_test "emit-relocs-299"
+run_dump_test_lp64 "emit-relocs-299"
 # 300 is not done yet
-run_dump_test "emit-relocs-301"
-run_dump_test "emit-relocs-301-be"
-run_dump_test "emit-relocs-302"
-run_dump_test "emit-relocs-302-be"
+run_dump_test_lp64 "emit-relocs-301"
+run_dump_test_lp64 "emit-relocs-301-be"
+run_dump_test_lp64 "emit-relocs-302"
+run_dump_test_lp64 "emit-relocs-302-be"
 # 303-308 are not done yet
-run_dump_test "emit-relocs-309-up"
-run_dump_test "emit-relocs-309-low"
-run_dump_test "emit-relocs-309-up-bad"
-run_dump_test "emit-relocs-309-low-bad"
-run_dump_test "emit-relocs-310"
-run_dump_test "emit-relocs-310-be"
-run_dump_test "emit-relocs-311"
-run_dump_test "emit-relocs-312"
-run_dump_test "emit-relocs-313"
-run_dump_test "emit-relocs-515"
-run_dump_test "emit-relocs-515-be"
-run_dump_test "emit-relocs-516"
-run_dump_test "emit-relocs-516-be"
-run_dump_test "emit-relocs-523"
-run_dump_test "emit-relocs-524"
-run_dump_test "emit-relocs-525"
-run_dump_test "emit-relocs-526"
-run_dump_test "emit-relocs-526-overflow"
-run_dump_test "emit-relocs-527"
-run_dump_test "emit-relocs-528"
-run_dump_test "emit-relocs-528-overflow"
-run_dump_test "emit-relocs-529"
-run_dump_test "emit-relocs-529-overflow"
-run_dump_test "emit-relocs-530"
-run_dump_test "emit-relocs-531"
-run_dump_test "emit-relocs-531-overflow"
-run_dump_test "emit-relocs-532"
-run_dump_test "emit-relocs-533"
-run_dump_test "emit-relocs-533-overflow"
-run_dump_test "emit-relocs-534"
-run_dump_test "emit-relocs-535"
-run_dump_test "emit-relocs-535-overflow"
-run_dump_test "emit-relocs-536"
-run_dump_test "emit-relocs-537"
-run_dump_test "emit-relocs-537-overflow"
-run_dump_test "emit-relocs-538"
+run_dump_test_lp64 "emit-relocs-309-up"
+run_dump_test_lp64 "emit-relocs-309-low"
+run_dump_test_lp64 "emit-relocs-309-up-bad"
+run_dump_test_lp64 "emit-relocs-309-low-bad"
+run_dump_test_lp64 "emit-relocs-310"
+run_dump_test_lp64 "emit-relocs-310-be"
+run_dump_test_lp64 "emit-relocs-311"
+run_dump_test_lp64 "emit-relocs-312"
+run_dump_test_lp64 "emit-relocs-313"
+run_dump_test_lp64 "emit-relocs-515"
+run_dump_test_lp64 "emit-relocs-515-be"
+run_dump_test_lp64 "emit-relocs-516"
+run_dump_test_lp64 "emit-relocs-516-be"
+run_dump_test_lp64 "emit-relocs-523"
+run_dump_test_lp64 "emit-relocs-524"
+run_dump_test_lp64 "emit-relocs-525"
+run_dump_test_lp64 "emit-relocs-526"
+run_dump_test_lp64 "emit-relocs-526-overflow"
+run_dump_test_lp64 "emit-relocs-527"
+run_dump_test_lp64 "emit-relocs-528"
+run_dump_test_lp64 "emit-relocs-528-overflow"
+run_dump_test_lp64 "emit-relocs-529"
+run_dump_test_lp64 "emit-relocs-529-overflow"
+run_dump_test_lp64 "emit-relocs-530"
+run_dump_test_lp64 "emit-relocs-531"
+run_dump_test_lp64 "emit-relocs-531-overflow"
+run_dump_test_lp64 "emit-relocs-532"
+run_dump_test_lp64 "emit-relocs-533"
+run_dump_test_lp64 "emit-relocs-533-overflow"
+run_dump_test_lp64 "emit-relocs-534"
+run_dump_test_lp64 "emit-relocs-535"
+run_dump_test_lp64 "emit-relocs-535-overflow"
+run_dump_test_lp64 "emit-relocs-536"
+run_dump_test_lp64 "emit-relocs-537"
+run_dump_test_lp64 "emit-relocs-537-overflow"
+run_dump_test_lp64 "emit-relocs-538"
 
 run_dump_test "reloc-overflow-bad"
 
 # test addend correctness when --emit-relocs specified for non-relocatable obj.
-run_dump_test "emit-relocs-local-addend"
+run_dump_test_lp64 "emit-relocs-local-addend"
 # test addend correctness when -r specified.
-run_dump_test "local-addend-r"
+run_dump_test_lp64 "local-addend-r"
 
 # test error handling on pcrel relocation for shared libraries.
-run_dump_test "pcrel_pic_undefined"
-run_dump_test "pcrel_pic_defined_local"
+run_dump_test_lp64 "pcrel_pic_undefined"
+run_dump_test_lp64 "pcrel_pic_defined_local"
 
 run_dump_test "limit-b"
 run_dump_test "limit-bl"
@@ -191,14 +217,14 @@ run_dump_test "tls-relax-gd-le"
 run_dump_test "tls-relax-gdesc-le"
 run_dump_test "tls-relax-gd-ie-ilp32"
 run_dump_test "tls-relax-gd-ie"
-run_dump_test "tls-relax-large-gd-ie"
-run_dump_test "tls-relax-large-gd-ie-be"
-run_dump_test "tls-relax-large-gd-le"
-run_dump_test "tls-relax-large-gd-le-be"
-run_dump_test "tls-relax-large-desc-ie"
-run_dump_test "tls-relax-large-desc-ie-be"
-run_dump_test "tls-relax-large-desc-le"
-run_dump_test "tls-relax-large-desc-le-be"
+run_dump_test_lp64 "tls-relax-large-gd-ie"
+run_dump_test_lp64 "tls-relax-large-gd-ie-be"
+run_dump_test_lp64 "tls-relax-large-gd-le"
+run_dump_test_lp64 "tls-relax-large-gd-le-be"
+run_dump_test_lp64 "tls-relax-large-desc-ie"
+run_dump_test_lp64 "tls-relax-large-desc-ie-be"
+run_dump_test_lp64 "tls-relax-large-desc-le"
+run_dump_test_lp64 "tls-relax-large-desc-le-be"
 run_dump_test "tls-relax-gdesc-ie"
 run_dump_test "tls-relax-ie-le"
 run_dump_test "tls-relax-ld-le-small"
@@ -215,22 +241,22 @@ run_dump_test "tls-tiny-desc"
 run_dump_test "tls-tiny-desc-ie"
 run_dump_test "tls-tiny-desc-le"
 run_dump_test "tls-tiny-ie"
-run_dump_test "tls-large-ie"
-run_dump_test "tls-large-ie-be"
-run_dump_test "tls-large-desc"
-run_dump_test "tls-large-desc-be"
+run_dump_test_lp64 "tls-large-ie"
+run_dump_test_lp64 "tls-large-ie-be"
+run_dump_test_lp64 "tls-large-desc"
+run_dump_test_lp64 "tls-large-desc-be"
 run_dump_test "tls-tiny-ld"
 run_dump_test "tls-small-ld"
-run_dump_test "tlsle"
+run_dump_test_lp64 "tlsle"
 run_dump_test "tlsle-symbol-offset"
 run_dump_test "gc-got-relocs"
 run_dump_test "gc-tls-relocs"
-run_dump_test "gc-plt-relocs"
-run_dump_test "gc-relocs-257-dyn"
-run_dump_test "gc-relocs-257"
+run_dump_test_lp64 "gc-plt-relocs"
+run_dump_test_lp64 "gc-relocs-257-dyn"
+run_dump_test_lp64 "gc-relocs-257"
 run_dump_test "implicit_got_section_1"
 run_dump_test "pr17415"
-run_dump_test "tprel_g2_overflow"
+run_dump_test_lp64 "tprel_g2_overflow"
 run_dump_test "tprel_add_lo12_overflow"
 run_dump_test "protected-data"
 
@@ -254,11 +280,11 @@ run_dump_test "ifunc-7a"
 run_dump_test "ifunc-7b"
 run_dump_test "ifunc-7c"
 run_dump_test "ifunc-8"
-run_dump_test "ifunc-9"
-run_dump_test "ifunc-10"
-run_dump_test "ifunc-11"
-run_dump_test "ifunc-12"
-run_dump_test "ifunc-13"
+run_dump_test_lp64 "ifunc-9"
+run_dump_test_lp64 "ifunc-10"
+run_dump_test_lp64 "ifunc-11"
+run_dump_test_lp64 "ifunc-12"
+run_dump_test_lp64 "ifunc-13"
 run_dump_test "ifunc-14a"
 run_dump_test "ifunc-14b"
 run_dump_test "ifunc-14c"
@@ -269,26 +295,26 @@ run_dump_test "ifunc-15"
 run_dump_test "ifunc-16"
 run_dump_test "ifunc-17a"
 run_dump_test "ifunc-17b"
-run_dump_test "ifunc-18a"
-run_dump_test "ifunc-18b"
-run_dump_test "ifunc-19a"
-run_dump_test "ifunc-19b"
-run_dump_test "ifunc-20"
-run_dump_test "ifunc-21"
-run_dump_test "ifunc-22"
+run_dump_test_lp64 "ifunc-18a"
+run_dump_test_lp64 "ifunc-18b"
+run_dump_test_lp64 "ifunc-19a"
+run_dump_test_lp64 "ifunc-19b"
+run_dump_test_lp64 "ifunc-20"
+run_dump_test_lp64 "ifunc-21"
+run_dump_test_lp64 "ifunc-22"
 
 run_dump_test "relasz"
-run_dump_test "relocs-1027-symbolic-func"
+run_dump_test_lp64 "relocs-1027-symbolic-func"
 
-run_dump_test "dt_textrel"
+run_dump_test_lp64 "dt_textrel"
 
 run_dump_test "plt_mapping_symbol"
 
-run_dump_test "rela-abs-relative"
-run_dump_test "rela-abs-relative-be"
-run_dump_test "rela-abs-relative-opt"
+run_dump_test_lp64 "rela-abs-relative"
+run_dump_test_lp64 "rela-abs-relative-be"
+run_dump_test_lp64 "rela-abs-relative-opt"
 
-run_dump_test "pie-bind-locally"
+run_dump_test_lp64 "pie-bind-locally"
 
 set aarch64elflinktests {
   {"ld-aarch64/so with global symbol" "-shared" "" "" {copy-reloc-so.s}
index 55a8a8ca905091d0d13094ecb9054d9fadcd2103..28e4445672d94829ddfb7fa481fc7b33d590c07a 100644 (file)
@@ -6,64 +6,64 @@
 
 Disassembly of section .e843419:
 
-0000000020000000 <e843419>:
-    20000000:  d10043ff        sub     sp, sp, #0x10
-    20000004:  d28001a7        mov     x7, #0xd                        // #13
-    20000008:  b9000fe7        str     w7, \[sp, #12\]
-    2000000c:  140003fb        b       20000ff8 <e843419_1>
+0*20000000 <e843419>:
+[ ]*20000000:  d10043ff        sub     sp, sp, #0x10
+[ ]*20000004:  d28001a7        mov     x7, #0xd                        // #13
+[ ]*20000008:  b9000fe7        str     w7, \[sp, #12\]
+[ ]*2000000c:  140003fb        b       20000ff8 <e843419_1>
        ...
 
-0000000020000ff8 <e843419_1>:
-    20000ff8:  90100000        adrp    x0, 40000000 <[_a-zA-z0-9]+>
-    20000ffc:  f800c007        stur    x7, \[x0, #12\]
-    20001000:  d2800128        mov     x8, #0x9                        // #9
-    20001004:  14000008        b       20001024 <e843419@0002_00000013_1004>
-    20001008:  8b050020        add     x0, x1, x5
-    2000100c:  b9400fe7        ldr     w7, \[sp, #12\]
-    20001010:  0b0700e0        add     w0, w7, w7
-    20001014:  910043ff        add     sp, sp, #0x10
-    20001018:  14000005        b       2000102c <__e835769_veneer>
-    2000101c:  d65f03c0        ret
-    20001020:  14000400        b       20002020 <__e835769_veneer\+0xff4>
+0*20000ff8 <e843419_1>:
+[ ]*20000ff8:  90100000        adrp    x0, 40000000 <[_a-zA-z0-9]+>
+[ ]*20000ffc:  f800c007        stur    x7, \[x0, #12\]
+[ ]*20001000:  d2800128        mov     x8, #0x9                        // #9
+[ ]*20001004:  14000008        b       20001024 <e843419@0002_00000013_1004>
+[ ]*20001008:  8b050020        add     x0, x1, x5
+[ ]*2000100c:  b9400fe7        ldr     w7, \[sp, #12\]
+[ ]*20001010:  0b0700e0        add     w0, w7, w7
+[ ]*20001014:  910043ff        add     sp, sp, #0x10
+[ ]*20001018:  14000005        b       2000102c <__e835769_veneer>
+[ ]*2000101c:  d65f03c0        ret
+[ ]*20001020:  14000400        b       20002020 <__e835769_veneer\+0xff4>
 
-0000000020001024 <e843419@0002_00000013_1004>:
-    20001024:  f9000008        str     x8, \[x0\]
-    20001028:  17fffff8        b       20001008 <e843419_1\+0x10>
+0*20001024 <e843419@0002_00000013_1004>:
+[ ]*20001024:  f9000008        str     x8, \[x0\]
+[ ]*20001028:  17fffff8        b       20001008 <e843419_1\+0x10>
 
-000000002000102c <__e835769_veneer>:
-    2000102c:  f0f17ff0        adrp    x16, 3000000 <e835769>
-    20001030:  91000210        add     x16, x16, #0x0
-    20001034:  d61f0200        br      x16
+0*2000102c <__e835769_veneer>:
+[ ]*2000102c:  f0f17ff0        adrp    x16, 3000000 <e835769>
+[ ]*20001030:  91000210        add     x16, x16, #0x0
+[ ]*20001034:  d61f0200        br      x16
        ...
 
 Disassembly of section .e835769:
 
-0000000003000000 <e835769>:
- 3000000:      b8408c87        ldr     w7, \[x4, #8\]!
- 3000004:      1b017c06        mul     w6, w0, w1
- 3000008:      f9400084        ldr     x4, \[x4\]
- 300000c:      14000004        b       300001c <__erratum_835769_veneer_0>
- 3000010:      aa0503e0        mov     x0, x5
- 3000014:      d65f03c0        ret
- 3000018:      14000400        b       3001018 <__erratum_835769_veneer_0\+0xffc>
+0*3000000 <e835769>:
+[ ]*3000000:   b8408c87        ldr     w7, \[x4, #8\]!
+[ ]*3000004:   1b017c06        mul     w6, w0, w1
+[ ]*3000008:   f9400084        ldr     x4, \[x4\]
+[ ]*300000c:   14000004        b       300001c <__erratum_835769_veneer_0>
+[ ]*3000010:   aa0503e0        mov     x0, x5
+[ ]*3000014:   d65f03c0        ret
+[ ]*3000018:   14000400        b       3001018 <__erratum_835769_veneer_0\+0xffc>
 
-000000000300001c <__erratum_835769_veneer_0>:
- 300001c:      9b031845        madd    x5, x2, x3, x6
- 3000020:      17fffffc        b       3000010 <e835769\+0x10>
+0*300001c <__erratum_835769_veneer_0>:
+[ ]*300001c:   9b031845        madd    x5, x2, x3, x6
+[ ]*3000020:   17fffffc        b       3000010 <e835769\+0x10>
        ...
 
 Disassembly of section .text:
 
-0000000000400000 <main>:
-  400000:      d10043ff        sub     sp, sp, #0x10
-  400004:      d28001a7        mov     x7, #0xd                        // #13
-  400008:      b9000fe7        str     w7, \[sp, #12\]
-  40000c:      14000003        b       400018 <__e843419_veneer>
-  400010:      d65f03c0        ret
-  400014:      14000400        b       401014 <__e843419_veneer\+0xffc>
+0*400000 <main>:
+[ ]*400000:    d10043ff        sub     sp, sp, #0x10
+[ ]*400004:    d28001a7        mov     x7, #0xd                        // #13
+[ ]*400008:    b9000fe7        str     w7, \[sp, #12\]
+[ ]*40000c:    14000003        b       400018 <__e843419_veneer>
+[ ]*400010:    d65f03c0        ret
+[ ]*400014:    14000400        b       401014 <__e843419_veneer\+0xffc>
 
-0000000000400018 <__e843419_veneer>:
-  400018:      900fe010        adrp    x16, 20000000 <e843419>
-  40001c:      91000210        add     x16, x16, #0x0
-  400020:      d61f0200        br      x16
+0*400018 <__e843419_veneer>:
+[ ]*400018:    900fe010        adrp    x16, 20000000 <e843419>
+[ ]*40001c:    91000210        add     x16, x16, #0x0
+[ ]*400020:    d61f0200        br      x16
        ...
index c3e160299313fa48dd326c1385aff96be100b11d..4952d4be3d35e6c38eaef76505122088209480da 100644 (file)
@@ -7,11 +7,11 @@
 
 Disassembly of section .text:
 
-0000000000001000 <_start>:
+0+1000 <_start>:
  +1000:        14000003        b       100c <__bar_veneer>
  +1004:        d65f03c0        ret
 [ \t]+1008:[ \t]+14000007[ \t]+b[ \t]+1024 <__bar_veneer\+0x18>
-000000000000100c <__bar_veneer>:
+0+100c <__bar_veneer>:
     100c:      90040010        adrp    x16, 8001000 <bar>
     1010:      91000210        add     x16, x16, #0x0
     1014:      d61f0200        br      x16
index e89f0bb7352d18ff92a91cdb0930f704c454dc58..6e9a7bb9cd5f3c13832a8e3fbe74ba1a623c0b96 100644 (file)
@@ -10,8 +10,8 @@ Disassembly of section .plt:
 .* <.plt>:
 .*:    a9bf7bf0        stp     x16, x30, \[sp, #-16\]!
 .*:    .*      adrp    x16, .* <__foo_veneer\+.*>
-.*:    .*      ldr     x17, \[x16, #.*\]
-.*:    .*      add     x16, x16, #.*
+.*:    .*      ldr     [wx]17, \[x16, #.*\]
+.*:    .*      add     [wx]16, [wx]16, #.*
 .*:    d61f0220        br      x17
 .*:    d503201f        nop
 .*:    d503201f        nop
@@ -19,8 +19,8 @@ Disassembly of section .plt:
 
 .* <foo@plt>:
 .*:    .*      adrp    x16, .* <__foo_veneer\+.*>
-.*:    .*      ldr     x17, \[x16, #.*\]
-.*:    .*      add     x16, x16, #.*
+.*:    .*      ldr     [wx]17, \[x16, #.*\]
+.*:    .*      add     [wx]16, [wx]16, #.*
 .*:    d61f0220        br      x17
 
 Disassembly of section .text:
index c1a0c6f8d4891f24ab828fa5b2e5860548bd26c6..affc8a37b65f55857d12d7097da174510fe28256 100644 (file)
@@ -7,11 +7,11 @@
 
 Disassembly of section .text:
 
-0000000000001000 <_start>:
+0+1000 <_start>:
  +1000:        14000003        b       100c <__bar_veneer>
  +1004:        d65f03c0        ret
 [ \t]+1008:[ \t]+14000007[ \t]+b[ \t]+1024 <__bar_veneer\+0x18>
-000000000000100c <__bar_veneer>:
+0+100c <__bar_veneer>:
     100c:      90040010        adrp    x16, 8001000 <bar>
     1010:      91000210        add     x16, x16, #0x0
     1014:      d61f0200        br      x16
@@ -19,5 +19,5 @@ Disassembly of section .text:
 
 Disassembly of section .foo:
 
-0000000008001000 <bar>:
+0+8001000 <bar>:
  8001000:      d65f03c0        ret
index 68332bf2cafc6f73f121f6b87742855bff4f5a09..1ffa00709ee89a323ebedecee679905cf1c9dd99 100644 (file)
@@ -7,11 +7,11 @@
 
 Disassembly of section .text:
 
-0000000000001000 <_start>:
+0+1000 <_start>:
  +1000:        94000003        bl      100c <__bar_veneer>
  +1004:        d65f03c0        ret
 [ \t]+1008:[ \t]+14000007[ \t]+b[ \t]+1024 <__bar_veneer\+0x18>
-000000000000100c <__bar_veneer>:
+0+100c <__bar_veneer>:
     100c:      90040010        adrp    x16, 8001000 <bar>
     1010:      91000210        add     x16, x16, #0x0
     1014:      d61f0200        br      x16
index c5bb37267f7f22af36cbed000a1f811aee84054c..b26a71ae9f214922c01b395f112363d57393b8e4 100644 (file)
@@ -10,8 +10,8 @@ Disassembly of section .plt:
 .* <.plt>:
 .*:    a9bf7bf0        stp     x16, x30, \[sp, #-16\]!
 .*:    .*      adrp    x16, .* <__foo_veneer\+.*>
-.*:    .*      ldr     x17, \[x16, #.*\]
-.*:    .*      add     x16, x16, #.*
+.*:    .*      ldr     [wx]17, \[x16, #.*\]
+.*:    .*      add     [wx]16, [wx]16, #.*
 .*:    d61f0220        br      x17
 .*:    d503201f        nop
 .*:    d503201f        nop
@@ -19,8 +19,8 @@ Disassembly of section .plt:
 
 .* <foo@plt>:
 .*:    .*      adrp    x16, .* <__foo_veneer\+.*>
-.*:    .*      ldr     x17, \[x16, #.*\]
-.*:    .*      add     x16, x16, #.*
+.*:    .*      ldr     [wx]17, \[x16, #.*\]
+.*:    .*      add     [wx]16, [wx]16, #.*
 .*:    d61f0220        br      x17
 
 Disassembly of section .text:
index 78e94dc3503bc9212994325c74f6f257327bdfe5..75f39cc7e4fe95e9ff28ae520950ac15dd07573d 100644 (file)
@@ -7,11 +7,11 @@
 
 Disassembly of section .text:
 
-0000000000001000 <_start>:
+0+1000 <_start>:
  +1000:        94000003        bl      100c <__bar_veneer>
  +1004:        d65f03c0        ret
 [ \t]+1008:[ \t]+14000007[ \t]+b[ \t]+1024 <__bar_veneer\+0x18>
-000000000000100c <__bar_veneer>:
+0+100c <__bar_veneer>:
     100c:      90040010        adrp    x16, 8001000 <bar>
     1010:      91000210        add     x16, x16, #0x0
     1014:      d61f0200        br      x16
@@ -19,5 +19,5 @@ Disassembly of section .text:
 
 Disassembly of section .foo:
 
-0000000008001000 <bar>:
+0+8001000 <bar>:
  8001000:      d65f03c0        ret
index 51d924220e3d7ecdb1d1cab11bf6f631636e3837..801b6159d6381d0b53c26a9dfc3c66293b9fded7 100644 (file)
@@ -5,8 +5,8 @@
 
 Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entries:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc \+ 0
 
 Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)JUMP_SLO(T|)[ ]+ifunc\(\)[ ]+ifunc \+ 0
index 31ec162c7c573bf05ea1a635abc35cb6c8871b2f..9a20b617f6853baa3007620580bdc670dbecc004 100644 (file)
@@ -5,5 +5,5 @@
 
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+0+[ ]+ifunc \+ 0
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)JUMP_SLO(T|)[ ]+0+[ ]+ifunc \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index 96935851d5f14ac6c3a77c354cb4710aa881bb98..36f110b361a7c4334e9e640c76e7c924c185b802 100644 (file)
@@ -5,4 +5,4 @@
 
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index f0ee59f3c4612f39f1a32681e005a3d993a9a86f..03afaefe3e667e124b6019afe17b46318e9b2959 100644 (file)
@@ -5,4 +5,4 @@
 
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index e8e620c03b804068318380cd618a25a8189d8742..1a7cab70fc22de07b6a6f6d32284820d2879ef7d 100644 (file)
@@ -5,4 +5,4 @@
 
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index 0175982f50dcbc6180d73c1af9ae5193560498b1..03a7837b12c48b1e94fc8f3a073101a6a1606a35 100644 (file)
@@ -5,8 +5,8 @@
 
 Relocation section '.rela.got' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_GLOB_DAT[ ]+foo\(\)[ ]+foo \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)GLOB_DAT[ ]+foo\(\)[ ]+foo \+ 0
 #...
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+foo\(\)[ ]+foo \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)JUMP_SLO(T|)[ ]+foo\(\)[ ]+foo \+ 0
index 463cd25a9e1d67a810baf2fa105eb5e1280e3389..8bd5476386369f8e76a945656a6c470c85b5097f 100644 (file)
@@ -5,6 +5,6 @@
 
 Relocation section '.rela.text' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_CALL26[ ]+foo\(\)[ ]+foo \+ 0
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_ADR_GOT_PAGE[ ]+foo\(\)[ ]+foo \+ 0
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_LD64_GOT_LO1[ ]+foo\(\)[ ]+foo \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)CALL26[ ]+foo\(\)[ ]+foo \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)ADR_GOT_(PAGE|)[ ]+foo\(\)[ ]+foo \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)LD(64|32)_GOT(_LO1|)[ ]+foo\(\)[ ]+foo \+ 0
index a50ad3afc4d591f865febf052c59c218a24270d7..cb81deaf4479a5484a3c7ce4097e4eba1d3afcd0 100644 (file)
@@ -5,4 +5,4 @@
 
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index c415bc3ccc80a2696903bd9c8b0028a13fbf9ba2..d7248e83a2acf05bc0b0fbb1e6db8a72e5a00028 100644 (file)
@@ -5,8 +5,8 @@
 
 Relocation section '.rela.got' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_GLOB_DAT[ ]+foo\(\)[ ]+foo \+ 0
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)GLOB_DAT[ ]+foo\(\)[ ]+foo \+ 0
 #...
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index c246c99f79631ccdd645411edf73a7ffaa2306f3..7da9148fc77a147889e597558677a4d439ed6fe4 100644 (file)
@@ -5,4 +5,4 @@
 
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index efdd3798be2ed978b5630f3738708fc06c268901..ff1e73ea7cf0b9a7b2eeb4d9844e88e480e2cdec 100644 (file)
@@ -5,4 +5,4 @@
 
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index 8aadc51b49379fe8ceff5a39436dc6ce6a575c85..0366f5df2b665a9cba344db38e290acfb9c677df 100644 (file)
@@ -6,4 +6,4 @@
 
 Relocation section '.rela.plt' at .*
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
+[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)IRELATIV(E|)[ ]+[0-9a-f]*
index 95d4c8fd622bec8d764c3491aada8987f6ea2392..c32bbbc84a3e561b56d1360a93db7d1d8aa27947 100644 (file)
@@ -7,11 +7,11 @@
 
 Disassembly of section .text:
 
-0000000000001000 <_start>:
+0+1000 <_start>:
     1000:      15ffffff        b       8000ffc <bar>
     1004:      d65f03c0        ret
 
 Disassembly of section .foo:
 
-0000000008000ffc <bar>:
+0+8000ffc <bar>:
  8000ffc:      d65f03c0        ret
index 2eddeb7edf91d9b2a8ec2caae7773f75623f1d40..0e4e622b3c0eb1b9140617529c3ffc3f974ecd45 100644 (file)
@@ -7,11 +7,11 @@
 
 Disassembly of section .text:
 
-0000000000001000 <_start>:
+0+1000 <_start>:
     1000:      95ffffff        bl      8000ffc <bar>
     1004:      d65f03c0        ret
 
 Disassembly of section .foo:
 
-0000000008000ffc <bar>:
+0+8000ffc <bar>:
  8000ffc:      d65f03c0        ret