aboutsummaryrefslogtreecommitdiff
path: root/glibc
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2015-10-10 15:43:00 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2015-10-10 15:43:58 -0700
commite05cc858aa5a6ed1ae0fec885a83090f81f355fe (patch)
tree50b93a74af26195701d468735903f7dae1ea20b9 /glibc
parent0c7ef246246f8abd971ccf7d1b33073ae5e9e67e (diff)
downloadriscv-gnu-toolchain-e05cc858aa5a6ed1ae0fec885a83090f81f355fe.zip
riscv-gnu-toolchain-e05cc858aa5a6ed1ae0fec885a83090f81f355fe.tar.gz
riscv-gnu-toolchain-e05cc858aa5a6ed1ae0fec885a83090f81f355fe.tar.bz2
binutils: relax LA macro to C.LUI when appropriate
Diffstat (limited to 'glibc')
-rw-r--r--glibc/sysdeps/riscv/start.S3
1 files changed, 2 insertions, 1 deletions
diff --git a/glibc/sysdeps/riscv/start.S b/glibc/sysdeps/riscv/start.S
index 8195002..1f64d80 100644
--- a/glibc/sysdeps/riscv/start.S
+++ b/glibc/sysdeps/riscv/start.S
@@ -45,7 +45,8 @@
__libc_start_main wants this in a5. */
ENTRY(ENTRY_POINT)
- lla gp, _gp
+1: auipc gp, %pcrel_hi(_gp)
+ addi gp, gp, %pcrel_lo(1b)
move a5, a0 /* rtld_fini */
lla a0, main
REG_L a1, 0(sp) /* argc */