REQUIRE (skip_bytes (&buf, end, per_width));
}
break;
+ case 'G':
+ break;
default:
/* Unrecognized augmentation. Better bail out. */
goto free_no_table;
run_dump_test_lp64 "variant_pcs-shared"
run_dump_test_lp64 "variant_pcs-now"
+run_dump_test_lp64 "mte-tagged-frame"
+
set aarch64elflinktests {
{"ld-aarch64/so with global symbol" "-shared" "" "" {copy-reloc-so.s}
{} "copy-reloc-so.so"}
--- /dev/null
+ .text
+ .global bar
+ .type bar, %function
+bar:
+ .cfi_startproc
+ .cfi_mte_tagged_frame
+ stp x19, x20, [sp, -144]!
+ .cfi_def_cfa_offset 144
+ .cfi_offset 19, -144
+ .cfi_offset 20, -136
+ ldp x19, x20, [sp], 144
+ .cfi_restore 20
+ .cfi_restore 19
+ .cfi_def_cfa_offset 0
+ ret
+ .cfi_endproc
+ .size bar, .-bar
--- /dev/null
+ .text
+ .global foo
+ .type foo, %function
+foo:
+ .cfi_startproc
+ stp x19, x20, [sp, -32]!
+ .cfi_def_cfa_offset 32
+ .cfi_offset 19, -32
+ .cfi_offset 20, -16
+ ldp x19, x20, [sp], 32
+ .cfi_restore 20
+ .cfi_restore 19
+ .cfi_def_cfa_offset 0
+ ret
+ .cfi_endproc
+ .size foo, .-foo
--- /dev/null
+#source: mte-tagged-frame-foo.s
+#source: mte-tagged-frame-bar.s
+#ld: -shared
+#objdump: -WF
+
+#...
+Contents of the .eh_frame section:
+
+
+0+0 0+10 0+0 CIE "zR" cf=4 df=-8 ra=30
+ +LOC +CFA +
+0+0 sp\+0 +
+
+0+14 0+20 0+18 FDE cie=0+0 pc=0+17c..0+188
+ +LOC +CFA +x19 +x20 +
+0+17c sp\+0 +u +u +
+0+180 sp\+32 +c-32 c-16 +
+0+184 sp\+0 +u +u +
+
+0+38 0+14 0+0 CIE "zRG" cf=4 df=-8 ra=30
+ +LOC +CFA +
+0+0 sp\+0 +
+
+0+50 0+1c 0+1c FDE cie=0+38 pc=0+188..0+194
+ +LOC +CFA +x19 +x20 +
+0+188 sp\+0 +u +u +
+0+18c sp\+144 +c-144 c-136 +
+0+190 sp\+0 +u +u +
+#...