Revision tags: release/14.0.0 |
|
#
42b38843 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .h pattern
Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
ca2560bd |
| 17-Oct-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
rtld: fix typo in comment
Sponsored by: The FreeBSD Foundation MFC after: 3 days
|
#
1251cf8a |
| 19-Sep-2022 |
Konstantin Belousov <kib@FreeBSD.org> |
rtld-elf/libmap.c: correct comment
There is no intent to support TLS for rtld.
Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
Revision tags: release/13.1.0, release/12.3.0 |
|
#
33dba3bb |
| 12-Oct-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
rtld-elf/paths.h: Make it usable outside rtld
but still for tightly coupled things like ldd(1)
Rename paths.h to rtld_paths.h. Add guard for rtld-specific externs declarations. Add _COMPAT32_BASENA
rtld-elf/paths.h: Make it usable outside rtld
but still for tightly coupled things like ldd(1)
Rename paths.h to rtld_paths.h. Add guard for rtld-specific externs declarations. Add _COMPAT32_BASENAME_RTLD and _COMPAT32_PATH_RTLD.
Reviewed by: arichardson, jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32464
show more ...
|
#
aa68b3bb |
| 16-Aug-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
rtld: constify most variables holding references to the environment values
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.or
rtld: constify most variables holding references to the environment values
Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D31545
show more ...
|
Revision tags: release/13.0.0 |
|
#
741d7812 |
| 01-Jan-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
rtld: call close(2) after errno is saved
to prevent obliteration of error value from the original syscall. Also improve error message for short read.
Submitted by: Konrad Sewiłło-Jopek MFC after: 1
rtld: call close(2) after errno is saved
to prevent obliteration of error value from the original syscall. Also improve error message for short read.
Submitted by: Konrad Sewiłło-Jopek MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D27864
show more ...
|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0 |
|
#
a63915c2 |
| 28-Jul-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @r350386
Sponsored by: The FreeBSD Foundation
|
Revision tags: release/11.3.0 |
|
#
b54a59f3 |
| 30-Jun-2019 |
Alex Richardson <arichardson@FreeBSD.org> |
Reduce size of rtld by 22% by pulling in less code from libc
Currently RTLD is linked against libc_nossp_pic which means that any libc symbol used in rtld can pull in a lot of depedencies. This was
Reduce size of rtld by 22% by pulling in less code from libc
Currently RTLD is linked against libc_nossp_pic which means that any libc symbol used in rtld can pull in a lot of depedencies. This was causing symbol such as __libc_interposing and all the pthread stubs to be included in RTLD even though they are not required. It turns out most of these dependencies can easily be avoided by providing overrides inside of rtld.
This change is motivated by CHERI, where we have an experimental ABI that requires additional relocation processing to allow the use of function pointers inside of rtld. Instead of adding this self-relocation code to RTLD I attempted to remove most function pointers from RTLD and discovered that most of them came from the libc dependencies instead of being actually used inside rtld.
A nice side-effect of this change is that rtld is now 22% smaller on amd64.
text data bss dec hex filename 0x21eb6 0xce0 0xe60 145910 239f6 /home/alr48/ld-elf-x86.before.so.1 0x1a6ed 0x728 0xdd8 113645 1bbed /home/alr48/ld-elf-x86.after.so.1
The number of R_X86_64_RELATIVE relocations that need to be processed on startup has also gone down from 368 to 187 (almost 50% less).
Reviewed By: kib Differential Revision: https://reviews.freebsd.org/D20663
show more ...
|
Revision tags: release/12.0.0 |
|
#
2a22df74 |
| 04-Nov-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r339813 through r340125.
|
#
3ab5b6bd |
| 29-Oct-2018 |
Alex Richardson <arichardson@FreeBSD.org> |
rtld-elf: fix more warnings to allow compiling with WARNS=6
Reviewed By: kib Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D17154
|
#
903e0ffd |
| 29-Oct-2018 |
Alex Richardson <arichardson@FreeBSD.org> |
rtld-elf: compile with WANRS=4 warnings other than -Wcast-align
Reviewed By: kib Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D17153
|
#
78b64846 |
| 29-Oct-2018 |
Alex Richardson <arichardson@FreeBSD.org> |
rtld-elf: make it compile with WARNS=3
Reviewed By: kib Approved By: brooks (mentor) Differential Revision: https://reviews.freebsd.org/D17150
|
#
01d4e214 |
| 05-Oct-2018 |
Glen Barber <gjb@FreeBSD.org> |
MFH r338661 through r339200.
Sponsored by: The FreeBSD Foundation
|
#
ce44d808 |
| 27-Sep-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338731 through r338987.
|
#
6c306765 |
| 26-Sep-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
When doing lm_add(), check for duplicates.
This is useful when lm_find() moves the match to the global mapping, since lm_find() could be called with a same path more than once.
Reported and tested
When doing lm_add(), check for duplicates.
This is useful when lm_find() moves the match to the global mapping, since lm_find() could be called with a same path more than once.
Reported and tested by: Andreas Longwitz <longwitz@incore.de> Sponsored by: The FreeBSD Foundation Approved by: re (gjb) MFC after: 1 week
show more ...
|
#
3af64f03 |
| 11-Sep-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r338392 through r338594.
|
#
c1a0a86e |
| 02-Sep-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Style cleanup. No functional changes.
Sponsored by: The FreeBSD Foundation MFC after: 3 days Approved by: re (rgrimes)
|
Revision tags: release/11.2.0 |
|
#
c2c014f2 |
| 07-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r323559 through r325504.
|
#
3c5ab8c1 |
| 30-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r325119
|
#
152036a0 |
| 29-Oct-2017 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Plug memory leak on error case.
Reported by: Coverity CID: 1382112 MFC after: 2 weeks
|
#
5ff880dc |
| 26-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r325004
|
#
a8b31c14 |
| 24-Oct-2017 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Use xmalloc and read(2) instead of mmap(2) to read in libmap.conf(5). This removes the need to call munmap(2) afterwards.
MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://
Use xmalloc and read(2) instead of mmap(2) to read in libmap.conf(5). This removes the need to call munmap(2) afterwards.
MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12767
show more ...
|
#
dd467c8a |
| 23-Oct-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r324884
|
#
6b61e3e4 |
| 22-Oct-2017 |
Edward Tomasz Napierala <trasz@FreeBSD.org> |
Don't call realpath(3) from libmap rtld code. This gets rid of a few calls to fstatat(2) at binary startup; the difference looks like this:
--- przed 2017-10-14 13:55:49.983528000 +0100 +++ po
Don't call realpath(3) from libmap rtld code. This gets rid of a few calls to fstatat(2) at binary startup; the difference looks like this:
--- przed 2017-10-14 13:55:49.983528000 +0100 +++ po 2017-10-14 14:10:39.134343000 +0100 @@ -1,15 +1,10 @@ mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366173184 (0x800623000) issetugid() = 0 (0x0) -fstatat(AT_FDCWD,"/etc",{ mode=drwxr-xr-x ,inode=1364352,size=2560,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) -fstatat(AT_FDCWD,"/etc/libmap.conf",{ mode=-rw-r--r-- ,inode=1373288,size=102,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3) fstat(3,{ mode=-rw-r--r-- ,inode=1373288,size=102,blksize=32768 }) = 0 (0x0) mmap(0x0,102,PROT_READ,MAP_PRIVATE,3,0x0) = 34366205952 (0x80062b000) close(3) = 0 (0x0) -fstatat(AT_FDCWD,"/usr",{ mode=drwxr-xr-x ,inode=561792,size=512,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) -fstatat(AT_FDCWD,"/usr/local",{ mode=drwxr-xr-x ,inode=561800,size=512,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) -fstatat(AT_FDCWD,"/usr/local/etc",{ mode=drwxr-xr-x ,inode=653279,size=1536,blksize=32768 },AT_SYMLINK_NOFOLLOW) = 0 (0x0) -fstatat(AT_FDCWD,"/usr/local/etc/libmap.d",0x7fffffffcf50,AT_SYMLINK_NOFOLLOW) ERR#2 'No such file or directory' +open("/usr/local/etc/libmap.d",O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,0165) ERR#2 'No such file or directory' munmap(0x80062b000,102) = 0 (0x0) openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) = 3 (0x3) read(3,"Ehnt\^A\0\0\0\M^@\0\0\0\M-2\0\0"...,128) = 128 (0x80)
Reviewed by: kib MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12741
show more ...
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0 |
|
#
b626f5a7 |
| 04-Jan-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH r289384-r293170
Sponsored by: The FreeBSD Foundation
|