galeb

Једноставна статичка дистрибуција заснована на musl-у
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

0013-libgcc_s.patch (2071B)


      1 From 3614b3586d4a0f75e454943895977a9df1b734d5 Mon Sep 17 00:00:00 2001
      2 From: Szabolcs Nagy <nsz@port70.net>
      3 Date: Sat, 24 Oct 2015 20:09:53 +0000
      4 Subject: [PATCH] libgcc_s
      5 
      6 ---
      7  gcc/config/i386/i386-expand.c | 4 ++--
      8  libgcc/config/i386/cpuinfo.c  | 6 +++---
      9  libgcc/config/i386/t-linux    | 2 +-
     10  3 files changed, 6 insertions(+), 6 deletions(-)
     11 
     12 diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c
     13 index 47d52550e5e..9cb8cc7950e 100644
     14 --- a/gcc/config/i386/i386-expand.c
     15 +++ b/gcc/config/i386/i386-expand.c
     16 @@ -12338,10 +12338,10 @@
     17      {
     18      case IX86_BUILTIN_CPU_INIT:
     19        {
     20 -	/* Make it call __cpu_indicator_init in libgcc.  */
     21 +	/* Make it call __cpu_indicator_init_local in libgcc.a. */
     22  	tree call_expr, fndecl, type;
     23  	type = build_function_type_list (integer_type_node, NULL_TREE);
     24 -	fndecl = build_fn_decl ("__cpu_indicator_init", type);
     25 +	fndecl = build_fn_decl ("__cpu_indicator_init_local", type);
     26  	call_expr = build_call_expr (fndecl, 0);
     27  	return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
     28        }
     29 diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
     30 index 83301a1445f..89fdc7eb587 100644
     31 --- a/libgcc/config/i386/cpuinfo.c
     32 +++ b/libgcc/config/i386/cpuinfo.c
     33 @@ -516,7 +516,7 @@ __cpu_indicator_init (void)
     34    return 0;
     35  }
     36  
     37 -#if defined SHARED && defined USE_ELF_SYMVER
     38 -__asm__ (".symver __cpu_indicator_init, __cpu_indicator_init@GCC_4.8.0");
     39 -__asm__ (".symver __cpu_model, __cpu_model@GCC_4.8.0");
     40 +#ifndef SHARED
     41 +int __cpu_indicator_init_local (void)
     42 +  __attribute__ ((weak, alias ("__cpu_indicator_init")));
     43  #endif
     44 diff --git a/libgcc/config/i386/t-linux b/libgcc/config/i386/t-linux
     45 index 8506a635790..564296f788e 100644
     46 --- a/libgcc/config/i386/t-linux
     47 +++ b/libgcc/config/i386/t-linux
     48 @@ -3,5 +3,5 @@
     49  # t-slibgcc-elf-ver and t-linux
     50  SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/i386/libgcc-glibc.ver
     51  
     52 -HOST_LIBGCC2_CFLAGS += -mlong-double-80 -DUSE_ELF_SYMVER $(CET_FLAGS)
     53 +HOST_LIBGCC2_CFLAGS += -mlong-double-80 $(CET_FLAGS)
     54  CRTSTUFF_T_CFLAGS += $(CET_FLAGS)
     55 -- 
     56 2.31.1
     57