gcc/libgcc
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
..
config Hide __cpu_indicator_init/__cpu_model from linker 2015-04-17 05:58:07 -07:00
soft-fp
ChangeLog Hide __cpu_indicator_init/__cpu_model from linker 2015-04-17 05:58:07 -07:00
config.host Hide __cpu_indicator_init/__cpu_model from linker 2015-04-17 05:58:07 -07:00
config.in re PR libgcc/65038 ([regression 5] Unable to find ftw.h for libgcov-util.c) 2015-02-27 14:19:38 +01:00
configure re PR target/65351 (libiberty's pic version contains non-pic code on m32 darwin; causes bootstrap fail building libcc1.) 2015-04-10 06:43:52 +00:00
configure.ac Implement call0 ABI for xtensa 2015-03-03 17:44:01 +00:00
crtstuff.c
dfp-bit.c
dfp-bit.h
divmod.c
empty.mk
emutls.c
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c
find-symver.awk
fixed-bit.c
fixed-bit.h
fixed-obj.mk
floatunsidf.c
floatunsisf.c
floatunsitf.c
floatunsixf.c
fp-bit.c
fp-bit.h
gbl-ctors.h
gen-fixed.sh
generic-morestack-thread.c
generic-morestack.c
generic-morestack.h
gstdint.h
gthr-posix.h
gthr-single.h gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty do-while loop as macro body to avoid warnings. 2015-04-15 09:29:12 -06:00
gthr.h
libgcc2.c
libgcc2.h
libgcc-std.ver.in
libgcov-driver-system.c re PR gcov-profile/61889 (gcov-tool.c uses nftw, ftw.h) 2015-02-10 15:13:13 +01:00
libgcov-driver.c
libgcov-interface.c
libgcov-merge.c
libgcov-profiler.c
libgcov-util.c re PR libgcc/65038 ([regression 5] Unable to find ftw.h for libgcov-util.c) 2015-02-27 14:19:38 +01:00
libgcov.h
Makefile.in Committing VTV Cygwin patch for Patrick Wollgast 2015-01-29 00:03:56 -08:00
memcmp.c
memcpy.c
memmove.c
memset.c
mkheader.sh
mkmap-flat.awk
mkmap-symver.awk
offloadstuff.c
shared-object.mk
siditi-object.mk
static-object.mk
sync.c
udivmod.c
udivmodsi4.c
unwind-arm-common.inc
unwind-c.c
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-dip.c Move Solaris/x86 CRT_GET_RFIB_DATA definition to libgcc 2015-01-27 10:02:26 +00:00
unwind-dw2-fde.c
unwind-dw2-fde.h unwind-dw2-fde.h (last_fde): Use "(const fde *)" instead of "(char *)" to avoid qualifier warning by 'xgcc'... 2015-01-22 09:22:31 -07:00
unwind-dw2.c
unwind-dw2.h
unwind-generic.h
unwind-pe.h
unwind-seh.c
unwind-sjlj.c
unwind.inc
vtv_end_preinit.c
vtv_end.c
vtv_start_preinit.c
vtv_start.c