Date: Sun, 21 Jun 2015 13:41:03 +0000 (UTC) From: Ed Schouten <ed@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r390208 - in head/devel: . cloudabi-binutils cloudabi-binutils/files Message-ID: <201506211341.t5LDf4FR059292@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ed (src committer) Date: Sun Jun 21 13:41:03 2015 New Revision: 390208 URL: https://svnweb.freebsd.org/changeset/ports/390208 Log: New port: devel/cloudabi-binutils. This port installs a copy of GNU Binutils that targets CloudABI. CloudABI is a compact UNIX-like runtime environment built on capability-based security. More details: https://github.com/NuxiNL/cloudlibc Support for CloudABI has been upstreamed, but will only be part of the upcoming version of Binutils. This port includes a backported copy of the patchset. It can safely be removed if devel/binutils is bumped to a newer version. PR: 200968 Reviewed by: bapt Added: head/devel/cloudabi-binutils/ head/devel/cloudabi-binutils/Makefile (contents, props changed) head/devel/cloudabi-binutils/files/ head/devel/cloudabi-binutils/files/patch-cloudabi (contents, props changed) head/devel/cloudabi-binutils/pkg-plist (contents, props changed) Modified: head/devel/Makefile Modified: head/devel/Makefile ============================================================================== --- head/devel/Makefile Sun Jun 21 13:40:06 2015 (r390207) +++ head/devel/Makefile Sun Jun 21 13:41:03 2015 (r390208) @@ -248,6 +248,7 @@ SUBDIR += clig SUBDIR += clisp-hyperspec SUBDIR += clojure-cider + SUBDIR += cloudabi-binutils SUBDIR += cmake SUBDIR += cmake-fedora SUBDIR += cmake-gui Added: head/devel/cloudabi-binutils/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/cloudabi-binutils/Makefile Sun Jun 21 13:41:03 2015 (r390208) @@ -0,0 +1,15 @@ +# Created by: Ed Schouten <ed@FreeBSD.org> +# $FreeBSD$ + +PKGNAMEPREFIX= cloudabi- + +MAINTAINER= ed@FreeBSD.org +COMMENT= GNU Binutils for CloudABI cross-development + +MASTERDIR= ${.CURDIR}/../binutils +PATCHDIR= ${.CURDIR}/files +PLIST= ${.CURDIR}/pkg-plist + +BUTARGET= x86_64-unknown-cloudabi + +.include "${MASTERDIR}/Makefile" Added: head/devel/cloudabi-binutils/files/patch-cloudabi ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/cloudabi-binutils/files/patch-cloudabi Sun Jun 21 13:41:03 2015 (r390208) @@ -0,0 +1,160 @@ +--- bfd/config.bfd ++++ bfd/config.bfd +@@ -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" +--- bfd/configure ++++ bfd/configure +@@ -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 ;; +--- bfd/configure.ac ++++ bfd/configure.ac +@@ -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 ;; +--- bfd/elf64-x86-64.c ++++ bfd/elf64-x86-64.c +@@ -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 +--- bfd/targets.c ++++ bfd/targets.c +@@ -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, +--- gas/configure.tgt ++++ gas/configure.tgt +@@ -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 ;; +--- include/elf/common.h ++++ include/elf/common.h +@@ -73,6 +73,7 @@ + #define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */ + #define ELFOSABI_AROS 15 /* AROS */ + #define ELFOSABI_FENIXOS 16 /* FenixOS */ ++#define ELFOSABI_CLOUDABI 17 /* Nuxi CloudABI */ + #define ELFOSABI_C6000_ELFABI 64 /* Bare-metal TMS320C6000 */ + #define ELFOSABI_C6000_LINUX 65 /* Linux TMS320C6000 */ + #define ELFOSABI_ARM 97 /* ARM */ +--- ld/Makefile.am ++++ ld/Makefile.am +@@ -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} +--- ld/Makefile.in ++++ ld/Makefile.in +@@ -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} +--- ld/configure.tgt ++++ ld/configure.tgt +@@ -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 ;; +--- /dev/null ++++ ld/emulparams/elf_x86_64_cloudabi.sh +@@ -0,0 +1,2 @@ ++. ${srcdir}/emulparams/elf_x86_64.sh ++OUTPUT_FORMAT="elf64-x86-64-cloudabi" Added: head/devel/cloudabi-binutils/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/cloudabi-binutils/pkg-plist Sun Jun 21 13:41:03 2015 (r390208) @@ -0,0 +1,48 @@ +bin/x86_64-unknown-cloudabi-addr2line +bin/x86_64-unknown-cloudabi-ar +bin/x86_64-unknown-cloudabi-as +bin/x86_64-unknown-cloudabi-c++filt +bin/x86_64-unknown-cloudabi-elfedit +bin/x86_64-unknown-cloudabi-gprof +bin/x86_64-unknown-cloudabi-ld +bin/x86_64-unknown-cloudabi-ld.bfd +bin/x86_64-unknown-cloudabi-nm +bin/x86_64-unknown-cloudabi-objcopy +bin/x86_64-unknown-cloudabi-objdump +bin/x86_64-unknown-cloudabi-ranlib +bin/x86_64-unknown-cloudabi-readelf +bin/x86_64-unknown-cloudabi-size +bin/x86_64-unknown-cloudabi-strings +bin/x86_64-unknown-cloudabi-strip +man/man1/x86_64-unknown-cloudabi-addr2line.1.gz +man/man1/x86_64-unknown-cloudabi-ar.1.gz +man/man1/x86_64-unknown-cloudabi-as.1.gz +man/man1/x86_64-unknown-cloudabi-c++filt.1.gz +man/man1/x86_64-unknown-cloudabi-dlltool.1.gz +man/man1/x86_64-unknown-cloudabi-elfedit.1.gz +man/man1/x86_64-unknown-cloudabi-gprof.1.gz +man/man1/x86_64-unknown-cloudabi-ld.1.gz +man/man1/x86_64-unknown-cloudabi-nlmconv.1.gz +man/man1/x86_64-unknown-cloudabi-nm.1.gz +man/man1/x86_64-unknown-cloudabi-objcopy.1.gz +man/man1/x86_64-unknown-cloudabi-objdump.1.gz +man/man1/x86_64-unknown-cloudabi-ranlib.1.gz +man/man1/x86_64-unknown-cloudabi-readelf.1.gz +man/man1/x86_64-unknown-cloudabi-size.1.gz +man/man1/x86_64-unknown-cloudabi-strings.1.gz +man/man1/x86_64-unknown-cloudabi-strip.1.gz +man/man1/x86_64-unknown-cloudabi-windmc.1.gz +man/man1/x86_64-unknown-cloudabi-windres.1.gz +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.x +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xbn +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xc +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xd +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xdc +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xdw +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xn +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xr +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xs +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xsc +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xsw +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xu +x86_64-unknown-cloudabi/lib/ldscripts/elf_x86_64_cloudabi.xw
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201506211341.t5LDf4FR059292>