|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0 |
|
| #
2a3873b3 |
| 12-Jun-2019 |
Konstantin Belousov <[email protected]> |
MFC r347151,347181,347968,348421,348698,348701: Switch to use shared vnode locks for text files during image activation.
For MFC, VOP_GET_WRITECOUNT was left in the slot for KBI stability, but it is
MFC r347151,347181,347968,348421,348698,348701: Switch to use shared vnode locks for text files during image activation.
For MFC, VOP_GET_WRITECOUNT was left in the slot for KBI stability, but it is unused.
show more ...
|
| #
ca80d1f4 |
| 22-Apr-2019 |
Konstantin Belousov <[email protected]> |
MFC r346225: Fix order of destructors between main binary and libraries.
|
| #
6bd1b82e |
| 12-Apr-2019 |
Konstantin Belousov <[email protected]> |
MFC r345703: Fix initial exec TLS mode for dynamically loaded shared objects.
|
| #
75114429 |
| 30-Mar-2019 |
Konstantin Belousov <[email protected]> |
MFC r345620: rtld: disable relro enforcement for irelative relocation processing.
|
| #
adbc4082 |
| 11-Feb-2019 |
Konstantin Belousov <[email protected]> |
MFC r339877-r339879,r343564-r343566,r343580,r343754: Untangle jemalloc and mutexes initialization.
The merge includes required warnings cleanup by arichardson, both to avoid conflicts and to make rt
MFC r339877-r339879,r343564-r343566,r343580,r343754: Untangle jemalloc and mutexes initialization.
The merge includes required warnings cleanup by arichardson, both to avoid conflicts and to make rtld_malloc.c compilable with the libthr WARNS settings.
show more ...
|
| #
ed63bb9d |
| 03-Feb-2019 |
Konstantin Belousov <[email protected]> |
MFC r343484: Remove now redundand ifunc relocation code which should have been removed as part of r341441.
|
| #
b6795683 |
| 07-Jan-2019 |
Michal Meloun <[email protected]> |
MFC r342113:
Improve R_AARCH64_TLSDESC relocation. The original code did not support dynamically loaded libraries and used suboptimal access to TLS variables. New implementation removes lazy
MFC r342113:
Improve R_AARCH64_TLSDESC relocation. The original code did not support dynamically loaded libraries and used suboptimal access to TLS variables. New implementation removes lazy resolving of TLS relocation - due to flaw in TLSDESC design is impossible to switch resolver function at runtime without expensive locking.
show more ...
|
| #
a2093b45 |
| 10-Dec-2018 |
Konstantin Belousov <[email protected]> |
MFC r341439: Provide naive but self-contained implementations of memset(3) and bzero(3) for rtld.
|
| #
e60db3bf |
| 10-Dec-2018 |
Konstantin Belousov <[email protected]> |
MFC r341441: Some fixes for LD_BIND_NOW + ifuncs.
|
| #
fcc9b1b6 |
| 07-Dec-2018 |
Konstantin Belousov <[email protected]> |
MFC r340858: rtld: parse FreeBSD Feature Control note on the object load.
|
|
Revision tags: release/12.0.0 |
|
| #
9d196240 |
| 27-Nov-2018 |
Konstantin Belousov <[email protected]> |
MFC r340675: rtld: when immediate bind mode is requested, process irelocs in PLT immediately after other PLT relocs.
|
| #
6b05d8ea |
| 07-Nov-2018 |
Konstantin Belousov <[email protected]> |
MFC r339896: Initialize ifunc calling machinery earlier.
Approved by: re (gjb)
|
| #
6b7a2785 |
| 07-Nov-2018 |
Ed Maste <[email protected]> |
MFC r340137: rtld: move relro enforcement after ifunc processing
Previously the combination of relro (implicit), -z now and ifunc use resulted in a segfault when applying ifuncs after relro (test bi
MFC r340137: rtld: move relro enforcement after ifunc processing
Previously the combination of relro (implicit), -z now and ifunc use resulted in a segfault when applying ifuncs after relro (test binary here just calls amd64_get_fsbase()):
| % env LD_DEBUG=1 libexec/rtld-elf/obj/ld-elf.so.1 a.out | ... | enforcing main obj relro | ... | resolving ifuncs | reloc_jmpslot: *0x203198 = 0x189368ea4570 | zsh: bus error (core dumped) LD_DEBUG=1 obj/ld-elf.so.1 ~/a.out
Approved by: re (gjb)
show more ...
|
| #
d2f2e4c0 |
| 26-Sep-2018 |
Konstantin Belousov <[email protected]> |
Provide refobj context when doing libmap substitution inside search_library_path().
This corrects the scope of libmap matches.
Reported and tested by: Andreas Longwitz <[email protected]> Sponsore
Provide refobj context when doing libmap substitution inside search_library_path().
This corrects the scope of libmap matches.
Reported and tested by: Andreas Longwitz <[email protected]> Sponsored by: The FreeBSD Foundation Approved by: re (gjb) MFC after: 1 week
show more ...
|
| #
17fb2856 |
| 05-Sep-2018 |
Brooks Davis <[email protected]> |
Rework rtld's TLS Variant I implementation to match r326794
The above commit fixed handling overaligned TLS segments in libc's TLS Variant I implementation, but rtld provides its own implementation
Rework rtld's TLS Variant I implementation to match r326794
The above commit fixed handling overaligned TLS segments in libc's TLS Variant I implementation, but rtld provides its own implementation for dynamically-linked executables which lacks these fixes. Thus, port these changes to rtld.
This was previously commited as r337978 and reverted in r338149 due to exposing a bug the ARM rtld. This bug was fixed in r338317 by mmel.
Submitted by: James Clarke Approved by: re (kib) Reviewed by: kbowling Testing by: kbowling (powerpc64), br (riscv), kevans (armv7) Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D16510
show more ...
|
| #
a5207d3e |
| 21-Aug-2018 |
Brooks Davis <[email protected]> |
Revert r337978: Rework rtld's TLS Variant I implementation to match r326794
Michal Meloun reports that it breaks ctype (isspace()..) related functions on armv7 so back out while we diagnose the issu
Revert r337978: Rework rtld's TLS Variant I implementation to match r326794
Michal Meloun reports that it breaks ctype (isspace()..) related functions on armv7 so back out while we diagnose the issue.
Reported by: Michal Meloun <[email protected]>
show more ...
|
| #
9b50d816 |
| 17-Aug-2018 |
Brooks Davis <[email protected]> |
Rework rtld's TLS Variant I implementation to match r326794
The above commit fixed handling overaligned TLS segments in libc's TLS Variant I implementation, but rtld provides its own implementation
Rework rtld's TLS Variant I implementation to match r326794
The above commit fixed handling overaligned TLS segments in libc's TLS Variant I implementation, but rtld provides its own implementation for dynamically-linked executables which lacks these fixes. Thus, port these changes to rtld.
Submitted by: James Clarke Reviewed by: kbowling Testing byL kbowling (powerpc64), br (riscv), kevans (armv7) Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D16510
show more ...
|
| #
711a4538 |
| 02-Aug-2018 |
Edward Tomasz Napierala <[email protected]> |
Make sure the rtld(1) error messages go to stderr, not stdout. While here fix capitalization of a few nearby strings, add the rtld's file name prefix so it's obvious where the message come from, and
Make sure the rtld(1) error messages go to stderr, not stdout. While here fix capitalization of a few nearby strings, add the rtld's file name prefix so it's obvious where the message come from, and return zero when "-h" is used.
Reviewed by: kib MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D16530
show more ...
|
|
Revision tags: release/11.2.0 |
|
| #
0725fca5 |
| 09-May-2018 |
Konstantin Belousov <[email protected]> |
Make rtld use libc_nossp_pic.a. Remove SSP shims.
Submitted by: Luis Pires Reviewed by: brooks Differential revision: https://reviews.freebsd.org/D15341
|
| #
41fc6f68 |
| 03-Feb-2018 |
Marius Strobl <[email protected]> |
o Let rtld(1) set up psABI user trap handlers prior to executing the objects' init functions instead of doing the setup via a constructor in libc as the init functions may already depend on these
o Let rtld(1) set up psABI user trap handlers prior to executing the objects' init functions instead of doing the setup via a constructor in libc as the init functions may already depend on these handlers to be in place. This gets us rid of: - the undefined order in which libc constructors as __guard_setup() and jemalloc_constructor() are executed WRT __sparc_utrap_setup(), - the requirement to link libc last so __sparc_utrap_setup() gets called prior to constructors in other libraries (see r122883). For static binaries, crt1.o still sets up the user trap handlers. o Move misplaced prototypes for MD functions in to the MD prototype section of rtld.h. o Sprinkle nitems().
show more ...
|
| #
e6209940 |
| 27-Nov-2017 |
Pedro F. Giffuni <[email protected]> |
libexec: adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone -
libexec: adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
No functional change intended.
show more ...
|
| #
b4ed9a87 |
| 24-Oct-2017 |
Edward Tomasz Napierala <[email protected]> |
Remove unneeded calls to access(2) from rtld(1); just call open(2) instead. The result looks like this:
--- przed 2017-10-21 23:19:21.445034000 +0100 +++ po 2017-10-21 23:18:50.031865000 +010
Remove unneeded calls to access(2) from rtld(1); just call open(2) instead. The result looks like this:
--- przed 2017-10-21 23:19:21.445034000 +0100 +++ po 2017-10-21 23:18:50.031865000 +0100 @@ -11,7 +11,6 @@ mmap(0x0,102,PROT_READ,MAP_PRIVATE,3,0x0) = 343665418 close(3) = 0 (0x0) open("/usr/local/etc/libmap.d",O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,0165) ERR#2 'No such file or directory' munmap(0x80067d000,102) = 0 (0x0) -access("/usr/local/lib/libintl.so.8",F_OK) = 0 (0x0) openat(AT_FDCWD,"/usr/local/lib/libintl.so.8",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3) fstat(3,{ mode=-rw-r--r-- ,inode=642560,size=55188,blksize=32768 }) = 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366541824 (0x80067d000) @@ -20,14 +19,13 @@ mmap(0x800877000,40960,PROT_READ|PROT_EXEC,MAP_PRIVATE mmap(0x800a81000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0xa000) = 34370752512 (0x800a81000) munmap(0x80067d000,4096) = 0 (0x0) close(3) = 0 (0x0) -access("/usr/local/lib/libc.so.7",F_OK) ERR#2 'No such file or directory' +openat(AT_FDCWD,"/usr/local/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory' 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) fstat(3,{ mode=-r--r--r-- ,inode=970684,size=306,blksize=32768 }) = 0 (0x0) lseek(3,0x80,SEEK_SET) = 128 (0x80) read(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,178) = 178 (0xb2) close(3) = 0 (0x0) -access("/lib/libc.so.7",F_OK) = 0 (0x0) openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3) fstat(3,{ mode=-r--r--r-- ,inode=1605239,size=1910320,blksize=32768 }) = 0 (0x0) mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34366541824 (0x80067d000)
Reviewed by: kib MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12766
show more ...
|
| #
2fe071d9 |
| 24-Oct-2017 |
Edward Tomasz Napierala <[email protected]> |
Replace lseek(2)/read(2) pair with pread(2), removing yet another syscall from the binary startup code.
MFC after: 2 weeks Sponsored by: DARPA, AFRL
|
| #
1689a3c4 |
| 24-Oct-2017 |
Edward Tomasz Napierala <[email protected]> |
Make find_library() conform to style(9). No functional changes.
Suggested by: kib MFC after: 2 weeks Sponsored by: DARPA, AFRL
|
| #
e65ad973 |
| 24-Oct-2017 |
Edward Tomasz Napierala <[email protected]> |
Reword the conditional; it was ugly, and adding another parameter, which I'm going to do in a subsequent commit, would make it even uglier. No functional changes.
MFC after: 2 weeks Sponsored by: DA
Reword the conditional; it was ugly, and adding another parameter, which I'm going to do in a subsequent commit, would make it even uglier. No functional changes.
MFC after: 2 weeks Sponsored by: DARPA, AFRL
show more ...
|