aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog9
-rw-r--r--ld/Makefile.am6
-rw-r--r--ld/Makefile.in7
-rw-r--r--ld/configure.tgt6
-rw-r--r--ld/emulparams/armelf_fbsd.sh5
-rw-r--r--ld/emulparams/armelfb_fbsd.sh2
6 files changed, 33 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index ef8234e..c3c2906 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,12 @@
+2014-06-18 Andreas Tobler <andreast@fgznet.ch>
+
+ * configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls.
+ (arm*b-*-freebsd*): Add target.
+ * emulparams/armelfb_fbsd.sh: Added.
+ * emulparams/armelf_fbsd.sh: Updated.
+ * Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c.
+ * Makefile.in: Regenerate.
+
2014-06-16 Alan Modra <amodra@gmail.com>
* scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from
diff --git a/ld/Makefile.am b/ld/Makefile.am
index a22006c..c537fa7 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -167,6 +167,7 @@ ALL_EMULATION_SOURCES = \
earmelf_nbsd.c \
earmelf_vxworks.c \
earmelfb.c \
+ earmelfb_fbsd.c \
earmelfb_linux.c \
earmelfb_linux_eabi.c \
earmelfb_nacl.c \
@@ -732,6 +733,11 @@ earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \
+ $(srcdir)/emulparams/armelf_fbsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 1c43066..370a5a5 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -474,6 +474,7 @@ ALL_EMULATION_SOURCES = \
earmelf_nbsd.c \
earmelf_vxworks.c \
earmelfb.c \
+ earmelfb_fbsd.c \
earmelfb_linux.c \
earmelfb_linux_eabi.c \
earmelfb_nacl.c \
@@ -1065,6 +1066,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_nbsd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_vxworks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_fbsd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_linux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_linux_eabi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_nacl.Po@am__quote@
@@ -2170,6 +2172,11 @@ earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \
+ $(srcdir)/emulparams/armelf_fbsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
$(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 0eb743d..a230207 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -81,9 +81,11 @@ arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
armeb-*-aout) targ_emul=armaoutb ;;
arm-*-coff) targ_emul=armcoff ;;
-arm-*-freebsd* | arm-*-kfreebsd*-gnu)
+arm*b-*-freebsd*) targ_emul=armelfb_fbsd
+ targ_extra_emuls="armelf_fbsd armelf" ;;
+arm*-*-freebsd* | arm-*-kfreebsd*-gnu)
targ_emul=armelf_fbsd
- targ_extra_emuls="armelf" ;;
+ targ_extra_emuls="armelfb_fbsd armelf" ;;
armeb-*-netbsdelf*) targ_emul=armelfb_nbsd;
targ_extra_emuls="armelf_nbsd armelf armnbsd" ;;
arm-*-netbsdelf*) targ_emul=armelf_nbsd;
diff --git a/ld/emulparams/armelf_fbsd.sh b/ld/emulparams/armelf_fbsd.sh
index ee9520d..5b3ccc6 100644
--- a/ld/emulparams/armelf_fbsd.sh
+++ b/ld/emulparams/armelf_fbsd.sh
@@ -1,3 +1,8 @@
. ${srcdir}/emulparams/armelf.sh
. ${srcdir}/emulparams/elf_fbsd.sh
TARGET2_TYPE=got-rel
+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+GENERATE_PIE_SCRIPT=yes
+
+unset STACK_ADDR
+unset EMBEDDED
diff --git a/ld/emulparams/armelfb_fbsd.sh b/ld/emulparams/armelfb_fbsd.sh
new file mode 100644
index 0000000..a28b476
--- /dev/null
+++ b/ld/emulparams/armelfb_fbsd.sh
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf_fbsd.sh
+OUTPUT_FORMAT="elf32-bigarm"