#
1.5 |
|
10-May-2019 |
guenther |
ld.so boot cleanup support: - put functions and data which are only used before calling the executable's start function into their own page-aligned segments for unmapping (only done on amd64, arm64, armv7, powerpc, and sparc64 so far) - pass .init_array and .preinit_array functions an addition argument which is a callback to get a structure which includes a function that frees the boot text and data - sometimes delay doing RELRO processing: for a shared-object marked DF_1_INITFIRST do it after the object's .init_array, for the executable do it after the .preinit_array - improve test-ld.so to link against libpthread and trigger its initialization late libc changes to use this will come later
ok kettenis@
|
Revision tags: OPENBSD_6_5_BASE
|
#
1.4 |
|
21-Dec-2018 |
guenther |
Add support for {preinit,init,fini}_array sections in static binaries
ok kettenis@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
|
#
1.3 |
|
21-Jan-2017 |
guenther |
Pull in declarations for main() and __init() to make clang happy. Mark __init() as hidden
ok kettenis@ deraadt@
|
#
1.2 |
|
21-Jan-2017 |
guenther |
Declare the symbols that label the .ctors, .dtors, .eh_frame, and .jcr sections as extern hidden arrays of indefinite size, so that the compiler (well, clang) doesn't believe it knows the exact contents and thus optimize things into infinite loops. Actually set the symbols to be in the sections and insert the leading and trailing values via __asm().
Problem pointed out by patrick@ testing and ok kettenis@
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
|
#
1.1 |
|
26-Jan-2004 |
espie |
small clean-up: typedef to desambiguate const, prototypes...
ok drahn@, some time ago.
|
#
1.4 |
|
21-Dec-2018 |
guenther |
Add support for {preinit,init,fini}_array sections in static binaries
ok kettenis@
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE
|
#
1.3 |
|
21-Jan-2017 |
guenther |
Pull in declarations for main() and __init() to make clang happy. Mark __init() as hidden
ok kettenis@ deraadt@
|
#
1.2 |
|
21-Jan-2017 |
guenther |
Declare the symbols that label the .ctors, .dtors, .eh_frame, and .jcr sections as extern hidden arrays of indefinite size, so that the compiler (well, clang) doesn't believe it knows the exact contents and thus optimize things into infinite loops. Actually set the symbols to be in the sections and insert the leading and trailing values via __asm().
Problem pointed out by patrick@ testing and ok kettenis@
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
|
#
1.1 |
|
26-Jan-2004 |
espie |
small clean-up: typedef to desambiguate const, prototypes...
ok drahn@, some time ago.
|
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.3 |
|
21-Jan-2017 |
guenther |
Pull in declarations for main() and __init() to make clang happy. Mark __init() as hidden
ok kettenis@ deraadt@
|
#
1.2 |
|
21-Jan-2017 |
guenther |
Declare the symbols that label the .ctors, .dtors, .eh_frame, and .jcr sections as extern hidden arrays of indefinite size, so that the compiler (well, clang) doesn't believe it knows the exact contents and thus optimize things into infinite loops. Actually set the symbols to be in the sections and insert the leading and trailing values via __asm().
Problem pointed out by patrick@ testing and ok kettenis@
|
Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
|
#
1.1 |
|
26-Jan-2004 |
espie |
small clean-up: typedef to desambiguate const, prototypes...
ok drahn@, some time ago.
|