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
Makefile.in Explicitly add -msse2 to compile HF related libgcc source file. 2021-09-06 15:13:14 +08:00
config.host Preserve cpu specific CRTSTUFF_T_CFLAGS on powerpc-vxworks7 2021-12-13 17:59:54 +00:00
config.in gcov: use mmap pools for KVP. 2021-03-03 14:21:45 +01:00
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 Update copyright years. 2021-01-04 10:26:59 +01:00
dfp-bit.c Fix a comment line that was too long. 2021-02-22 15:54:39 -05:00
dfp-bit.h Require GLIBC 2.32 for Decimal/_Float128 conversions. 2021-03-29 16:43:14 -04:00
divmod.c Update copyright years. 2021-01-04 10:26:59 +01:00
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 Update copyright years. 2021-01-04 10:26:59 +01:00
find-symver.awk Update copyright years. 2021-01-04 10:26:59 +01:00
fixed-bit.c Update copyright years. 2021-01-04 10:26:59 +01:00
fixed-bit.h Update copyright years. 2021-01-04 10:26:59 +01:00
fixed-obj.mk
floatunsidf.c
floatunsisf.c
floatunsitf.c
floatunsixf.c
fp-bit.c Update copyright years. 2021-01-04 10:26:59 +01:00
fp-bit.h Update copyright years. 2021-01-04 10:26:59 +01:00
gbl-ctors.h Update copyright years. 2021-01-04 10:26:59 +01:00
gcov.h gcov: Add __gcov_info_to_gdca() 2021-08-06 07:28:26 +02:00
gen-fixed.sh
generic-morestack-thread.c Update copyright years. 2021-01-04 10:26:59 +01:00
generic-morestack.c Update copyright years. 2021-01-04 10:26:59 +01:00
generic-morestack.h Update copyright years. 2021-01-04 10:26:59 +01:00
gstdint.h
gthr-posix.h Update copyright years. 2021-01-04 10:26:59 +01:00
gthr-single.h Update copyright years. 2021-01-04 10:26:59 +01:00
gthr.h Update copyright years. 2021-01-04 10:26:59 +01:00
libgcc-std.ver.in Update copyright years. 2021-01-04 10:26:59 +01:00
libgcc2.c Fix for powerpc64 long double complex divide failure 2021-10-03 18:07:06 -04:00
libgcc2.h Update copyright years. 2021-01-04 10:26:59 +01:00
libgcov-driver-system.c Update copyright years. 2021-01-04 10:26:59 +01:00
libgcov-driver.c gcov: make profile merging smarter 2021-10-13 15:26:58 +02:00
libgcov-interface.c Update copyright years. 2021-01-04 10:26:59 +01:00
libgcov-merge.c Restore profile reproducibility. 2021-01-25 13:30:34 +01:00
libgcov-profiler.c Update copyright years. 2021-01-04 10:26:59 +01:00
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
memcmp.c
memcpy.c
memmove.c
memset.c
mkheader.sh Update copyright years. 2021-01-04 10:26:59 +01:00
mkmap-flat.awk Update copyright years. 2021-01-04 10:26:59 +01:00
mkmap-symver.awk Update copyright years. 2021-01-04 10:26:59 +01:00
offloadstuff.c Update copyright years. 2021-01-04 10:26:59 +01:00
shared-object.mk
siditi-object.mk
static-object.mk
sync.c Update copyright years. 2021-01-04 10:26:59 +01:00
udivhi3.c Update copyright years. 2021-01-04 10:26:59 +01:00
udivmod.c Update copyright years. 2021-01-04 10:26:59 +01:00
udivmodhi4.c Update copyright years. 2021-01-04 10:26:59 +01:00
udivmodsi4.c Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-arm-common.inc Fix arm target build with inhibit_libc 2021-09-01 17:50:00 +02:00
unwind-c.c Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-compat.c Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-compat.h Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-dw2-fde-compat.c Update copyright years. 2021-01-04 10:26:59 +01:00
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 Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-dw2-fde.h Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-dw2.c Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-dw2.h Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-generic.h Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-pe.h Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-seh.c Update copyright years. 2021-01-04 10:26:59 +01:00
unwind-sjlj.c Update copyright years. 2021-01-04 10:26:59 +01:00
unwind.inc libgcc: Fix backtrace fallback on PowerPC Big-endian 2021-11-11 15:29:25 +00:00
vtv_end.c Update copyright years. 2021-01-04 10:26:59 +01:00
vtv_end_preinit.c Update copyright years. 2021-01-04 10:26:59 +01:00
vtv_start.c Update copyright years. 2021-01-04 10:26:59 +01:00
vtv_start_preinit.c Update copyright years. 2021-01-04 10:26:59 +01:00