binutils: Add iOS as a supported platform
This commit is contained in:
parent
e821f40c26
commit
ebc2243778
|
@ -1,5 +1,5 @@
|
|||
{ stdenv, buildPackages
|
||||
, fetchurl, zlib
|
||||
, fetchurl, zlib, autoreconfHook264
|
||||
, buildPlatform, hostPlatform, targetPlatform
|
||||
, noSysDirs, gold ? true, bison ? null
|
||||
}:
|
||||
|
@ -64,12 +64,16 @@ stdenv.mkDerivation rec {
|
|||
|
||||
# https://sourceware.org/bugzilla/show_bug.cgi?id=22868
|
||||
./gold-symbol-visibility.patch
|
||||
];
|
||||
] ++ stdenv.lib.optional targetPlatform.isiOS ./support-ios.patch;
|
||||
|
||||
outputs = [ "out" "info" "man" ];
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
nativeBuildInputs = [ bison ];
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
] ++ stdenv.lib.optionals targetPlatform.isiOS [
|
||||
autoreconfHook264
|
||||
];
|
||||
buildInputs = [ zlib ];
|
||||
|
||||
inherit noSysDirs;
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
diff --git a/bfd/config.bfd b/bfd/config.bfd
|
||||
index f04a993f06..3357022f35 100644
|
||||
--- a/bfd/config.bfd
|
||||
+++ b/bfd/config.bfd
|
||||
@@ -238,7 +238,7 @@ case "${targ}" in
|
||||
|
||||
# START OF targmatch.h
|
||||
#ifdef BFD64
|
||||
- aarch64-*-darwin*)
|
||||
+ aarch64-*-darwin* | aarch64-*-ios*)
|
||||
targ_defvec=aarch64_mach_o_vec
|
||||
targ_selvecs="arm_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
|
||||
targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
|
||||
@@ -358,7 +358,7 @@ case "${targ}" in
|
||||
targ_selvecs=arc_elf32_be_vec
|
||||
;;
|
||||
|
||||
- arm-*-darwin*)
|
||||
+ arm-*-darwin* | arm-*-ios*)
|
||||
targ_defvec=arm_mach_o_vec
|
||||
targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
|
||||
targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index aae94501e4..4b1121e0d1 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -510,7 +510,7 @@ if test x$enable_libgomp = x ; then
|
||||
;;
|
||||
*-*-solaris2* | *-*-hpux11*)
|
||||
;;
|
||||
- *-*-darwin* | *-*-aix*)
|
||||
+ *-*-darwin* | *-*-ios* | *-*-aix*)
|
||||
;;
|
||||
nvptx*-*-*)
|
||||
;;
|
||||
@@ -706,7 +706,7 @@ case "${target}" in
|
||||
;;
|
||||
x86_64-*-darwin[[912]]*)
|
||||
;;
|
||||
- *-*-darwin*)
|
||||
+ *-*-darwin* | *-*-ios*)
|
||||
noconfigdirs="$noconfigdirs target-libffi"
|
||||
;;
|
||||
*-*-netware*)
|
||||
@@ -788,7 +788,7 @@ esac
|
||||
# Disable the go frontend on systems where it is known to not work. Please keep
|
||||
# this in sync with contrib/config-list.mk.
|
||||
case "${target}" in
|
||||
-*-*-darwin* | *-*-cygwin* | *-*-mingw*)
|
||||
+*-*-darwin* | *-*-ios* | *-*-cygwin* | *-*-mingw*)
|
||||
unsupported_languages="$unsupported_languages go"
|
||||
;;
|
||||
esac
|
||||
@@ -797,7 +797,7 @@ esac
|
||||
# For testing, you can easily override this with --enable-libgo.
|
||||
if test x$enable_libgo = x; then
|
||||
case "${target}" in
|
||||
- *-*-darwin*)
|
||||
+ *-*-darwin* | *-*-ios*)
|
||||
# PR 46986
|
||||
noconfigdirs="$noconfigdirs target-libgo"
|
||||
;;
|
||||
@@ -916,11 +916,11 @@ esac
|
||||
case "${target}" in
|
||||
*-*-chorusos)
|
||||
;;
|
||||
- aarch64-*-darwin*)
|
||||
+ aarch64-*-darwin* | aarch64-*-ios*)
|
||||
noconfigdirs="$noconfigdirs ld gas gdb gprof"
|
||||
noconfigdirs="$noconfigdirs sim target-rda"
|
||||
;;
|
||||
- arm-*-darwin*)
|
||||
+ arm-*-darwin* | arm-*-ios*)
|
||||
noconfigdirs="$noconfigdirs ld gas gdb gprof"
|
||||
noconfigdirs="$noconfigdirs sim target-rda"
|
||||
;;
|
||||
@@ -936,7 +936,7 @@ case "${target}" in
|
||||
noconfigdirs="$noconfigdirs ld gas gprof"
|
||||
noconfigdirs="$noconfigdirs sim target-rda"
|
||||
;;
|
||||
- *-*-darwin*)
|
||||
+ *-*-darwin* | *-*-ios*)
|
||||
noconfigdirs="$noconfigdirs ld gas gdb gprof"
|
||||
noconfigdirs="$noconfigdirs sim target-rda"
|
||||
;;
|
||||
@@ -1226,7 +1226,7 @@ case "${host}" in
|
||||
hppa*-*)
|
||||
host_makefile_frag="config/mh-pa"
|
||||
;;
|
||||
- *-*-darwin*)
|
||||
+ *-*-darwin* | *-*-ios*)
|
||||
host_makefile_frag="config/mh-darwin"
|
||||
;;
|
||||
powerpc-*-aix*)
|
||||
@@ -1708,7 +1708,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the lto-plugin always.
|
||||
# warn during gcc/ subconfigure; unless you're bootstrapping with
|
||||
# -flto it won't be needed until after installation anyway.
|
||||
case $target in
|
||||
- *-cygwin* | *-mingw* | *-apple-darwin* | *djgpp*) ;;
|
||||
+ *-cygwin* | *-mingw* | *-apple-darwin* | *-apple-ios* | *djgpp*) ;;
|
||||
*) if test x"$enable_lto" = x"yes"; then
|
||||
AC_MSG_ERROR([LTO support is not enabled for this target.])
|
||||
fi
|
||||
@@ -2590,7 +2590,7 @@ rm -f conftest*
|
||||
# Decide which environment variable is used to find dynamic libraries.
|
||||
case "${host}" in
|
||||
*-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
|
||||
- *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
|
||||
+ *-*-darwin* | *-*-ios* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
|
||||
*-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;
|
||||
*) RPATH_ENVVAR=LD_LIBRARY_PATH ;;
|
||||
esac
|
Loading…
Reference in New Issue