summaryrefslogtreecommitdiff
path: root/arch/riscv/lib
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmerdabbelt@google.com>2020-02-27 22:16:28 +0300
committerPalmer Dabbelt <palmerdabbelt@google.com>2020-03-03 21:45:14 +0300
commitabc71bf0a70311ab294f97a7f16e8de03718c05a (patch)
treee13d1bde9ce2eac1d427bdb3fbc9a040e02bc620 /arch/riscv/lib
parentfdff9911f266951b14b20e25557278b5b3f0d90d (diff)
downloadlinux-abc71bf0a70311ab294f97a7f16e8de03718c05a.tar.xz
RISC-V: Stop using LOCAL for the uaccess fixups
LLVM's integrated assembler doesn't support the LOCAL directive, which we're using when generating our uaccess fixup tables. Luckily the table fragment is small enough that there's only one internal symbol, so using a relative symbol reference doesn't really complicate anything. Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Diffstat (limited to 'arch/riscv/lib')
-rw-r--r--arch/riscv/lib/uaccess.S6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/riscv/lib/uaccess.S b/arch/riscv/lib/uaccess.S
index f29d2ba2c0a6..fceaeb18cc64 100644
--- a/arch/riscv/lib/uaccess.S
+++ b/arch/riscv/lib/uaccess.S
@@ -3,14 +3,12 @@
#include <asm/asm.h>
#include <asm/csr.h>
- .altmacro
.macro fixup op reg addr lbl
- LOCAL _epc
-_epc:
+100:
\op \reg, \addr
.section __ex_table,"a"
.balign RISCV_SZPTR
- RISCV_PTR _epc, \lbl
+ RISCV_PTR 100b, \lbl
.previous
.endm