Add support for Nuxi CloudABI on x86-64
bfd/ * config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec for x86_64-*-cloudabi*. * configure.ac: Handle x86_64_elf64_cloudabi_vec. * configure: Regenerated. * elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*. (TARGET_LITTLE_NAME): Likewise. (ELF_OSABI): Likewise. (elf64_bed): Likewise. * targets.c (x86_64_elf64_cloudabi_vec): New. (_bfd_target_vector): Add x86_64_elf64_cloudabi_vec. gas/ * configure.tgt (fmt): Set to elf for *-*-cloudabi*. ld/ * Makefile.am (ALL_64_EMULATION_SOURCES): Add eelf_x86_64_cloudabi.c. (eelf_x86_64_cloudabi.c): New. * configure.tgt (targ_emul): Set to elf_x86_64_cloudabi for x86_64-*-cloudabi*. * Makefile.in: Regenerated. * emulparams/elf_x86_64_cloudabi.sh: New file.
This commit is contained in:
parent
6ef37366be
commit
6036f48621
@ -1,3 +1,16 @@
|
||||
2015-03-31 Ed Schouten <ed@nuxi.nl>
|
||||
|
||||
* config.bfd (targ_defvec): Set to x86_64_elf64_cloudabi_vec
|
||||
for x86_64-*-cloudabi*.
|
||||
* configure.ac: Handle x86_64_elf64_cloudabi_vec.
|
||||
* configure: Regenerated.
|
||||
* elf64-x86-64.c (TARGET_LITTLE_SYM): Support x86_64-*-cloudabi*.
|
||||
(TARGET_LITTLE_NAME): Likewise.
|
||||
(ELF_OSABI): Likewise.
|
||||
(elf64_bed): Likewise.
|
||||
* targets.c (x86_64_elf64_cloudabi_vec): New.
|
||||
(_bfd_target_vector): Add x86_64_elf64_cloudabi_vec.
|
||||
|
||||
2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* configure.ac: Revert the AM_ZLIB change.
|
||||
|
@ -645,6 +645,10 @@ case "${targ}" in
|
||||
targ_archs="$targ_archs bfd_arm_arch"
|
||||
;;
|
||||
#ifdef BFD64
|
||||
x86_64-*-cloudabi*)
|
||||
targ_defvec=x86_64_elf64_cloudabi_vec
|
||||
want64=true
|
||||
;;
|
||||
x86_64-*-darwin*)
|
||||
targ_defvec=x86_64_mach_o_vec
|
||||
targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
|
||||
|
1
bfd/configure
vendored
1
bfd/configure
vendored
@ -15540,6 +15540,7 @@ do
|
||||
x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
|
@ -1008,6 +1008,7 @@ do
|
||||
x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
|
||||
|
@ -5927,6 +5927,21 @@ static const struct bfd_elf_special_section
|
||||
|
||||
#include "elf64-target.h"
|
||||
|
||||
/* CloudABI support. */
|
||||
|
||||
#undef TARGET_LITTLE_SYM
|
||||
#define TARGET_LITTLE_SYM x86_64_elf64_cloudabi_vec
|
||||
#undef TARGET_LITTLE_NAME
|
||||
#define TARGET_LITTLE_NAME "elf64-x86-64-cloudabi"
|
||||
|
||||
#undef ELF_OSABI
|
||||
#define ELF_OSABI ELFOSABI_CLOUDABI
|
||||
|
||||
#undef elf64_bed
|
||||
#define elf64_bed elf64_x86_64_cloudabi_bed
|
||||
|
||||
#include "elf64-target.h"
|
||||
|
||||
/* FreeBSD support. */
|
||||
|
||||
#undef TARGET_LITTLE_SYM
|
||||
|
@ -885,6 +885,7 @@ extern const bfd_target x86_64_coff_vec;
|
||||
extern const bfd_target x86_64_elf32_vec;
|
||||
extern const bfd_target x86_64_elf32_nacl_vec;
|
||||
extern const bfd_target x86_64_elf64_vec;
|
||||
extern const bfd_target x86_64_elf64_cloudabi_vec;
|
||||
extern const bfd_target x86_64_elf64_fbsd_vec;
|
||||
extern const bfd_target x86_64_elf64_nacl_vec;
|
||||
extern const bfd_target x86_64_elf64_sol2_vec;
|
||||
@ -1402,6 +1403,7 @@ static const bfd_target * const _bfd_target_vector[] =
|
||||
&x86_64_elf32_vec,
|
||||
&x86_64_elf32_nacl_vec,
|
||||
&x86_64_elf64_vec,
|
||||
&x86_64_elf64_cloudabi_vec,
|
||||
&x86_64_elf64_fbsd_vec,
|
||||
&x86_64_elf64_nacl_vec,
|
||||
&x86_64_elf64_sol2_vec,
|
||||
|
@ -1,3 +1,7 @@
|
||||
2015-03-31 Ed Schouten <ed@nuxi.nl>
|
||||
|
||||
* configure.tgt (fmt): Set to elf for *-*-cloudabi*.
|
||||
|
||||
2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* configure.ac: Revert the AM_ZLIB change.
|
||||
|
@ -470,6 +470,7 @@ case ${generic_target} in
|
||||
z8k-*-coff | z8k-*-sim) fmt=coff ;;
|
||||
|
||||
*-*-aout | *-*-scout) fmt=aout ;;
|
||||
*-*-cloudabi*) fmt=elf ;;
|
||||
*-*-dragonfly*) fmt=elf em=dragonfly ;;
|
||||
*-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
|
||||
*-*-bsd*) fmt=aout em=sun3 ;;
|
||||
|
10
ld/ChangeLog
10
ld/ChangeLog
@ -1,3 +1,13 @@
|
||||
2015-03-31 Ed Schouten <ed@nuxi.nl>
|
||||
|
||||
* Makefile.am (ALL_64_EMULATION_SOURCES): Add
|
||||
eelf_x86_64_cloudabi.c.
|
||||
(eelf_x86_64_cloudabi.c): New.
|
||||
* configure.tgt (targ_emul): Set to elf_x86_64_cloudabi for
|
||||
x86_64-*-cloudabi*.
|
||||
* Makefile.in: Regenerated.
|
||||
* emulparams/elf_x86_64_cloudabi.sh: New file.
|
||||
|
||||
2015-03-31 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* configure.ac (AM_ZLIB): Removed.
|
||||
|
@ -483,6 +483,7 @@ ALL_64_EMULATION_SOURCES = \
|
||||
eelf_k1om.c \
|
||||
eelf_k1om_fbsd.c \
|
||||
eelf_x86_64.c \
|
||||
eelf_x86_64_cloudabi.c \
|
||||
eelf_x86_64_fbsd.c \
|
||||
eelf_x86_64_nacl.c \
|
||||
eelf_x86_64_sol2.c \
|
||||
@ -1938,6 +1939,10 @@ eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \
|
||||
eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
eelf_x86_64_cloudabi.c: $(srcdir)/emulparams/elf_x86_64_cloudabi.sh \
|
||||
$(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
|
||||
$(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
@ -808,6 +808,7 @@ ALL_64_EMULATION_SOURCES = \
|
||||
eelf_k1om.c \
|
||||
eelf_k1om_fbsd.c \
|
||||
eelf_x86_64.c \
|
||||
eelf_x86_64_cloudabi.c \
|
||||
eelf_x86_64_fbsd.c \
|
||||
eelf_x86_64_nacl.c \
|
||||
eelf_x86_64_sol2.c \
|
||||
@ -1269,6 +1270,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_l1om_fbsd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_s390.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_nacl.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@
|
||||
@ -3429,6 +3431,10 @@ eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \
|
||||
eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
eelf_x86_64_cloudabi.c: $(srcdir)/emulparams/elf_x86_64_cloudabi.sh \
|
||||
$(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
|
||||
$(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
@ -228,6 +228,7 @@ i[3-7]86-*-rtems*) targ_emul=elf_i386 ;;
|
||||
i[3-7]86-*-aros*) targ_emul=elf_i386 ;;
|
||||
i[3-7]86-*-rdos*) targ_emul=elf_i386 ;;
|
||||
x86_64-*-rdos*) targ_emul=elf64rdos ;;
|
||||
x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi ;;
|
||||
i[3-7]86-*-bsd) targ_emul=i386bsd ;;
|
||||
i[3-7]86-*-bsd386) targ_emul=i386bsd ;;
|
||||
i[3-7]86-*-bsdi*) targ_emul=i386bsd ;;
|
||||
|
2
ld/emulparams/elf_x86_64_cloudabi.sh
Normal file
2
ld/emulparams/elf_x86_64_cloudabi.sh
Normal file
@ -0,0 +1,2 @@
|
||||
. ${srcdir}/emulparams/elf_x86_64.sh
|
||||
OUTPUT_FORMAT="elf64-x86-64-cloudabi"
|
Loading…
x
Reference in New Issue
Block a user