From aaea9a0d97fb8adc7801453783886795341eca69 Mon Sep 17 00:00:00 2001
From: Unknown <unknown>
Date: Thu, 7 May 2020 21:14:11 -0500
Subject: [PATCH 04/13] convert "__cpu_indicator_init" to
 "__cpu_indicator_init_local"

Origin: Gentoo
Upstream-Status: Unknown
Signed-off-by: Ismael Luceno <ismael@sourcemage.org>
---
 gcc/config/i386/i386-expand.cc | 4 ++--
 libgcc/config/i386/cpuinfo.c   | 3 +++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 0d817fc3f3b8..4dfc79e8b50c 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -12691,10 +12691,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.  */
 	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 50b6d8248a27..bbc0684ae65f 100644
--- a/libgcc/config/i386/cpuinfo.c
+++ b/libgcc/config/i386/cpuinfo.c
@@ -66,4 +66,7 @@ __cpu_indicator_init (void)
 #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");
+#elif ! defined SHARED
+int __cpu_indicator_init_local (void)
+  __attribute__ ((weak, alias ("__cpu_indicator_init")));
 #endif
-- 
2.40.1

