#
1.11 |
|
08-Jul-2023 |
jasper |
turn an ifdef'd _dl_printf call into DL_DEB and various whitespace fixes
sure deraadt@
|
#
1.10 |
|
24-Apr-2023 |
kettenis |
Since ENTRY() already inserts a BTI instructions so don't add another one.
ok patrick@
|
#
1.9 |
|
31-Mar-2023 |
kettenis |
Call entry point of the executable through register x17. This allows it to be a normal C function that starts with "bti c" when BTI contro flow integretry enforcement is in place. Add "bti c" to _dl_bind_start().
Remove unused _rtld_tlsdesc() function to avoid having to add "bti c" to it.
ok deraadt@
|
Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.8 |
|
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_4_BASE OPENBSD_6_5_BASE
|
#
1.7 |
|
01-Oct-2018 |
mortimer |
Add retguard to arm64 ld.so. ok kettenis@
|
#
1.6 |
|
24-Jul-2018 |
kettenis |
Fix address calculation for _DYNAMIC. We want to address of _DYNAMIC itself, not the address of its GOT entry. The current code mixed the high bits of the GOT entry address with the low bits of the true address. This only worked by accident for small binaries where _DYNAMIC and its GOT entry happen to reside on the same page.
ok guenther@, mortimer@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.5 |
|
21-Dec-2017 |
kettenis |
Implement missing bits to support lazy binding. Note that the code deliberately does not save the floating-point argument registers before calling _dl_bind(). Doing so would force an FPU context switch upon every function call through the PLT. But since we compile ld.so with -march=armv8-a+nofp+nosimd this is safe since nothing in the _dl_bind() codepath uses he FPU registers.
ok guenther@, drahn@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.4 |
|
27-Aug-2017 |
deraadt |
Replace heaps of hand-written syscall stubs with a simpler framework which is largely MI. ok visa kettenis
|
#
1.3 |
|
04-Jun-2017 |
patrick |
Remove the sigprocmask stub that has long been made unused since the use of kbind. The code was #if 0'd anyway.
Reminded by miod@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.2 |
|
24-Jan-2017 |
guenther |
On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of simply exiting, via helper functions _dl_die(), _dl_diedie(), and _dl_oom().
prompted by a complaint from jsing@ ok jsing@ deraadt@
|
#
1.1 |
|
11-Jan-2017 |
patrick |
Add support for AArch64.
|
#
1.10 |
|
24-Apr-2023 |
kettenis |
Since ENTRY() already inserts a BTI instructions so don't add another one.
ok patrick@
|
#
1.9 |
|
31-Mar-2023 |
kettenis |
Call entry point of the executable through register x17. This allows it to be a normal C function that starts with "bti c" when BTI contro flow integretry enforcement is in place. Add "bti c" to _dl_bind_start().
Remove unused _rtld_tlsdesc() function to avoid having to add "bti c" to it.
ok deraadt@
|
Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.8 |
|
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_4_BASE OPENBSD_6_5_BASE
|
#
1.7 |
|
01-Oct-2018 |
mortimer |
Add retguard to arm64 ld.so. ok kettenis@
|
#
1.6 |
|
24-Jul-2018 |
kettenis |
Fix address calculation for _DYNAMIC. We want to address of _DYNAMIC itself, not the address of its GOT entry. The current code mixed the high bits of the GOT entry address with the low bits of the true address. This only worked by accident for small binaries where _DYNAMIC and its GOT entry happen to reside on the same page.
ok guenther@, mortimer@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.5 |
|
21-Dec-2017 |
kettenis |
Implement missing bits to support lazy binding. Note that the code deliberately does not save the floating-point argument registers before calling _dl_bind(). Doing so would force an FPU context switch upon every function call through the PLT. But since we compile ld.so with -march=armv8-a+nofp+nosimd this is safe since nothing in the _dl_bind() codepath uses he FPU registers.
ok guenther@, drahn@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.4 |
|
27-Aug-2017 |
deraadt |
Replace heaps of hand-written syscall stubs with a simpler framework which is largely MI. ok visa kettenis
|
#
1.3 |
|
04-Jun-2017 |
patrick |
Remove the sigprocmask stub that has long been made unused since the use of kbind. The code was #if 0'd anyway.
Reminded by miod@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.2 |
|
24-Jan-2017 |
guenther |
On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of simply exiting, via helper functions _dl_die(), _dl_diedie(), and _dl_oom().
prompted by a complaint from jsing@ ok jsing@ deraadt@
|
#
1.1 |
|
11-Jan-2017 |
patrick |
Add support for AArch64.
|
#
1.9 |
|
31-Mar-2023 |
kettenis |
Call entry point of the executable through register x17. This allows it to be a normal C function that starts with "bti c" when BTI contro flow integretry enforcement is in place. Add "bti c" to _dl_bind_start().
Remove unused _rtld_tlsdesc() function to avoid having to add "bti c" to it.
ok deraadt@
|
Revision tags: OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE OPENBSD_7_3_BASE
|
#
1.8 |
|
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_4_BASE OPENBSD_6_5_BASE
|
#
1.7 |
|
01-Oct-2018 |
mortimer |
Add retguard to arm64 ld.so. ok kettenis@
|
#
1.6 |
|
24-Jul-2018 |
kettenis |
Fix address calculation for _DYNAMIC. We want to address of _DYNAMIC itself, not the address of its GOT entry. The current code mixed the high bits of the GOT entry address with the low bits of the true address. This only worked by accident for small binaries where _DYNAMIC and its GOT entry happen to reside on the same page.
ok guenther@, mortimer@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.5 |
|
21-Dec-2017 |
kettenis |
Implement missing bits to support lazy binding. Note that the code deliberately does not save the floating-point argument registers before calling _dl_bind(). Doing so would force an FPU context switch upon every function call through the PLT. But since we compile ld.so with -march=armv8-a+nofp+nosimd this is safe since nothing in the _dl_bind() codepath uses he FPU registers.
ok guenther@, drahn@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.4 |
|
27-Aug-2017 |
deraadt |
Replace heaps of hand-written syscall stubs with a simpler framework which is largely MI. ok visa kettenis
|
#
1.3 |
|
04-Jun-2017 |
patrick |
Remove the sigprocmask stub that has long been made unused since the use of kbind. The code was #if 0'd anyway.
Reminded by miod@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.2 |
|
24-Jan-2017 |
guenther |
On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of simply exiting, via helper functions _dl_die(), _dl_diedie(), and _dl_oom().
prompted by a complaint from jsing@ ok jsing@ deraadt@
|
#
1.1 |
|
11-Jan-2017 |
patrick |
Add support for AArch64.
|
#
1.8 |
|
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_4_BASE OPENBSD_6_5_BASE
|
#
1.7 |
|
01-Oct-2018 |
mortimer |
Add retguard to arm64 ld.so. ok kettenis@
|
#
1.6 |
|
24-Jul-2018 |
kettenis |
Fix address calculation for _DYNAMIC. We want to address of _DYNAMIC itself, not the address of its GOT entry. The current code mixed the high bits of the GOT entry address with the low bits of the true address. This only worked by accident for small binaries where _DYNAMIC and its GOT entry happen to reside on the same page.
ok guenther@, mortimer@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.5 |
|
21-Dec-2017 |
kettenis |
Implement missing bits to support lazy binding. Note that the code deliberately does not save the floating-point argument registers before calling _dl_bind(). Doing so would force an FPU context switch upon every function call through the PLT. But since we compile ld.so with -march=armv8-a+nofp+nosimd this is safe since nothing in the _dl_bind() codepath uses he FPU registers.
ok guenther@, drahn@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.4 |
|
27-Aug-2017 |
deraadt |
Replace heaps of hand-written syscall stubs with a simpler framework which is largely MI. ok visa kettenis
|
#
1.3 |
|
04-Jun-2017 |
patrick |
Remove the sigprocmask stub that has long been made unused since the use of kbind. The code was #if 0'd anyway.
Reminded by miod@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.2 |
|
24-Jan-2017 |
guenther |
On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of simply exiting, via helper functions _dl_die(), _dl_diedie(), and _dl_oom().
prompted by a complaint from jsing@ ok jsing@ deraadt@
|
#
1.1 |
|
11-Jan-2017 |
patrick |
Add support for AArch64.
|
#
1.7 |
|
01-Oct-2018 |
mortimer |
Add retguard to arm64 ld.so. ok kettenis@
|
#
1.6 |
|
24-Jul-2018 |
kettenis |
Fix address calculation for _DYNAMIC. We want to address of _DYNAMIC itself, not the address of its GOT entry. The current code mixed the high bits of the GOT entry address with the low bits of the true address. This only worked by accident for small binaries where _DYNAMIC and its GOT entry happen to reside on the same page.
ok guenther@, mortimer@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.5 |
|
21-Dec-2017 |
kettenis |
Implement missing bits to support lazy binding. Note that the code deliberately does not save the floating-point argument registers before calling _dl_bind(). Doing so would force an FPU context switch upon every function call through the PLT. But since we compile ld.so with -march=armv8-a+nofp+nosimd this is safe since nothing in the _dl_bind() codepath uses he FPU registers.
ok guenther@, drahn@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.4 |
|
27-Aug-2017 |
deraadt |
Replace heaps of hand-written syscall stubs with a simpler framework which is largely MI. ok visa kettenis
|
#
1.3 |
|
04-Jun-2017 |
patrick |
Remove the sigprocmask stub that has long been made unused since the use of kbind. The code was #if 0'd anyway.
Reminded by miod@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.2 |
|
24-Jan-2017 |
guenther |
On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of simply exiting, via helper functions _dl_die(), _dl_diedie(), and _dl_oom().
prompted by a complaint from jsing@ ok jsing@ deraadt@
|
#
1.1 |
|
11-Jan-2017 |
patrick |
Add support for AArch64.
|
#
1.6 |
|
24-Jul-2018 |
kettenis |
Fix address calculation for _DYNAMIC. We want to address of _DYNAMIC itself, not the address of its GOT entry. The current code mixed the high bits of the GOT entry address with the low bits of the true address. This only worked by accident for small binaries where _DYNAMIC and its GOT entry happen to reside on the same page.
ok guenther@, mortimer@
|
Revision tags: OPENBSD_6_3_BASE
|
#
1.5 |
|
21-Dec-2017 |
kettenis |
Implement missing bits to support lazy binding. Note that the code deliberately does not save the floating-point argument registers before calling _dl_bind(). Doing so would force an FPU context switch upon every function call through the PLT. But since we compile ld.so with -march=armv8-a+nofp+nosimd this is safe since nothing in the _dl_bind() codepath uses he FPU registers.
ok guenther@, drahn@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.4 |
|
27-Aug-2017 |
deraadt |
Replace heaps of hand-written syscall stubs with a simpler framework which is largely MI. ok visa kettenis
|
#
1.3 |
|
04-Jun-2017 |
patrick |
Remove the sigprocmask stub that has long been made unused since the use of kbind. The code was #if 0'd anyway.
Reminded by miod@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.2 |
|
24-Jan-2017 |
guenther |
On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of simply exiting, via helper functions _dl_die(), _dl_diedie(), and _dl_oom().
prompted by a complaint from jsing@ ok jsing@ deraadt@
|
#
1.1 |
|
11-Jan-2017 |
patrick |
Add support for AArch64.
|
#
1.5 |
|
21-Dec-2017 |
kettenis |
Implement missing bits to support lazy binding. Note that the code deliberately does not save the floating-point argument registers before calling _dl_bind(). Doing so would force an FPU context switch upon every function call through the PLT. But since we compile ld.so with -march=armv8-a+nofp+nosimd this is safe since nothing in the _dl_bind() codepath uses he FPU registers.
ok guenther@, drahn@
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.4 |
|
27-Aug-2017 |
deraadt |
Replace heaps of hand-written syscall stubs with a simpler framework which is largely MI. ok visa kettenis
|
#
1.3 |
|
04-Jun-2017 |
patrick |
Remove the sigprocmask stub that has long been made unused since the use of kbind. The code was #if 0'd anyway.
Reminded by miod@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.2 |
|
24-Jan-2017 |
guenther |
On fatal errors, kill ourselves with thrkill(0,9,NULL) instead of simply exiting, via helper functions _dl_die(), _dl_diedie(), and _dl_oom().
prompted by a complaint from jsing@ ok jsing@ deraadt@
|
#
1.1 |
|
11-Jan-2017 |
patrick |
Add support for AArch64.
|