]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Implement a BSD licensed crtbegin/crtend
authorandrew <andrew@FreeBSD.org>
Thu, 25 Oct 2018 17:39:41 +0000 (17:39 +0000)
committerandrew <andrew@FreeBSD.org>
Thu, 25 Oct 2018 17:39:41 +0000 (17:39 +0000)
commit5ca9ee52a83e81f03c772e65883a1225e6e96542
tree8e38af4c0995bdf5f590fb13f735df0b9ff1a3d7
parent464cf32c541b6b3cc74b0f3cf8078fae465d54ad
Implement a BSD licensed crtbegin/crtend

These are needed for .ctors/.dtors and .jcr handling. The former needs
all the function pointers to be called in the correct order from the
.init/.fini section. The latter just needs to call a gcj specific function
if it exists with a pointer to the start of the .jcr section.

This is currently disabled until __dso_handle support is added.

Reviewed by: emaste
MFC after: 1 month
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D17587
20 files changed:
gnu/lib/Makefile
lib/csu/Makefile
lib/csu/Makefile.inc
lib/csu/aarch64/crt.h [new file with mode: 0644]
lib/csu/amd64/crt.h [new file with mode: 0644]
lib/csu/common/crtbegin.c [new file with mode: 0644]
lib/csu/common/crtend.c [new file with mode: 0644]
lib/csu/i386/crt.h [new file with mode: 0644]
lib/csu/powerpc64/crt.h [new file with mode: 0644]
lib/csu/tests/Makefile [new file with mode: 0644]
lib/csu/tests/Makefile.inc [new file with mode: 0644]
lib/csu/tests/Makefile.tests [new file with mode: 0644]
lib/csu/tests/cxx_constructors.cc [new file with mode: 0644]
lib/csu/tests/dynamic/Makefile [new file with mode: 0644]
lib/csu/tests/fini_test.c [new file with mode: 0644]
lib/csu/tests/init_test.c [new file with mode: 0644]
lib/csu/tests/static/Makefile [new file with mode: 0644]
share/mk/src.opts.mk
tools/build/options/WITHOUT_BSD_CRTBEGIN [new file with mode: 0644]
tools/build/options/WITH_BSD_CRTBEGIN [new file with mode: 0644]