diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 3d0436d538c856a418f6949fb47998f69558b6fc..5735d127848bdf22685b436b541424f4af0ae636 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -75,7 +75,9 @@ enum aarch64_abi_type { AARCH64_ABI_NONE = 0, AARCH64_ABI_LP64 = 1, - AARCH64_ABI_ILP32 = 2 + AARCH64_ABI_ILP32 = 2, + AARCH64_ABI_PURECAP = 3, + AARCH64_ABI_HYBRID = 4, }; #ifndef DEFAULT_ARCH @@ -10048,6 +10050,10 @@ struct aarch64_option_abi_value_table static const struct aarch64_option_abi_value_table aarch64_abis[] = { {"ilp32", AARCH64_ABI_ILP32}, {"lp64", AARCH64_ABI_LP64}, + /* Note that these values are accepted since they are valid parameters to + the -mabi argument for GCC. However we base no decision on them. */ + {"purecap", AARCH64_ABI_PURECAP}, + {"hybrid", AARCH64_ABI_HYBRID}, }; static int diff --git a/gas/testsuite/gas/aarch64/morello-abis-ignored.d b/gas/testsuite/gas/aarch64/morello-abis-ignored.d new file mode 100644 index 0000000000000000000000000000000000000000..37d7735ac674389be82547c7896d5dd950630bff --- /dev/null +++ b/gas/testsuite/gas/aarch64/morello-abis-ignored.d @@ -0,0 +1,18 @@ +#name: Morello ABI arguments accepted but ignored. +#as: -mabi=purecap +#as: -mabi=lp64 +#as: -mabi=hybrid +#readelf: --syms + +Symbol table '\.symtab' contains 10 entries: + Num: Value Size Type Bind Vis Ndx Name + 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND + 1: 0000000000000000 0 SECTION LOCAL DEFAULT 1 + 2: 0000000000000000 0 SECTION LOCAL DEFAULT 2 + 3: 0000000000000000 0 SECTION LOCAL DEFAULT 3 + 4: 0000000000000001 0 FUNC LOCAL DEFAULT 1 foo + 5: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 \$c + 6: 0000000000000008 0 FUNC LOCAL DEFAULT 1 bar + 7: 0000000000000008 0 NOTYPE LOCAL DEFAULT 1 \$x + 8: 0000000000000011 0 FUNC LOCAL DEFAULT 1 baz + 9: 0000000000000010 0 NOTYPE LOCAL DEFAULT 1 \$c diff --git a/gas/testsuite/gas/aarch64/morello-abis-ignored.s b/gas/testsuite/gas/aarch64/morello-abis-ignored.s new file mode 100644 index 0000000000000000000000000000000000000000..39590632b607d3a3f45da39c2d042b1d52ad1cf5 --- /dev/null +++ b/gas/testsuite/gas/aarch64/morello-abis-ignored.s @@ -0,0 +1,15 @@ + .arch morello+c64 + .type foo, @function +foo: + mov x0, #0 + ret c30 + .arch morello + .type bar,@function +bar: + mov x0, #0 + ret c30 + .arch morello+c64 + .type baz, @function +baz: + mov x0, #0 + ret c30