mirror of
https://github.com/Relintai/osxcross.git
synced 2025-02-12 07:00:07 +01:00
Update cctools to 877.8 and ld64 to 253.9
This commit is contained in:
parent
b89ec78e31
commit
447e99777b
@ -1,3 +1,9 @@
|
|||||||
|
/****************************** v0.13 ********************************/
|
||||||
|
|
||||||
|
changed:
|
||||||
|
* updated cctools to 877.8
|
||||||
|
* updated ld64 to 253.9
|
||||||
|
|
||||||
/****************************** v0.12 ********************************/
|
/****************************** v0.12 ********************************/
|
||||||
|
|
||||||
changed:
|
changed:
|
||||||
|
9
build.sh
9
build.sh
@ -74,7 +74,7 @@ if [ -z "$OSX_VERSION_MIN" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
OSXCROSS_VERSION=0.12
|
OSXCROSS_VERSION=0.13
|
||||||
|
|
||||||
X86_64H_SUPPORTED=0
|
X86_64H_SUPPORTED=0
|
||||||
|
|
||||||
@ -130,8 +130,8 @@ function remove_locks()
|
|||||||
source $BASE_DIR/tools/trap_exit.sh
|
source $BASE_DIR/tools/trap_exit.sh
|
||||||
|
|
||||||
# CCTOOLS
|
# CCTOOLS
|
||||||
LINKER_VERSION=253.3
|
LINKER_VERSION=253.9
|
||||||
CCTOOLS="cctools-877.5-ld64-$LINKER_VERSION"
|
CCTOOLS="cctools-877.8-ld64-$LINKER_VERSION"
|
||||||
CCTOOLS_TARBALL=$(ls $TARBALL_DIR/$CCTOOLS*.tar.* | head -n1)
|
CCTOOLS_TARBALL=$(ls $TARBALL_DIR/$CCTOOLS*.tar.* | head -n1)
|
||||||
CCTOOLS_REVHASH=$(echo $(basename "$CCTOOLS_TARBALL") | tr '_' '\n' | \
|
CCTOOLS_REVHASH=$(echo $(basename "$CCTOOLS_TARBALL") | tr '_' '\n' | \
|
||||||
tr '.' '\n' | tail -n3 | head -n1)
|
tr '.' '\n' | tail -n3 | head -n1)
|
||||||
@ -149,9 +149,6 @@ pushd .. &>/dev/null
|
|||||||
popd &>/dev/null
|
popd &>/dev/null
|
||||||
patch -p0 < $PATCH_DIR/cctools-ld64-1.patch
|
patch -p0 < $PATCH_DIR/cctools-ld64-1.patch
|
||||||
patch -p0 < $PATCH_DIR/cctools-ld64-2.patch
|
patch -p0 < $PATCH_DIR/cctools-ld64-2.patch
|
||||||
patch -p1 < $PATCH_DIR/cctools-ld64-linux-ncpus.patch
|
|
||||||
patch -p1 < $PATCH_DIR/cctools-ld64-qsort_r.patch
|
|
||||||
patch -p1 < $PATCH_DIR/cctools-ld64-gcc6-build-fix.patch
|
|
||||||
echo ""
|
echo ""
|
||||||
CONFFLAGS="--prefix=$TARGET_DIR --target=x86_64-apple-$TARGET "
|
CONFFLAGS="--prefix=$TARGET_DIR --target=x86_64-apple-$TARGET "
|
||||||
CONFFLAGS+="--disable-clang-as "
|
CONFFLAGS+="--disable-clang-as "
|
||||||
|
@ -77,16 +77,15 @@ git clean -fdx
|
|||||||
touch .clone_complete
|
touch .clone_complete
|
||||||
git pull
|
git pull
|
||||||
|
|
||||||
|
if [ $BRANCH == "release_38" ]; then
|
||||||
|
patch -p0 < $PATCH_DIR/compiler-rt-llvm38-makefile.patch
|
||||||
|
fi
|
||||||
|
|
||||||
$SED -i "s/Configs += ios//g" make/platform/clang_darwin.mk
|
$SED -i "s/Configs += ios//g" make/platform/clang_darwin.mk
|
||||||
$SED -i "s/Configs += cc_kext_ios5//g" make/platform/clang_darwin.mk
|
$SED -i "s/Configs += cc_kext_ios5//g" make/platform/clang_darwin.mk
|
||||||
$SED -i "s/Configs += profile_ios//g" make/platform/clang_darwin.mk
|
$SED -i "s/Configs += profile_ios//g" make/platform/clang_darwin.mk
|
||||||
$SED -i "s/Configs += asan_iossim_dynamic//g" make/platform/clang_darwin.mk
|
$SED -i "s/Configs += asan_iossim_dynamic//g" make/platform/clang_darwin.mk
|
||||||
|
|
||||||
if [ -f "$OSXCROSS_SDK/usr/lib/libSystem.B.tbd" ]; then
|
|
||||||
# https://llvm.org/bugs/show_bug.cgi?id=24776
|
|
||||||
$SED -i "s/x86_64 x86_64h,/x86_64,/g" make/platform/clang_darwin.mk
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Unbreak the -Werror build.
|
# Unbreak the -Werror build.
|
||||||
if [ -f lib/asan/asan_mac.h ]; then
|
if [ -f lib/asan/asan_mac.h ]; then
|
||||||
$SED -i "s/ASAN__MAC_H/ASAN_MAC_H/g" lib/asan/asan_mac.h
|
$SED -i "s/ASAN__MAC_H/ASAN_MAC_H/g" lib/asan/asan_mac.h
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
diff --git cctools/ld64/src/ld/code-sign-blobs/memutils.h cctools/ld64/src/ld/code-sign-blobs/memutils.h
|
|
||||||
index 6b8697c..7059669 100644
|
|
||||||
--- cctools/ld64/src/ld/code-sign-blobs/memutils.h
|
|
||||||
+++ cctools/ld64/src/ld/code-sign-blobs/memutils.h
|
|
||||||
@@ -31,6 +31,7 @@
|
|
||||||
//#include <security_utilities/utilities.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
+#include <stddef.h> // ld64-port
|
|
||||||
#include <algorithm>
|
|
||||||
|
|
||||||
#ifdef __GLIBCXX__ // ld64-port
|
|
@ -1,49 +0,0 @@
|
|||||||
diff --git cctools/ld64/src/ld/InputFiles.cpp cctools/ld64/src/ld/InputFiles.cpp
|
|
||||||
index 13207e5..2b6f7bd 100644
|
|
||||||
--- cctools/ld64/src/ld/InputFiles.cpp
|
|
||||||
+++ cctools/ld64/src/ld/InputFiles.cpp
|
|
||||||
@@ -43,6 +43,15 @@
|
|
||||||
#include <sys/sysctl.h>
|
|
||||||
#include <libkern/OSAtomic.h>
|
|
||||||
|
|
||||||
+// ld64-port
|
|
||||||
+#ifdef __linux__
|
|
||||||
+#ifndef __USE_GNU
|
|
||||||
+#define __USE_GNU
|
|
||||||
+#endif
|
|
||||||
+#include <sched.h>
|
|
||||||
+#endif
|
|
||||||
+// ld64-port end
|
|
||||||
+
|
|
||||||
#include <string>
|
|
||||||
#include <map>
|
|
||||||
#include <set>
|
|
||||||
@@ -913,6 +922,20 @@ InputFiles::InputFiles(Options& opts, const char** archName)
|
|
||||||
|
|
||||||
// initialize info for parsing input files on worker threads
|
|
||||||
unsigned int ncpus;
|
|
||||||
+#ifdef __linux__ // ld64-port
|
|
||||||
+ cpu_set_t cs;
|
|
||||||
+ CPU_ZERO(&cs);
|
|
||||||
+
|
|
||||||
+ if (!sched_getaffinity(0, sizeof(cs), &cs)) {
|
|
||||||
+ ncpus = 0;
|
|
||||||
+
|
|
||||||
+ for (int i = 0; i < CPU_SETSIZE; i++)
|
|
||||||
+ if (CPU_ISSET(i, &cs))
|
|
||||||
+ ncpus++;
|
|
||||||
+ } else {
|
|
||||||
+ ncpus = 1;
|
|
||||||
+ }
|
|
||||||
+#else
|
|
||||||
int mib[2];
|
|
||||||
size_t len = sizeof(ncpus);
|
|
||||||
mib[0] = CTL_HW;
|
|
||||||
@@ -920,6 +943,7 @@ InputFiles::InputFiles(Options& opts, const char** archName)
|
|
||||||
if (sysctl(mib, 2, &ncpus, &len, NULL, 0) != 0) {
|
|
||||||
ncpus = 1;
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
_availableWorkers = MIN(ncpus, files.size()); // max # workers we permit
|
|
||||||
_idleWorkers = 0;
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
commit 86ee16d49f06c07fb7d208d6f082b4a63c077293
|
|
||||||
Author: Johannes Schickel <lordhoto [AT] gmail>
|
|
||||||
Date: Fri Feb 12 14:51:14 2016 +0100
|
|
||||||
|
|
||||||
Fix build on systems with glibc's qsort_r.
|
|
||||||
|
|
||||||
diff --git cctools/ld64/src/3rd/qsort_r.c cctools/ld64/src/3rd/qsort_r.c
|
|
||||||
index a514ad8..1bae250 100644
|
|
||||||
--- cctools/ld64/src/3rd/qsort_r.c
|
|
||||||
+++ cctools/ld64/src/3rd/qsort_r.c
|
|
||||||
@@ -28,7 +28,6 @@
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define I_AM_QSORT_R
|
|
||||||
-#define qsort_r qsort_r_local
|
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
|
||||||
|
|
||||||
@@ -37,6 +36,8 @@
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
+#define qsort_r qsort_r_local
|
|
||||||
+
|
|
||||||
#ifndef __FreeBSD__
|
|
||||||
/* flsl.c */
|
|
||||||
int
|
|
36
patches/compiler-rt-llvm38-makefile.patch
Normal file
36
patches/compiler-rt-llvm38-makefile.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
diff --git make/platform/clang_darwin.mk make/platform/clang_darwin.mk
|
||||||
|
index 9944481..50afa19 100644
|
||||||
|
--- make/platform/clang_darwin.mk
|
||||||
|
+++ make/platform/clang_darwin.mk
|
||||||
|
@@ -17,23 +17,23 @@ CheckArches = \
|
||||||
|
result=""; \
|
||||||
|
if [ "X$(3)" != X ]; then \
|
||||||
|
for arch in $(1); do \
|
||||||
|
- if $(LD) -v 2>&1 | grep "configured to support" \
|
||||||
|
- | tr ' ' '\n' | grep "^$$arch$$" >/dev/null 2>/dev/null; then \
|
||||||
|
- if $(CC) -arch $$arch \
|
||||||
|
+ if $(CC) -arch $$arch -c \
|
||||||
|
-integrated-as \
|
||||||
|
$(ProjSrcRoot)/make/platform/clang_darwin_test_input.c \
|
||||||
|
-isysroot $(3) \
|
||||||
|
-o /dev/null > /dev/null 2> /dev/null; then \
|
||||||
|
- result="$$result$$arch "; \
|
||||||
|
+ if $(LD) -v 2>&1 | grep "configured to support" \
|
||||||
|
+ | tr ' ' '\n' | grep "^$$arch$$" >/dev/null 2>/dev/null; then \
|
||||||
|
+ result="$$result$$arch "; \
|
||||||
|
else \
|
||||||
|
printf 1>&2 \
|
||||||
|
- "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'"; \
|
||||||
|
- printf 1>&2 " (clang or system libraries do not support it)\n"; \
|
||||||
|
+ "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'";\
|
||||||
|
+ printf 1>&2 " (ld does not support it)\n"; \
|
||||||
|
fi; \
|
||||||
|
else \
|
||||||
|
printf 1>&2 \
|
||||||
|
- "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'";\
|
||||||
|
- printf 1>&2 " (ld does not support it)\n"; \
|
||||||
|
+ "warning: clang_darwin.mk: dropping arch '$$arch' from lib '$(2)'"; \
|
||||||
|
+ printf 1>&2 " (clang does not support it)\n"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
fi; \
|
Binary file not shown.
BIN
tarballs/cctools-877.8-ld64-253.9_e2c9d34.tar.xz
Normal file
BIN
tarballs/cctools-877.8-ld64-253.9_e2c9d34.tar.xz
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user