ld/ARM: Add target arm*b-*-freebsd*, update target arm*-*-freebsd*.
authorAndreas Tobler <andreast@fgznet.ch>
Wed, 18 Jun 2014 19:58:19 +0000 (21:58 +0200)
committerAndreas Tobler <andreast@fgznet.ch>
Wed, 18 Jun 2014 19:58:19 +0000 (21:58 +0200)
ld/ChangeLog:

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.

ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/configure.tgt
ld/emulparams/armelf_fbsd.sh
ld/emulparams/armelfb_fbsd.sh [new file with mode: 0644]

index ef8234eeb5c99d525f2d2cba110feb65f240135d..c3c29060306eb7e95869da7e8e03436c486df072 100644 (file)
@@ -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
index a22006cb22fd84d974ee9a979bb8b62e0bd26b8d..c537fa70fb07d5d683cfc914a62d7ebf619522b3 100644 (file)
@@ -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 \
index 1c43066e10e69994cfce8e97bbc072a232cca9a3..370a5a51d0d4b7dbaf586ed5eed367e865e74c23 100644 (file)
@@ -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 \
index 0eb743d84ee20f4b6f7e3850d831c80fdd9e9c1c..a230207c4c95ce5d4caaf599d933da2ced800c7c 100644 (file)
@@ -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;
index ee9520dc4a90452b741041fe8103e8fad8e03374..5b3ccc6a44f4b3d747255e616344259d88644948 100644 (file)
@@ -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 (file)
index 0000000..a28b476
--- /dev/null
@@ -0,0 +1,2 @@
+. ${srcdir}/emulparams/armelf_fbsd.sh
+OUTPUT_FORMAT="elf32-bigarm"