|
|
|
|
@@ -108,12 +108,12 @@ end:
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-0.s -o gnu-0x10000002-0.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-0.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=ELF -DPLATFORM="0x10000002 (llvm_linux)" \
|
|
|
|
|
# RUN: -DVERSION="0x0 (!PointerAuthIntrinsics, !PointerAuthCalls, !PointerAuthReturns, !PointerAuthAuthTraps, !PointerAuthVTPtrAddressDiscrimination, !PointerAuthVTPtrTypeDiscrimination, !PointerAuthInitFini, !PointerAuthInitFiniAddressDiscrimination, !PointerAuthELFGOT)" %s
|
|
|
|
|
# RUN: -DVERSION="0x0 (!PointerAuthIntrinsics, !PointerAuthCalls, !PointerAuthReturns, !PointerAuthAuthTraps, !PointerAuthVTPtrAddressDiscrimination, !PointerAuthVTPtrTypeDiscrimination, !PointerAuthInitFini, !PointerAuthInitFiniAddressDiscrimination, !PointerAuthELFGOT, !PointerAuthIndirectGotos, !PointerAuthTypeInfoVTPtrDiscrimination, !PointerAuthFPtrTypeDiscrimination)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-0.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=OBJ -DPLATFORM="0x10000002 (llvm_linux)" \
|
|
|
|
|
# RUN: -DVERSION="0x0 (!PointerAuthIntrinsics, !PointerAuthCalls, !PointerAuthReturns, !PointerAuthAuthTraps, !PointerAuthVTPtrAddressDiscrimination, !PointerAuthVTPtrTypeDiscrimination, !PointerAuthInitFini, !PointerAuthInitFiniAddressDiscrimination, !PointerAuthELFGOT)" %s
|
|
|
|
|
# RUN: -DVERSION="0x0 (!PointerAuthIntrinsics, !PointerAuthCalls, !PointerAuthReturns, !PointerAuthAuthTraps, !PointerAuthVTPtrAddressDiscrimination, !PointerAuthVTPtrTypeDiscrimination, !PointerAuthInitFini, !PointerAuthInitFiniAddressDiscrimination, !PointerAuthELFGOT, !PointerAuthIndirectGotos, !PointerAuthTypeInfoVTPtrDiscrimination, !PointerAuthFPtrTypeDiscrimination)" %s
|
|
|
|
|
|
|
|
|
|
#--- gnu-0x10000002-341.s
|
|
|
|
|
#--- gnu-0x10000002-1365.s
|
|
|
|
|
.section ".note.gnu.property", "a"
|
|
|
|
|
.long 4 // Name length is always 4 ("GNU")
|
|
|
|
|
.long end - begin // Data length
|
|
|
|
|
@@ -125,19 +125,19 @@ begin:
|
|
|
|
|
.long 0xc0000001 // Type: GNU_PROPERTY_AARCH64_FEATURE_PAUTH
|
|
|
|
|
.long 16 // Data size
|
|
|
|
|
.quad 0x10000002 // PAuth ABI platform
|
|
|
|
|
.quad 341 // PAuth ABI version
|
|
|
|
|
.quad 1365 // PAuth ABI version
|
|
|
|
|
.p2align 3 // Align to 8 byte for 64 bit
|
|
|
|
|
end:
|
|
|
|
|
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-341.s -o gnu-0x10000002-341.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-341.o | \
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-1365.s -o gnu-0x10000002-1365.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-1365.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=ELF -DPLATFORM="0x10000002 (llvm_linux)" \
|
|
|
|
|
# RUN: -DVERSION="0x155 (PointerAuthIntrinsics, !PointerAuthCalls, PointerAuthReturns, !PointerAuthAuthTraps, PointerAuthVTPtrAddressDiscrimination, !PointerAuthVTPtrTypeDiscrimination, PointerAuthInitFini, !PointerAuthInitFiniAddressDiscrimination, PointerAuthELFGOT)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-341.o | \
|
|
|
|
|
# RUN: -DVERSION="0x555 (PointerAuthIntrinsics, !PointerAuthCalls, PointerAuthReturns, !PointerAuthAuthTraps, PointerAuthVTPtrAddressDiscrimination, !PointerAuthVTPtrTypeDiscrimination, PointerAuthInitFini, !PointerAuthInitFiniAddressDiscrimination, PointerAuthELFGOT, !PointerAuthIndirectGotos, PointerAuthTypeInfoVTPtrDiscrimination, !PointerAuthFPtrTypeDiscrimination)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-1365.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=OBJ -DPLATFORM="0x10000002 (llvm_linux)" \
|
|
|
|
|
# RUN: -DVERSION="0x155 (PointerAuthIntrinsics, !PointerAuthCalls, PointerAuthReturns, !PointerAuthAuthTraps, PointerAuthVTPtrAddressDiscrimination, !PointerAuthVTPtrTypeDiscrimination, PointerAuthInitFini, !PointerAuthInitFiniAddressDiscrimination, PointerAuthELFGOT)" %s
|
|
|
|
|
# RUN: -DVERSION="0x555 (PointerAuthIntrinsics, !PointerAuthCalls, PointerAuthReturns, !PointerAuthAuthTraps, PointerAuthVTPtrAddressDiscrimination, !PointerAuthVTPtrTypeDiscrimination, PointerAuthInitFini, !PointerAuthInitFiniAddressDiscrimination, PointerAuthELFGOT, !PointerAuthIndirectGotos, PointerAuthTypeInfoVTPtrDiscrimination, !PointerAuthFPtrTypeDiscrimination)" %s
|
|
|
|
|
|
|
|
|
|
#--- gnu-0x10000002-170.s
|
|
|
|
|
#--- gnu-0x10000002-2730.s
|
|
|
|
|
.section ".note.gnu.property", "a"
|
|
|
|
|
.long 4 // Name length is always 4 ("GNU")
|
|
|
|
|
.long end - begin // Data length
|
|
|
|
|
@@ -149,19 +149,19 @@ begin:
|
|
|
|
|
.long 0xc0000001 // Type: GNU_PROPERTY_AARCH64_FEATURE_PAUTH
|
|
|
|
|
.long 16 // Data size
|
|
|
|
|
.quad 0x10000002 // PAuth ABI platform
|
|
|
|
|
.quad 170 // PAuth ABI version
|
|
|
|
|
.quad 2730 // PAuth ABI version
|
|
|
|
|
.p2align 3 // Align to 8 byte for 64 bit
|
|
|
|
|
end:
|
|
|
|
|
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-170.s -o gnu-0x10000002-170.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-170.o | \
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-2730.s -o gnu-0x10000002-2730.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-2730.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=ELF -DPLATFORM="0x10000002 (llvm_linux)" \
|
|
|
|
|
# RUN: -DVERSION="0xaa (!PointerAuthIntrinsics, PointerAuthCalls, !PointerAuthReturns, PointerAuthAuthTraps, !PointerAuthVTPtrAddressDiscrimination, PointerAuthVTPtrTypeDiscrimination, !PointerAuthInitFini, PointerAuthInitFiniAddressDiscrimination, !PointerAuthELFGOT)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-170.o | \
|
|
|
|
|
# RUN: -DVERSION="0xaaa (!PointerAuthIntrinsics, PointerAuthCalls, !PointerAuthReturns, PointerAuthAuthTraps, !PointerAuthVTPtrAddressDiscrimination, PointerAuthVTPtrTypeDiscrimination, !PointerAuthInitFini, PointerAuthInitFiniAddressDiscrimination, !PointerAuthELFGOT, PointerAuthIndirectGotos, !PointerAuthTypeInfoVTPtrDiscrimination, PointerAuthFPtrTypeDiscrimination)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-2730.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=OBJ -DPLATFORM="0x10000002 (llvm_linux)" \
|
|
|
|
|
# RUN: -DVERSION="0xaa (!PointerAuthIntrinsics, PointerAuthCalls, !PointerAuthReturns, PointerAuthAuthTraps, !PointerAuthVTPtrAddressDiscrimination, PointerAuthVTPtrTypeDiscrimination, !PointerAuthInitFini, PointerAuthInitFiniAddressDiscrimination, !PointerAuthELFGOT)" %s
|
|
|
|
|
# RUN: -DVERSION="0xaaa (!PointerAuthIntrinsics, PointerAuthCalls, !PointerAuthReturns, PointerAuthAuthTraps, !PointerAuthVTPtrAddressDiscrimination, PointerAuthVTPtrTypeDiscrimination, !PointerAuthInitFini, PointerAuthInitFiniAddressDiscrimination, !PointerAuthELFGOT, PointerAuthIndirectGotos, !PointerAuthTypeInfoVTPtrDiscrimination, PointerAuthFPtrTypeDiscrimination)" %s
|
|
|
|
|
|
|
|
|
|
#--- gnu-0x10000002-511.s
|
|
|
|
|
#--- gnu-0x10000002-4095.s
|
|
|
|
|
.section ".note.gnu.property", "a"
|
|
|
|
|
.long 4 // Name length is always 4 ("GNU")
|
|
|
|
|
.long end - begin // Data length
|
|
|
|
|
@@ -173,19 +173,19 @@ begin:
|
|
|
|
|
.long 0xc0000001 // Type: GNU_PROPERTY_AARCH64_FEATURE_PAUTH
|
|
|
|
|
.long 16 // Data size
|
|
|
|
|
.quad 0x10000002 // PAuth ABI platform
|
|
|
|
|
.quad 511 // PAuth ABI version
|
|
|
|
|
.quad 4095 // PAuth ABI version
|
|
|
|
|
.p2align 3 // Align to 8 byte for 64 bit
|
|
|
|
|
end:
|
|
|
|
|
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-511.s -o gnu-0x10000002-511.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-511.o | \
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-4095.s -o gnu-0x10000002-4095.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-4095.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=ELF -DPLATFORM="0x10000002 (llvm_linux)" \
|
|
|
|
|
# RUN: -DVERSION="0x1ff (PointerAuthIntrinsics, PointerAuthCalls, PointerAuthReturns, PointerAuthAuthTraps, PointerAuthVTPtrAddressDiscrimination, PointerAuthVTPtrTypeDiscrimination, PointerAuthInitFini, PointerAuthInitFiniAddressDiscrimination, PointerAuthELFGOT)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-511.o | \
|
|
|
|
|
# RUN: -DVERSION="0xfff (PointerAuthIntrinsics, PointerAuthCalls, PointerAuthReturns, PointerAuthAuthTraps, PointerAuthVTPtrAddressDiscrimination, PointerAuthVTPtrTypeDiscrimination, PointerAuthInitFini, PointerAuthInitFiniAddressDiscrimination, PointerAuthELFGOT, PointerAuthIndirectGotos, PointerAuthTypeInfoVTPtrDiscrimination, PointerAuthFPtrTypeDiscrimination)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-4095.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=OBJ -DPLATFORM="0x10000002 (llvm_linux)" \
|
|
|
|
|
# RUN: -DVERSION="0x1ff (PointerAuthIntrinsics, PointerAuthCalls, PointerAuthReturns, PointerAuthAuthTraps, PointerAuthVTPtrAddressDiscrimination, PointerAuthVTPtrTypeDiscrimination, PointerAuthInitFini, PointerAuthInitFiniAddressDiscrimination, PointerAuthELFGOT)" %s
|
|
|
|
|
# RUN: -DVERSION="0xfff (PointerAuthIntrinsics, PointerAuthCalls, PointerAuthReturns, PointerAuthAuthTraps, PointerAuthVTPtrAddressDiscrimination, PointerAuthVTPtrTypeDiscrimination, PointerAuthInitFini, PointerAuthInitFiniAddressDiscrimination, PointerAuthELFGOT, PointerAuthIndirectGotos, PointerAuthTypeInfoVTPtrDiscrimination, PointerAuthFPtrTypeDiscrimination)" %s
|
|
|
|
|
|
|
|
|
|
#--- gnu-0x10000002-512.s
|
|
|
|
|
#--- gnu-0x10000002-4096.s
|
|
|
|
|
.section ".note.gnu.property", "a"
|
|
|
|
|
.long 4 // Name length is always 4 ("GNU")
|
|
|
|
|
.long end - begin // Data length
|
|
|
|
|
@@ -197,15 +197,15 @@ begin:
|
|
|
|
|
.long 0xc0000001 // Type: GNU_PROPERTY_AARCH64_FEATURE_PAUTH
|
|
|
|
|
.long 16 // Data size
|
|
|
|
|
.quad 0x10000002 // PAuth ABI platform
|
|
|
|
|
.quad 512 // PAuth ABI version
|
|
|
|
|
.quad 4096 // PAuth ABI version
|
|
|
|
|
.p2align 3 // Align to 8 byte for 64 bit
|
|
|
|
|
end:
|
|
|
|
|
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-512.s -o gnu-0x10000002-512.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-512.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=ELF -DPLATFORM="0x10000002 (llvm_linux)" -DVERSION="0x200 (unknown)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-512.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=OBJ -DPLATFORM="0x10000002 (llvm_linux)" -DVERSION="0x200 (unknown)" %s
|
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple aarch64-linux-gnu gnu-0x10000002-4096.s -o gnu-0x10000002-4096.o
|
|
|
|
|
# RUN: llvm-readelf --notes gnu-0x10000002-4096.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=ELF -DPLATFORM="0x10000002 (llvm_linux)" -DVERSION="0x1000 (unknown)" %s
|
|
|
|
|
# RUN: llvm-readobj --notes gnu-0x10000002-4096.o | \
|
|
|
|
|
# RUN: FileCheck --check-prefix=OBJ -DPLATFORM="0x10000002 (llvm_linux)" -DVERSION="0x1000 (unknown)" %s
|
|
|
|
|
|
|
|
|
|
#--- gnu-short.s
|
|
|
|
|
.section ".note.gnu.property", "a"
|
|
|
|
|
|