aboutsummaryrefslogtreecommitdiff
path: root/ld/configure.tgt
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2018-05-08 13:34:03 -0700
committerJim Wilson <jimw@sifive.com>2018-05-08 13:34:03 -0700
commit10d980882987d8cd9b2e34651faceff29176148b (patch)
tree8bf35a82aead8d16f6f5dee55c44721c5e266557 /ld/configure.tgt
parent8ee22052f690c007556b97eed59f49350ece5ca9 (diff)
downloadgdb-10d980882987d8cd9b2e34651faceff29176148b.zip
gdb-10d980882987d8cd9b2e34651faceff29176148b.tar.gz
gdb-10d980882987d8cd9b2e34651faceff29176148b.tar.bz2
RISC-V: New emulations to make path searches follow glibc ABI.
ld/ PR ld/22962 * Makefile.am (ALL_EMULATION_SOURCES): Add eelf32lriscv_ilp32f.c, eelf32lriscv_ilp32.c, eelf64lriscv_lp64f.c, eelf64lriscv_lp64.c. (eelf32lriscv_ilp32f.c, eelf32lriscv_ilp32.c): New build rules. (eelf64lriscv_lp64f.c, eelf64lriscv_lp64.c): New build rules. * Makefile.in: Regenerated. * configure.tgt (riscv32*-*-linux*, riscv64*-*-linux*): New. * ld/emulparams/elf32lriscv.sh: Set LIBPATH_SUFFIX. * ld/emulparams/elf32lriscv_ilp32.sh: New. * ld/emulparams/elf32lriscv_ilp32f.sh: New. * ld/emulparams/elf64lriscv-defs.sh: Don't set LIBPATH_SUFFIX here. * ld/emulparams/elf64lriscv.sh: Set LIBPATH_SUFFIX. * ld/emulparams/elf64lriscv_lp64.sh: New. * ld/emulparams/elf64lriscv_lp64f.sh: New. * ld/genscripts.sh (append_to_lib_path): Change LIBPATH_SUFFIX test to a for. Inside loop, change LIBPATH_SUFFIX uses to libpath_suffix. (LIB_PATH): In LIB_PATH if, add loop for LIBPATH_SUFFIX, changes uses inside loop to libpath_suffix.
Diffstat (limited to 'ld/configure.tgt')
-rw-r--r--ld/configure.tgt6
1 files changed, 6 insertions, 0 deletions
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 1999010..4c4ab85 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -627,9 +627,15 @@ powerpc-*-beos*) targ_emul=aixppc ;;
powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;;
powerpc-*-lynxos*) targ_emul=ppclynx ;;
pru*-*-*) targ_emul=pruelf ;;
+riscv32*-*-linux*) targ_emul=elf32lriscv
+ targ_extra_emuls="elf32lriscv_ilp32f elf32lriscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64"
+ targ_extra_libpath=$targ_extra_emuls ;;
riscv32*-*-*) targ_emul=elf32lriscv
targ_extra_emuls="elf64lriscv"
targ_extra_libpath=$targ_extra_emuls ;;
+riscv64*-*-linux*) targ_emul=elf64lriscv
+ targ_extra_emuls="elf64lriscv_lp64f elf64lriscv_lp64 elf32lriscv elf32lriscv_ilp32f elf32lriscv_ilp32"
+ targ_extra_libpath=$targ_extra_emuls ;;
riscv64*-*-*) targ_emul=elf64lriscv
targ_extra_emuls="elf32lriscv"
targ_extra_libpath=$targ_extra_emuls ;;