| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
rtld: fix warnings about redundant declarations
Fix warnings about redundant declarations in rtld
when libthr in increased to WARNS=6.
Sponsored by: Dell EMC
|
|
|
|
| |
Correct explanation of the dynamic tokens handling.
|
|
|
|
| |
Document direct execution mode for rtld.
|
|
|
|
| |
Update my copyright, note The FreeBSD Foundation involvement.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MFC r318313:
Make ld-elf.so.1 directly executable.
MFC r318352 (by jonathan):
Rename rtld's parse_libdir to parse_integer.
MFC r318380:
Pretend that there is some security when executing in direct mode.
MFC r318431 (by jonathan):
Allow rtld direct-exec to take a file descriptor.
MFC r318445:
Fix style, add static keyword before static function definition.
MFC r318739:
For ld.so direct execution mode, implement -p option.
|
|
|
|
| |
Fix the AT_EXECFD functionality.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert absolute links to relative links.
Style.Makefile(9) has been ignored to produce minimal diffs.
MFC r314837
The relative symlink fix causes downstream issues for
EMC DELL Isilon so revert the relative symlink fix
pending a better solution.
Reported by: ngie
MFC r315091
Revert r314833 until the problem with INSTALL_RSYMLINKS can be found
as it appears to break arm release builds.
PR: 217705
Reported by: cyclaero@gmail.com
Approved by: grehan (mentor)
|
|
|
|
| |
Style.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improve blacklist support before upgrading libblacklist
The locally declared enum of blacklistd actions needs to be
hidden when the soon to be committed changes to libblacklist
are brought into the tree. Fix the type of the "msg" parameter
to match the library.
There should be no functional changes.
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
| |
Pull the R_AARCH64_TLSDESC code out into a common function and use them in
both the plt and non-plt case.
This fixes an issue where libraries built with LLD can fail with
"Unhandled relocation 1031"
|
|
|
|
|
|
|
|
|
|
|
| |
Increase WARNS for rtld-elf tests
ATF tests have a default WARNS of 0, unlike other usermode programs.
Reviewed by: ngie, julian
MFC after: 3 weeks
Sponsored by: Spectra Logic Corporation
Differential Revision: https://reviews.freebsd.org/D9933
|
|
|
|
|
|
|
|
|
|
| |
Implement LD_BIND_NOT knob for rtld.
MFC r315337:
Disable LD_BIND_NOT for setugid processes.
MFC r315429 (by jilles):
Document that LD_BIND_NOT is unset for setugid processes.
|
|
|
|
| |
Fix _mips_rtld_bind() to handle ELF filters.
|
|
|
|
| |
Avoid bind lock recursion.
|
|
|
|
| |
Handle protected symbols in rtld.
|
|
|
|
|
|
| |
Conditionalize all code that uses tcpd.h behind `LIBWRAP` guard
This will allow the code to stand by itself without libwrap
|
|
|
|
| |
Fix races and logic errors around dlclose().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On rela architectures GNU BFD ld and gold store the relocation addend
in GOT entries (in addition to the relocation's r_addend field).
rtld previously relied on this to access its own _DYNAMIC symbol in
order to apply its own relocations.
However, recording addends in the GOT is not specified by the ABI,
and some versions of LLVM's LLD linker leave the GOT uninitialized on
rela architectures.
BFD ld does not populate the GOT on sparc64, and sparc64 rtld has a
machine-dependent rtld_dynamic_addr() function that returns the
_DYNAMIC address. Use the same approach on amd64, obtaining the %rip-
relative _DYNAMIC address following a suggestion from Rafael EspĂndola.
Architectures other than amd64 should be addressed in future work.
|
|
|
|
|
|
| |
Fix acquisition of nested write compat rtld locks.
PR: 215826
|
|
|
|
|
| |
For the main binary, postpone enforcing relro read-only protection
until copy relocations are done.
|
|
|
|
| |
Use ANSI C definitions, update comment.
|
|
|
|
| |
portion is used.
|
| |
|
|
|
|
| |
Take write lock for rtld_bind before modifying obj_list in dl_iterate_phdr().
|
|
|
|
| |
DIRDEPS_BUILD: Add some missing dirctories to the build.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rtld-elf has some vestigial support for building as a static executable.
r45501 introduced a partial implementation with a prescient note that it
"might never be enabled." r153515 introduced ELF symbol versioning
support, and removed part of the unused build infrastructure for static
rtld.
GNU ld populates rela relocation addends and GOT entries with the same
values, and rtld's run-time dynamic executable check relied on this.
Alternate toolchains may not populate the GOT entries, which caused
RTLD_IS_DYNAMIC to return false. Simplify rtld by just removing the
unused check.
If we want to restore static rtld support later on we ought to introduce
a build-time #ifdef flag.
PR: 214972
|
|
|
|
| |
Fix typo.
|
|
|
|
|
|
|
|
| |
When symbol versioning was added to rtld, the boolean 'in_plt' argument
to find_symdef() was converted to a bitmask of flags. The first flag
added was 'SYMLOOK_IN_PLT' which replaced the 'in_plt' bool. This
happened to still work by accident as SYMLOOK_IN_PLT had the value of 1
which is the same as 'true', so there should be no functional change.
|
|
|
|
|
|
|
|
|
|
| |
Pass CPUID[1] %edx (cpu_feature), %ecx (cpu_feature2) and
CPUID[7].%ebx (cpu_stdext_feature), %ecx (cpu_stdext_feature2) to the
ifunc resolvers on x86.
MFC r308925:
Adjust r308689 to make rtld compilable with either in-tree or
(hopefully) stock gcc 4.2.1 on i386 and other arches.
|
|
|
|
| |
Assert that there is no unresolved symbols during rtld linking.
|
|
|
|
| |
Update hint to utilize user variable.
|
|
|
|
| |
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
| |
Enhance blacklistd support to not log anything by default,
unless blacklistd support is enabled on the command line.
Document new flag in man page, cleanup patches to be less
intrusive in code.
Sponsored by: The FreeBSD Foundation
|
|
|
|
| |
Use SRCTOP instead of the longhand version for defining the path to contrib/atf
|
|
|
|
|
|
| |
Reference the libc symbols ypresp_{allfn,data} instead of local symbols.
PR: 213506
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most important change being:
dma - Fix security hole
Affecting DragonFly 4.6 and earlier, Matt Dillon fixed this in base after
finding out from BSDNow Episode 152. Comments following were from his commit
which explains better than I. Just taking his change and putting it here as well.
* dma makes an age-old mistake of not properly checking whether a file
owned by a user is a symlink or not, a bug which the original mail.local
also had.
* Add O_NOFOLLOW to disallow symlinks.
Thanks-to: BSDNow Episode 152, made me dive dma to check when they talked
about the mail.local bug.
|
|
|
|
| |
Move defines common between rtld and libsysdecode into the header.
|
|
|
|
| |
Fill phdr and phsize for rtld object.
|
|
|
|
| |
Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf.
|
|
|
|
|
|
|
| |
Fix dlsym(RTLD_NEXT) handling to only return the next library in last library
cases.
Approved by: re (gjb)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The dependency is needed in PROG_FULL since only the build of PROG_FULL
is using the LDFLAGS and depending on VERSION_MAP. This was not a problem
with MK_DEBUG_FILES==no since it only builds PROG.
This should probably be using bsd.lib.mk instead [1]
Reported by: swills, gjb
Reviewed by: emaste
Noted by: rgrimes [1]
Sponsored by: EMC / Isilon Storage Division
Approved by: re (kib)
|
|
|
|
|
| |
Approved by: re (gjb)
Sponsored by: EMC / Isilon Storage Division
|
|
|
|
| |
Sponsored by: The FreeBSD Foundation
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ftp daemon dups the control socket to stdin and uses that fd
throughout the code. Clarify this usage slightly by changing from
explicit use of "0" for the fd to a variable, to make it clear what
the zero represents in the non-blacklist code. Make the
blacklist_notify routine use STDIN_FILENO so as to have less of a
"magic number" feel to the code.
Reviewed by: cem
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6716
|
|
|
|
|
|
|
| |
Reviewed by: rpaulo
Approved by: rpaulo
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6593
|
|
|
|
| |
Sponsored by: EMC / Isilon Storage Division
|
|
|
|
|
|
|
|
| |
Reviewed by: rpaulo
Approved by: rpaulo
Relnotes: YES
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5916
|
|
|
|
|
|
|
|
| |
Reviewed by: rpaulo
Approved by: rpaulo
Relnotes: YES
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6594
|
|
|
|
|
|
|
|
| |
Reviewed by: rpaulo
Approved by: rpaulo
Relnotes: YES
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6703
|
|
|
|
|
|
|
|
| |
Reviewed by: rpaulo
Approved by: rpaulo
Relnotes: YES
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5913
|