gcc/libgcc
Frederic Konrad 4099d6501e Tigthen libc_internal and crtstuff for VxWorks shared objects
This change tightens and documents the use of libc_internal, then
strengthens the VxWorks crtstuff objects for the support of shared
libraries. In particular:

- Define __dso_handle, which libstdc++.so requires,

- Provide _init and _fini functions to run through the init/fini arrays
  for shared libs in configurations which HAVE_INITFINI_ARRAY_SUPPORT.

The init/fini functions are provided by libc_internal.a for static links
but with slightly different names and we don't want to risk dragging other
libc_internal contents in the closure accidentally so make sure we don't
link with it.

As for the !vxworks crtstuff, the new shared libs specific bits are
conditioned by a CRTSTUFFS_O macro, for which we provide new Makefile
fragment.

The bits to actually use the fragment and the shared objects will
be added by a forthcoming change, as part of a more general configury
update for shared libs.

The change also adds guards the eh table registration code
in vxcrtstuff so the objects can be used for either init/fini
or eh tables independently.

2021-12-07  Fred Konrad  <konrad@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

gcc/
	* config/vxworks.h (VXWORKS_BASE_LIBS_RTP): Guard -lc_internal
	on !shared+!non-static and document.
	(VXWORKS_LIB_SPEC): Remove the bits intended to drag the
	init/fini functions from libc_internal in the shared lib case.
	(VX_CRTBEGIN_SPEC/VX_CRTEND_SPEC): Use vxcrtstuff objects also in
	configurations with shared lib and INITFINI_ARRAY support.

libgcc/
	* config/t-vxcrtstuffS: New Makefile fragment.
	* config/vxcrtstuff.c: Provide __dso_handle. Provide _init/_fini
	functions for INITFINI_ARRAY support in shared libs and guard
	the definition of eh table registration functions on conditions
	indicating they are needed.
2021-12-13 18:03:03 +00:00
..
config Tigthen libc_internal and crtstuff for VxWorks shared objects 2021-12-13 18:03:03 +00:00
soft-fp Update hf soft-fp from glibc. 2021-09-02 14:11:53 +08:00
ChangeLog Daily bump. 2021-12-12 00:16:45 +00:00
config.host Preserve cpu specific CRTSTUFF_T_CFLAGS on powerpc-vxworks7 2021-12-13 17:59:54 +00:00
config.in
configure rs6000: Fix typos in float128 ISA3.1 support 2021-06-22 23:09:30 -05:00
configure.ac rs6000: Fix typos in float128 ISA3.1 support 2021-06-22 23:09:30 -05:00
crtstuff.c
dfp-bit.c
dfp-bit.h
divmod.c
emutls.c libgcc, emutls: Allow building weak definitions of the emutls functions. 2021-11-19 19:53:39 +00:00
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
gcov.h gcov: Add __gcov_info_to_gdca() 2021-08-06 07:28:26 +02:00
gen-fixed.sh
generic-morestack-thread.c
generic-morestack.c
generic-morestack.h
gstdint.h
gthr-posix.h
gthr-single.h
gthr.h
libgcc2.c Fix for powerpc64 long double complex divide failure 2021-10-03 18:07:06 -04:00
libgcc2.h
libgcc-std.ver.in
libgcov-driver-system.c
libgcov-driver.c gcov: make profile merging smarter 2021-10-13 15:26:58 +02:00
libgcov-interface.c
libgcov-merge.c
libgcov-profiler.c
libgcov-util.c gcov: make profile merging smarter 2021-10-13 15:26:58 +02:00
libgcov.h gcov: make profile merging smarter 2021-10-13 15:26:58 +02:00
Makefile.in Explicitly add -msse2 to compile HF related libgcc source file. 2021-09-06 15:13:14 +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
udivhi3.c
udivmod.c
udivmodhi4.c
udivmodsi4.c
unwind-arm-common.inc Fix arm target build with inhibit_libc 2021-09-01 17:50:00 +02:00
unwind-c.c
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-dip.c libgcc: Split FDE search code from PT_GNU_EH_FRAME lookup 2021-11-25 18:43:55 +01:00
unwind-dw2-fde.c
unwind-dw2-fde.h
unwind-dw2.c
unwind-dw2.h
unwind-generic.h
unwind-pe.h
unwind-seh.c
unwind-sjlj.c
unwind.inc libgcc: Fix backtrace fallback on PowerPC Big-endian 2021-11-11 15:29:25 +00:00
vtv_end_preinit.c
vtv_end.c
vtv_start_preinit.c
vtv_start.c