aboutsummaryrefslogtreecommitdiff
blob: ced7938986dc8fe30d99ed97c00cb86e57ebccbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
https://gcc.gnu.org/pipermail/gcc-patches/2023-February/612648.html
https://gcc.gnu.org/legacy-ml/gcc-patches/2015-05/msg00899.html
https://gcc.gnu.org/PR65612

From d16a8ceb1c3c8a7ec381090b4c316ff4c55661c0 Mon Sep 17 00:00:00 2001
From:
Date: Thu, 7 May 2020 21:14:11 -0500
Subject: [PATCH] convert "__cpu_indicator_init" to
 "__cpu_indicator_init_local"

--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -12338,10 +12338,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);
       }

--- a/libgcc/config/i386/cpuinfo.c
+++ b/libgcc/config/i386/cpuinfo.c
@@ -508,7 +508,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