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
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
t-cpuinfo
t-crtfm
t-crtpc
t-crtstuff
t-cygming cygming-crtend.c (register_frame_ctor): Move atexit call from here... 2014-08-19 17:22:59 +02:00
t-cygwin
t-darwin
t-dlldir
t-dlldir-x
t-dw2-eh
t-freebsd
t-gthr-win32
t-interix
t-linux Hide __cpu_indicator_init/__cpu_model from linker 2015-04-17 05:58:07 -07:00
t-mingw32
t-mingw-pthread
t-nto
t-seh-eh
t-sjlj-eh
t-slibgcc-cygming
t-softfp
t-sol2
t-stack-i386
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