57 lines
2.0 KiB
Diff
57 lines
2.0 KiB
Diff
|
From f09a0caf978b7aca4a95dd96bc0bdcd9016b933d Mon Sep 17 00:00:00 2001
|
||
|
From: Szabolcs Nagy <nsz@port70.net>
|
||
|
Date: Sat, 20 Aug 2016 21:16:00 +0000
|
||
|
Subject: [PATCH 1/8] 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 2639c8c..88c7ebe 100644
|
||
|
--- a/gcc/config/i386/i386.c
|
||
|
+++ b/gcc/config/i386/i386.c
|
||
|
@@ -36049,10 +36049,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
|
||
|
|