gcc/libgcc/config/i386
H.J. Lu abd0cdc9c0 Hide __cpu_indicator_init/__cpu_model from linker
We shouldn't call external function, __cpu_indicator_init, while an object
is being relocated since its .got.plt section hasn't been updated.  It
works for non-PIE since no update on .got.plt section is required.  This
patch creates libgcc.so as a linker script, hides __cpu_indicator_init
and __cpu_model in libgcc.so.1 from linker, forces linker to resolve
__cpu_indicator_init and __cpu_model to their hidden definitions in
libgcc.a while providing backward binary compatibility.

gcc/testsuite/

	PR target/65612
	* g++.dg/ext/mv18.C: New test.
	* g++.dg/ext/mv19.C: Likewise.
	* g++.dg/ext/mv20.C: Likewise.
	* g++.dg/ext/mv21.C: Likewise.
	* g++.dg/ext/mv22.C: Likewise.
	* g++.dg/ext/mv23.C: Likewise.

libgcc/

	PR target/65612
	* config.host (tmake_file): Add t-slibgcc-libgcc for Linux/x86.
	* config/i386/cpuinfo.c (__cpu_model): Initialize.
	(__cpu_indicator_init@GCC_4.8.0): New.
	(__cpu_model@GCC_4.8.0): Likewise.
	* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add
	-DUSE_ELF_SYMVER.

From-SVN: r222178
2015-04-17 05:58:07 -07:00
..
32 Update copyright years. 2015-01-05 13:33:28 +01:00
64 sfp-machine.h (FP_EX_ALL): Define. 2012-12-06 10:49:43 +01:00
cpuinfo.c Hide __cpu_indicator_init/__cpu_model from linker 2015-04-17 05:58:07 -07:00
crtfastmath.c Update copyright years. 2015-01-05 13:33:28 +01:00
crti.S Update copyright years. 2015-01-05 13:33:28 +01:00
crtn.S Update copyright years. 2015-01-05 13:33:28 +01:00
crtprec.c Update copyright years. 2015-01-05 13:33:28 +01:00
cygming-crtbegin.c Update copyright years. 2015-01-05 13:33:28 +01:00
cygming-crtend.c Update copyright years. 2015-01-05 13:33:28 +01:00
cygwin.S Update copyright years. 2015-01-05 13:33:28 +01:00
darwin-lib.h Update copyright years. 2015-01-05 13:33:28 +01:00
dragonfly-unwind.h Update copyright years. 2015-01-05 13:33:28 +01:00
elf-lib.h Move Solaris/x86 CRT_GET_RFIB_DATA definition to libgcc 2015-01-27 10:02:26 +00:00
enable-execute-stack-mingw32.c Update copyright years. 2015-01-05 13:33:28 +01:00
gthr-win32.c Update copyright years. 2015-01-05 13:33:28 +01:00
gthr-win32.h re PR libgcc/64885 (libstdc++ all_attributes failure) 2015-03-02 18:02:18 +00:00
libgcc-bsd.ver Update copyright years. 2015-01-05 13:33:28 +01:00
libgcc-cygming.ver Update copyright years. 2015-01-05 13:33:28 +01:00
libgcc-darwin.10.4.ver Update copyright years. 2015-01-05 13:33:28 +01:00
libgcc-darwin.10.5.ver Update copyright years. 2015-01-05 13:33:28 +01:00
libgcc-glibc.ver Update copyright years. 2015-01-05 13:33:28 +01:00
libgcc-sol2.ver Update copyright years. 2015-01-05 13:33:28 +01:00
linux-unwind.h Update copyright years. 2015-01-05 13:33:28 +01:00
morestack.S Update copyright years. 2015-01-05 13:33:28 +01:00
sfp-exceptions.c Update copyright years. 2015-01-05 13:33:28 +01:00
sfp-machine.h Fix i386 FP_TRAPPING_EXCEPTIONS. 2014-09-18 13:00:21 +01:00
sol2-c1.S Update copyright years. 2015-01-05 13:33:28 +01:00
sol2-unwind.h Update copyright years. 2015-01-05 13:33:28 +01:00
t-chkstk Move libgcc1 to toplevel libgcc 2011-11-02 15:03:19 +00:00
t-cpuinfo Use i386-cpuinfo.c on all i386 targets 2012-05-10 08:51:39 +00:00
t-crtfm crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave. 2012-10-26 19:54:50 +02:00
t-crtpc crtprec.c: Move to ../libgcc/config/i386. 2011-07-13 17:39:35 +00:00
t-crtstuff t-slibgcc-darwin: Move to ... 2011-06-01 14:39:17 +00:00
t-cygming cygming-crtend.c (register_frame_ctor): Move atexit call from here... 2014-08-19 17:22:59 +02:00
t-cygwin Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-darwin Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-dlldir Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-dlldir-x Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-dw2-eh Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-freebsd config.gcc (i[34567]86-*-freebsd*, [...]): Add i386/t-fprules-softfp and soft-fp/t-softfp to tmake_file. 2010-09-01 08:42:53 +02:00
t-gthr-win32 Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-interix Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-linux Hide __cpu_indicator_init/__cpu_model from linker 2015-04-17 05:58:07 -07:00
t-mingw-pthread Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-mingw32 Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-nto Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-seh-eh eh_personality.cc (__gxx_personality_seh0): New function. 2012-07-19 07:29:24 +00:00
t-sjlj-eh Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
t-slibgcc-cygming eh_personality.cc (__gxx_personality_seh0): New function. 2012-07-19 07:29:24 +00:00
t-softfp sfp-machine.h (__gcc_CMPtype, [...]): Move ... 2012-06-09 19:32:27 +02:00
t-sol2 Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
t-stack-i386 t-stack (LIB2ADD_ST): Set instead of LIB2ADD. 2010-10-01 19:31:49 +00:00
value-unwind.h Update copyright years. 2015-01-05 13:33:28 +01:00
w32-unwind.h Update copyright years. 2015-01-05 13:33:28 +01:00