Later, the aports folder will probably get split up in its own repository. But right now this is simply convenient.
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
|
|
|