diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 14 | ||||
-rw-r--r-- | ld/Makefile.am | 12 | ||||
-rw-r--r-- | ld/Makefile.in | 19 | ||||
-rw-r--r-- | ld/configure.tgt | 25 | ||||
-rw-r--r-- | ld/emulparams/elf32briscv.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf32briscv_ilp32.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf32briscv_ilp32f.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf64briscv.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf64briscv_lp64.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf64briscv_lp64f.sh | 2 |
10 files changed, 78 insertions, 4 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index b939f61..2e51333 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,17 @@ +2021-01-06 Marcus Comstedt <marcus@mc.pp.se> + + * configure.tgt: Added riscvbe-*-*, riscv32be*-*-*, riscv64be*-*-*, + riscv32be*-*-linux*, and riscv64be*-*-linux*. + * Makefile.am: Added eelf32briscv.c, eelf32briscv_ilp32f.c and + eelf32briscv_ilp32.c. + * Makefile.in: Regenerate. + * emulparams/elf32briscv.sh: Added. + * emulparams/elf32briscv_ilp32.sh: Likewise. + * emulparams/elf32briscv_ilp32f.sh: Likewise. + * emulparams/elf64briscv.sh: Likewise. + * emulparams/elf64briscv_lp64.sh: Likewise. + * emulparams/elf64briscv_lp64f.sh: Likewise. + 2021-01-05 Nick Alcock <nick.alcock@oracle.com> * testsuite/ld-ctf/enum-forward.c: New test. diff --git a/ld/Makefile.am b/ld/Makefile.am index 241df9f..2c9a487 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -266,6 +266,9 @@ ALL_EMULATION_SOURCES = \ eelf32lriscv.c \ eelf32lriscv_ilp32f.c \ eelf32lriscv_ilp32.c \ + eelf32briscv.c \ + eelf32briscv_ilp32f.c \ + eelf32briscv_ilp32.c \ eelf32rl78.c \ eelf32rx.c \ eelf32rx_linux.c \ @@ -435,6 +438,9 @@ ALL_64_EMULATION_SOURCES = \ eelf64lriscv.c \ eelf64lriscv_lp64f.c \ eelf64lriscv_lp64.c \ + eelf64briscv.c \ + eelf64briscv_lp64f.c \ + eelf64briscv_lp64.c \ eelf64ltsmip.c \ eelf64ltsmip_fbsd.c \ eelf64mmix.c \ @@ -751,6 +757,9 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lriscv.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lriscv_ilp32f.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lriscv_ilp32.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv_ilp32f.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv_ilp32.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32rl78.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32rx.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32rx_linux.Pc@am__quote@ @@ -916,6 +925,9 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64f.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv_lp64f.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv_lp64.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64mmix.Pc@am__quote@ diff --git a/ld/Makefile.in b/ld/Makefile.in index 8d6738a..c1c42aa 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -521,6 +521,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -755,6 +756,9 @@ ALL_EMULATION_SOURCES = \ eelf32lriscv.c \ eelf32lriscv_ilp32f.c \ eelf32lriscv_ilp32.c \ + eelf32briscv.c \ + eelf32briscv_ilp32f.c \ + eelf32briscv_ilp32.c \ eelf32rl78.c \ eelf32rx.c \ eelf32rx_linux.c \ @@ -923,6 +927,9 @@ ALL_64_EMULATION_SOURCES = \ eelf64lriscv.c \ eelf64lriscv_lp64f.c \ eelf64lriscv_lp64.c \ + eelf64briscv.c \ + eelf64briscv_lp64f.c \ + eelf64briscv_lp64.c \ eelf64ltsmip.c \ eelf64ltsmip_fbsd.c \ eelf64mmix.c \ @@ -1318,6 +1325,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bfinfd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bmip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bmipn32.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv_ilp32.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv_ilp32f.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32bsmip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32btsmip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32btsmip_fbsd.Po@am__quote@ @@ -1403,6 +1413,9 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64alpha_nbsd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64bmip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64bpf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv_lp64.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv_lp64f.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64btsmip_fbsd.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64hppa.Po@am__quote@ @@ -2403,6 +2416,9 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lriscv.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lriscv_ilp32f.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32lriscv_ilp32.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv_ilp32f.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32briscv_ilp32.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32rl78.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32rx.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32rx_linux.Pc@am__quote@ @@ -2568,6 +2584,9 @@ $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES): $(GEN_DEPENDS) @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64f.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64lriscv_lp64.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv_lp64f.Pc@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64briscv_lp64.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64ltsmip_fbsd.Pc@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf64mmix.Pc@am__quote@ diff --git a/ld/configure.tgt b/ld/configure.tgt index 893d2da..0c780b2 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -738,21 +738,38 @@ powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;; pru*-*-*) targ_emul=pruelf ;; +riscv32be*-*-linux*) targ_emul=elf32briscv + targ_extra_emuls="elf32briscv_ilp32f elf32briscv_ilp32 elf64briscv elf64briscv_lp64f elf64briscv_lp64 elf32lriscv elf32lriscv_ilp32f elf32lriscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64" + targ_extra_libpath=$targ_extra_emuls + ;; riscv32*-*-linux*) targ_emul=elf32lriscv - targ_extra_emuls="elf32lriscv_ilp32f elf32lriscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64" + targ_extra_emuls="elf32lriscv_ilp32f elf32lriscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64 elf32briscv elf32briscv_ilp32f elf32briscv_ilp32 elf64briscv elf64briscv_lp64f elf64briscv_lp64" + targ_extra_libpath=$targ_extra_emuls + ;; +riscvbe-*-* | riscv32be*-*-*) + targ_emul=elf32briscv + targ_extra_emuls="elf64briscv elf32lriscv elf64lriscv" targ_extra_libpath=$targ_extra_emuls ;; riscv-*-* | riscv32*-*-*) targ_emul=elf32lriscv - targ_extra_emuls="elf64lriscv" + targ_extra_emuls="elf64lriscv elf32briscv elf64briscv" + targ_extra_libpath=$targ_extra_emuls + ;; +riscv64be*-*-linux*) targ_emul=elf64briscv + targ_extra_emuls="elf64briscv_lp64f elf64briscv_lp64 elf32briscv elf32briscv_ilp32f elf32briscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64 elf32lriscv elf32lriscv_ilp32f elf32lriscv_ilp32" 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_emuls="elf64lriscv_lp64f elf64lriscv_lp64 elf32lriscv elf32lriscv_ilp32f elf32lriscv_ilp32 elf64briscv elf64briscv_lp64f elf64briscv_lp64 elf32briscv elf32briscv_ilp32f elf32briscv_ilp32" + targ_extra_libpath=$targ_extra_emuls + ;; +riscv64be*-*-*) targ_emul=elf64briscv + targ_extra_emuls="elf32briscv elf64lriscv elf32lriscv" targ_extra_libpath=$targ_extra_emuls ;; riscv64*-*-*) targ_emul=elf64lriscv - targ_extra_emuls="elf32lriscv" + targ_extra_emuls="elf32lriscv elf64briscv elf32briscv" targ_extra_libpath=$targ_extra_emuls ;; rs6000-*-aix[5-9]*) targ_emul=aix5rs6 diff --git a/ld/emulparams/elf32briscv.sh b/ld/emulparams/elf32briscv.sh new file mode 100644 index 0000000..bad02bd --- /dev/null +++ b/ld/emulparams/elf32briscv.sh @@ -0,0 +1,2 @@ +source_sh ${srcdir}/emulparams/elf32lriscv.sh +OUTPUT_FORMAT="elf32-bigriscv" diff --git a/ld/emulparams/elf32briscv_ilp32.sh b/ld/emulparams/elf32briscv_ilp32.sh new file mode 100644 index 0000000..c150108 --- /dev/null +++ b/ld/emulparams/elf32briscv_ilp32.sh @@ -0,0 +1,2 @@ +source_sh ${srcdir}/emulparams/elf32lriscv_ilp32.sh +OUTPUT_FORMAT="elf32-bigriscv" diff --git a/ld/emulparams/elf32briscv_ilp32f.sh b/ld/emulparams/elf32briscv_ilp32f.sh new file mode 100644 index 0000000..52117e6 --- /dev/null +++ b/ld/emulparams/elf32briscv_ilp32f.sh @@ -0,0 +1,2 @@ +source_sh ${srcdir}/emulparams/elf32lriscv_ilp32f.sh +OUTPUT_FORMAT="elf32-bigriscv" diff --git a/ld/emulparams/elf64briscv.sh b/ld/emulparams/elf64briscv.sh new file mode 100644 index 0000000..86a429f --- /dev/null +++ b/ld/emulparams/elf64briscv.sh @@ -0,0 +1,2 @@ +source_sh ${srcdir}/emulparams/elf64lriscv.sh +OUTPUT_FORMAT="elf64-bigriscv" diff --git a/ld/emulparams/elf64briscv_lp64.sh b/ld/emulparams/elf64briscv_lp64.sh new file mode 100644 index 0000000..b00717c --- /dev/null +++ b/ld/emulparams/elf64briscv_lp64.sh @@ -0,0 +1,2 @@ +source_sh ${srcdir}/emulparams/elf64lriscv_lp64.sh +OUTPUT_FORMAT="elf64-bigriscv" diff --git a/ld/emulparams/elf64briscv_lp64f.sh b/ld/emulparams/elf64briscv_lp64f.sh new file mode 100644 index 0000000..a54a3f4 --- /dev/null +++ b/ld/emulparams/elf64briscv_lp64f.sh @@ -0,0 +1,2 @@ +source_sh ${srcdir}/emulparams/elf64lriscv_lp64f.sh +OUTPUT_FORMAT="elf64-bigriscv" |