diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2019-07-10 16:36:46 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2019-07-10 16:36:46 +0000 |
commit | 893f8d719c0e6d7ccdfbd0b7dff83709fffadd9b (patch) | |
tree | 6edaeae4ccd5e83206dd8e00c5f34ee4b8d862d7 | |
parent | 5eb6ba060a2fdb34ef92ab833b81ad183b2cbbfe (diff) | |
download | bcm5719-llvm-893f8d719c0e6d7ccdfbd0b7dff83709fffadd9b.tar.gz bcm5719-llvm-893f8d719c0e6d7ccdfbd0b7dff83709fffadd9b.zip |
MC: AArch64: Add support for pg_hi21_nc relocation specifier.
Differential Revision: https://reviews.llvm.org/D64455
llvm-svn: 365661
-rw-r--r-- | llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp | 2 | ||||
-rw-r--r-- | llvm/test/MC/AArch64/adrp-relocation2.s | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp index 0973d2bd960..f4c55d48d21 100644 --- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp +++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp @@ -2502,6 +2502,7 @@ AArch64AsmParser::tryParseAdrpLabel(OperandVector &Operands) { } else if (DarwinRefKind != MCSymbolRefExpr::VK_PAGE && DarwinRefKind != MCSymbolRefExpr::VK_GOTPAGE && DarwinRefKind != MCSymbolRefExpr::VK_TLVPPAGE && + ELFRefKind != AArch64MCExpr::VK_ABS_PAGE_NC && ELFRefKind != AArch64MCExpr::VK_GOT_PAGE && ELFRefKind != AArch64MCExpr::VK_GOTTPREL_PAGE && ELFRefKind != AArch64MCExpr::VK_TLSDESC_PAGE) { @@ -3267,6 +3268,7 @@ bool AArch64AsmParser::parseSymbolicImmVal(const MCExpr *&ImmVal) { .Case("dtprel_hi12", AArch64MCExpr::VK_DTPREL_HI12) .Case("dtprel_lo12", AArch64MCExpr::VK_DTPREL_LO12) .Case("dtprel_lo12_nc", AArch64MCExpr::VK_DTPREL_LO12_NC) + .Case("pg_hi21_nc", AArch64MCExpr::VK_ABS_PAGE_NC) .Case("tprel_g2", AArch64MCExpr::VK_TPREL_G2) .Case("tprel_g1", AArch64MCExpr::VK_TPREL_G1) .Case("tprel_g1_nc", AArch64MCExpr::VK_TPREL_G1_NC) diff --git a/llvm/test/MC/AArch64/adrp-relocation2.s b/llvm/test/MC/AArch64/adrp-relocation2.s new file mode 100644 index 00000000000..8c8b3f05ef9 --- /dev/null +++ b/llvm/test/MC/AArch64/adrp-relocation2.s @@ -0,0 +1,7 @@ +// RUN: llvm-mc -triple=aarch64-linux-gnu -filetype=obj -o - %s | llvm-readobj -r - | FileCheck %s + +// CHECK: R_AARCH64_ADR_PREL_PG_HI21_NC sym +adrp x0, :pg_hi21_nc:sym + +.globl sym +sym: |