Fix gcc@5.5.0 on OS X 10.13.5 (#8540)
* Fix gcc@5.5.0 on OS X 10.13.5 gcc@5.5.0 failed to build on my OS X 10.13.5 box. I found/modified a patch in the MacPorts world that traced back to Homebrewy, https://trac.macports.org/ticket/56502#no1 The issue has also been reported to gcc, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83531 I eventually discovered a nearly identical version of the patch at Homebrew. https://github.com/Homebrew/formula-patches/blob/master/gcc%405/10.13_headers.patch gcc builds with this and I can compile many things, but e.g. curl and cmake both fail. As @davydden and others observed in #1847, it seems to be an apple thing. * Fix mistaken change to patch when clause (added :) I mistakenly deleted a colon from the 'darwin/gcc-7.1.0-headerpad.patch'.
This commit is contained in:
parent
a72f240f95
commit
4864005483
@ -0,0 +1,127 @@
|
|||||||
|
diff -pur fixincludes/fixincl.x gcc-5.5.0/fixincludes/fixincl.x
|
||||||
|
--- a/fixincludes/fixincl.x 2017-01-30 17:08:42.000000000 +0100
|
||||||
|
+++ b/fixincludes/fixincl.x 2017-12-21 14:34:35.000000000 +0100
|
||||||
|
@@ -1,12 +1,12 @@
|
||||||
|
/* -*- buffer-read-only: t -*- vi: set ro:
|
||||||
|
- *
|
||||||
|
+ *
|
||||||
|
* DO NOT EDIT THIS FILE (fixincl.x)
|
||||||
|
- *
|
||||||
|
- * It has been AutoGen-ed January 5, 2017 at 06:05:06 PM by AutoGen 5.16.2
|
||||||
|
+ *
|
||||||
|
+ * It has been AutoGen-ed December 21, 2017 at 02:34:35 PM by AutoGen 5.18.7
|
||||||
|
* From the definitions inclhack.def
|
||||||
|
* and the template file fixincl
|
||||||
|
*/
|
||||||
|
-/* DO NOT SVN-MERGE THIS FILE, EITHER Thu Jan 5 18:05:06 CET 2017
|
||||||
|
+/* DO NOT SVN-MERGE THIS FILE, EITHER Thu Dec 21 14:34:35 CET 2017
|
||||||
|
*
|
||||||
|
* You must regenerate it. Use the ./genfixes script.
|
||||||
|
*
|
||||||
|
@@ -15,7 +15,7 @@
|
||||||
|
* certain ANSI-incompatible system header files which are fixed to work
|
||||||
|
* correctly with ANSI C and placed in a directory that GNU C will search.
|
||||||
|
*
|
||||||
|
- * This file contains 240 fixup descriptions.
|
||||||
|
+ * This file contains 241 fixup descriptions.
|
||||||
|
*
|
||||||
|
* See README for more information.
|
||||||
|
*
|
||||||
|
@@ -2579,6 +2579,43 @@ extern \"C\" {\n\
|
||||||
|
|
||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
*
|
||||||
|
+ * Description of Darwin_Osavailability fix
|
||||||
|
+ */
|
||||||
|
+tSCC zDarwin_OsavailabilityName[] =
|
||||||
|
+ "darwin_osavailability";
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * File name selection pattern
|
||||||
|
+ */
|
||||||
|
+tSCC zDarwin_OsavailabilityList[] =
|
||||||
|
+ "os/availability.h\0";
|
||||||
|
+/*
|
||||||
|
+ * Machine/OS name selection pattern
|
||||||
|
+ */
|
||||||
|
+tSCC* apzDarwin_OsavailabilityMachs[] = {
|
||||||
|
+ "*-*-darwin*",
|
||||||
|
+ (const char*)NULL };
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * content selection pattern - do fix if pattern found
|
||||||
|
+ */
|
||||||
|
+tSCC zDarwin_OsavailabilitySelect0[] =
|
||||||
|
+ "#define[ \t]+__(API_[A-Z_]*)\\(\\.\\.\\.\\)";
|
||||||
|
+
|
||||||
|
+#define DARWIN_OSAVAILABILITY_TEST_CT 1
|
||||||
|
+static tTestDesc aDarwin_OsavailabilityTests[] = {
|
||||||
|
+ { TT_EGREP, zDarwin_OsavailabilitySelect0, (regex_t*)NULL }, };
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Fix Command Arguments for Darwin_Osavailability
|
||||||
|
+ */
|
||||||
|
+static const char* apzDarwin_OsavailabilityPatch[] = {
|
||||||
|
+ "format",
|
||||||
|
+ "#define %1(...)",
|
||||||
|
+ (char*)NULL };
|
||||||
|
+
|
||||||
|
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
+ *
|
||||||
|
* Description of Darwin_9_Long_Double_Funcs_2 fix
|
||||||
|
*/
|
||||||
|
tSCC zDarwin_9_Long_Double_Funcs_2Name[] =
|
||||||
|
@@ -9818,9 +9855,9 @@ static const char* apzX11_SprintfPatch[]
|
||||||
|
*
|
||||||
|
* List of all fixes
|
||||||
|
*/
|
||||||
|
-#define REGEX_COUNT 276
|
||||||
|
+#define REGEX_COUNT 277
|
||||||
|
#define MACH_LIST_SIZE_LIMIT 187
|
||||||
|
-#define FIX_COUNT 240
|
||||||
|
+#define FIX_COUNT 241
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enumerate the fixes
|
||||||
|
@@ -9885,6 +9922,7 @@ typedef enum {
|
||||||
|
CTRL_QUOTES_DEF_FIXIDX,
|
||||||
|
CTRL_QUOTES_USE_FIXIDX,
|
||||||
|
CXX_UNREADY_FIXIDX,
|
||||||
|
+ DARWIN_OSAVAILABILITY_FIXIDX,
|
||||||
|
DARWIN_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
|
||||||
|
DARWIN_EXTERNC_FIXIDX,
|
||||||
|
DARWIN_GCC4_BREAKAGE_FIXIDX,
|
||||||
|
@@ -10364,6 +10402,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
|
||||||
|
CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||||
|
aCxx_UnreadyTests, apzCxx_UnreadyPatch, 0 },
|
||||||
|
|
||||||
|
+ { zDarwin_OsavailabilityName, zDarwin_OsavailabilityList,
|
||||||
|
+ apzDarwin_OsavailabilityMachs,
|
||||||
|
+ DARWIN_OSAVAILABILITY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||||
|
+ aDarwin_OsavailabilityTests, apzDarwin_OsavailabilityPatch, 0 },
|
||||||
|
+
|
||||||
|
{ zDarwin_9_Long_Double_Funcs_2Name, zDarwin_9_Long_Double_Funcs_2List,
|
||||||
|
apzDarwin_9_Long_Double_Funcs_2Machs,
|
||||||
|
DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
|
||||||
|
diff -pur fixincludes/inclhack.def gcc-5.5.0/fixincludes/inclhack.def
|
||||||
|
--- a/fixincludes/inclhack.def 2017-01-30 17:08:42.000000000 +0100
|
||||||
|
+++ b/fixincludes/inclhack.def 2017-12-21 14:34:28.000000000 +0100
|
||||||
|
@@ -1337,6 +1337,18 @@ fix = {
|
||||||
|
test_text = "extern void* malloc( size_t );";
|
||||||
|
};
|
||||||
|
|
||||||
|
+fix = {
|
||||||
|
+ hackname = darwin_osavailability;
|
||||||
|
+ mach = "*-*-darwin*";
|
||||||
|
+ files = os/availability.h;
|
||||||
|
+ select = "#define[ \t]+__(API_[A-Z_]*)\\(\\.\\.\\.\\)";
|
||||||
|
+ c_fix = format;
|
||||||
|
+ c_fix_arg = "#define %1(...)";
|
||||||
|
+
|
||||||
|
+ test_text = "#define __API_AVAILABLE(...)\n"
|
||||||
|
+ "#define API_AVAILABLE(...)\n";
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* For the AAB_darwin7_9_long_double_funcs fix to be useful,
|
||||||
|
* you have to not use "" includes.
|
@ -158,7 +158,11 @@ class Gcc(AutotoolsPackage):
|
|||||||
# Fix parallel build on APFS filesystem
|
# Fix parallel build on APFS filesystem
|
||||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81797
|
||||||
if macOS_version() >= Version('10.13'):
|
if macOS_version() >= Version('10.13'):
|
||||||
patch('darwin/apfs.patch', when='@6.1:6.4,7.1:7.3')
|
patch('darwin/apfs.patch', when='@5.5.0,6.1:6.4,7.1:7.3')
|
||||||
|
# from homebrew via macports
|
||||||
|
# https://trac.macports.org/ticket/56502#no1
|
||||||
|
# see also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83531
|
||||||
|
patch('darwin/headers-10.13-fix.patch', when='@5.5.0')
|
||||||
patch('darwin/gcc-7.1.0-headerpad.patch', when='@5:')
|
patch('darwin/gcc-7.1.0-headerpad.patch', when='@5:')
|
||||||
patch('darwin/gcc-6.1.0-jit.patch', when='@5:7')
|
patch('darwin/gcc-6.1.0-jit.patch', when='@5:7')
|
||||||
patch('darwin/gcc-4.9.patch1', when='@4.9.0:4.9.3')
|
patch('darwin/gcc-4.9.patch1', when='@4.9.0:4.9.3')
|
||||||
|
Loading…
Reference in New Issue
Block a user