This is based on the toolchain GCC, and aims to share as much of its Makefile and patches with that definition. The package requires two additional patches: (1) 003-dont-choke-when-building-32bit-on-64bit.patch, which fixes the `error: size of array 'test_real_width' is negative` error that occurs when building a 32-bit GCC on a 64-bit host. (Search the Internet for examples of this error appearing.) (2) 980-add-nostdinc++.patch, which backports a fix from 11.3.0 (11.2.0 only). Signed-off-by: W. Michael Petullo <mike@flyn.org>
45 lines
1.5 KiB
Diff
45 lines
1.5 KiB
Diff
commit 9c6e71079b46ad5433165feaa2001450f2017b56
|
|
Author: Przemysław Buczkowski <prem@prem.moe>
|
|
Date: Mon Aug 16 13:16:21 2021 +0100
|
|
|
|
GCC: Patch for Apple Silicon compatibility
|
|
|
|
This patch fixes a linker error occuring when compiling
|
|
the cross-compiler on macOS and ARM64 architecture.
|
|
|
|
Adapted from:
|
|
https://github.com/richfelker/musl-cross-make/issues/116#issuecomment-823612404
|
|
|
|
Change-Id: Ia3ee98a163bbb62689f42e2da83a5ef36beb0913
|
|
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/4329
|
|
Reviewed-by: John Scipione <jscipione@gmail.com>
|
|
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
|
|
|
--- a/gcc/config/aarch64/aarch64.h
|
|
+++ b/gcc/config/aarch64/aarch64.h
|
|
@@ -1236,7 +1236,7 @@ extern const char *aarch64_rewrite_mcpu
|
|
#define MCPU_TO_MARCH_SPEC_FUNCTIONS \
|
|
{ "rewrite_mcpu", aarch64_rewrite_mcpu },
|
|
|
|
-#if defined(__aarch64__)
|
|
+#if defined(__aarch64__) && ! defined(__APPLE__)
|
|
extern const char *host_detect_local_cpu (int argc, const char **argv);
|
|
#define HAVE_LOCAL_CPU_DETECT
|
|
# define EXTRA_SPEC_FUNCTIONS \
|
|
--- a/gcc/config/host-darwin.c
|
|
+++ b/gcc/config/host-darwin.c
|
|
@@ -22,6 +22,8 @@
|
|
#include "coretypes.h"
|
|
#include "diagnostic-core.h"
|
|
#include "config/host-darwin.h"
|
|
+#include "hosthooks.h"
|
|
+#include "hosthooks-def.h"
|
|
|
|
/* Yes, this is really supposed to work. */
|
|
/* This allows for a pagesize of 16384, which we have on Darwin20, but should
|
|
@@ -79,3 +81,5 @@ darwin_gt_pch_use_address (void *addr, s
|
|
|
|
return ret;
|
|
}
|
|
+
|
|
+const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;
|