This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] ld arm config update for FreeBSD


On 17/06/14 21:33, Andreas Tobler wrote:
> Hello all,
> 
> this patch updates the arm*-*-freebsd* target for ld.
> 
> On one side I open the triple to allow more than only arm-*-freebsd and
> on the other side I add with this patch the big endian target for
> arm*b-*-freebsd*.
> 
> Ok for trunk?
> 

OK.

R.

> Thanks,
> Andreas
> 
> 2014-06-17  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.
> 
> 
> arm_ld_fbsd.diff
> 
> 
> 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"
> 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]