Copy Alpine's gcc6 aport to temp. They don't have it built for aarch64 and armhf at the moment. Due to dependency checks, this means we can't build the kernels that need gcc6, even when cross compiling with gcc6-armhf etc. See #138 for details.
57 lines
2.0 KiB
Diff
57 lines
2.0 KiB
Diff
From 9e3eab51e518018d9d99b3123598b1e2322a6af3 Mon Sep 17 00:00:00 2001
|
|
From: Szabolcs Nagy <nsz@port70.net>
|
|
Date: Sat, 24 Oct 2015 20:09:53 +0000
|
|
Subject: [PATCH 3/6] libgcc_s
|
|
|
|
---
|
|
gcc/config/i386/i386.c | 4 ++--
|
|
libgcc/config/i386/cpuinfo.c | 6 +++---
|
|
libgcc/config/i386/t-linux | 2 +-
|
|
3 files changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
|
|
index 3d044e8..82523e1 100644
|
|
--- a/gcc/config/i386/i386.c
|
|
+++ b/gcc/config/i386/i386.c
|
|
@@ -40269,10 +40269,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
|
|
{
|
|
case IX86_BUILTIN_CPU_INIT:
|
|
{
|
|
- /* Make it call __cpu_indicator_init in libgcc. */
|
|
+ /* Make it call __cpu_indicator_init_local in libgcc.a. */
|
|
tree call_expr, fndecl, type;
|
|
type = build_function_type_list (integer_type_node, NULL_TREE);
|
|
- fndecl = build_fn_decl ("__cpu_indicator_init", type);
|
|
+ fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
|
|
call_expr = build_call_expr (fndecl, 0);
|
|
return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
|
|
}
|
|
diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
|
|
index 8c2248d..6c82f15 100644
|
|
--- a/libgcc/config/i386/cpuinfo.c
|
|
+++ b/libgcc/config/i386/cpuinfo.c
|
|
@@ -485,7 +485,7 @@ __cpu_indicator_init (void)
|
|
return 0;
|
|
}
|
|
|
|
-#if defined SHARED && defined USE_ELF_SYMVER
|
|
-__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
|
|
-__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
|
|
+#ifndef SHARED
|
|
+int __cpu_indicator_init_local (void)
|
|
+ __attribute__ ((weak, alias ("__cpu_indicator_init")));
|
|
#endif
|
|
diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
|
|
index 11bb46e..4f47f7b 100644
|
|
--- a/libgcc/config/i386/t-linux
|
|
+++ b/libgcc/config/i386/t-linux
|
|
@@ -3,4 +3,4 @@
|
|
# t-slibgcc-elf-ver and t-linux
|
|
SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
|
|
|
|
-HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER
|
|
+HOST_LIBGCC2_CFLAGS += -mlong-double-80
|
|
--
|
|
2.8.1
|
|
|