#
b754c279 |
| 13-Sep-2017 |
Navdeep Parhar <np@FreeBSD.org> |
MFH @ r323558.
|
#
b4e9a36b |
| 12-Sep-2017 |
John Baldwin <jhb@FreeBSD.org> |
Handle relocations for newer non-PIC MIPS ABI.
Newer binutils supports extensions to the MIPS ABI for non-PIC code that is used when compiling O32 binaries with clang 5 (but not used for N64 oddly e
Handle relocations for newer non-PIC MIPS ABI.
Newer binutils supports extensions to the MIPS ABI for non-PIC code that is used when compiling O32 binaries with clang 5 (but not used for N64 oddly enough). These extensions require support for R_MIPS_COPY relocations as well as a second PLT GOT using R_MIPS_JUMP_SLOT relocations.
For R_MIPS_COPY, use the same approach as on other architectures where fixups are deferred to the MD do_copy_relocations.
The additional PLT GOT for jump slots is located in a .got.plt section which is identified by a DT_MIPS_PLTGOT dynamic entry. This GOT also requires fixups for the first two GOT entries just as the normal GOT. However, the entry point for this second GOT uses a different calling convention. Rather than passing an offset into the GOT, it passes an offset into the .rel.plt section. This requires a second entry point (_rtld_pltbind_start) which calls the normal _rtld_bind() rather than _mips_rtld_bind(). This also means providing a real version of reloc_jmpslot() which is used by _rtld_bind().
In addition, add real implementions of reloc_plt() and reloc_jmpslots() which walk .rel.plt handling R_MIPS_JUMP_SLOT relocations.
Reviewed by: kib Sponsored by: DARPA / AFRL Differential Revision: https://reviews.freebsd.org/D12326
show more ...
|
#
5be4ad9e |
| 09-Sep-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r323343
|
#
83d33b2b |
| 30-Aug-2017 |
John Baldwin <jhb@FreeBSD.org> |
Read max_stack_flags from correct object.
'obj' is not initialized here.
Reviewed by: kib MFC after: 1 week Sponsored by: DARPA / AFRL
|
#
083c8ded |
| 13-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r322451
|
#
0275f9db |
| 11-Aug-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r321383 through r322397.
|
#
ca20f8ec |
| 07-Aug-2017 |
Ruslan Bukin <br@FreeBSD.org> |
o Replace __riscv__ with __riscv o Replace __riscv64 with (__riscv && __riscv_xlen == 64)
This is required to support new GCC 7.1 compiler. This is compatible with current GCC 6.1 compiler.
RISC-V
o Replace __riscv__ with __riscv o Replace __riscv64 with (__riscv && __riscv_xlen == 64)
This is required to support new GCC 7.1 compiler. This is compatible with current GCC 6.1 compiler.
RISC-V is extensible ISA and the idea here is to have built-in define per each extension, so together with __riscv we will have some subset of these as well (depending on -march string passed to compiler):
__riscv_compressed __riscv_atomic __riscv_mul __riscv_div __riscv_muldiv __riscv_fdiv __riscv_fsqrt __riscv_float_abi_soft __riscv_float_abi_single __riscv_float_abi_double __riscv_cmodel_medlow __riscv_cmodel_medany __riscv_cmodel_pic __riscv_xlen
Reviewed by: ngie Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11901
show more ...
|
#
69ef36e3 |
| 01-Aug-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321829
|
#
0e34ba73 |
| 31-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r321755
|
#
dd269a0b |
| 27-Jul-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Allow to specify targets by absolute paths in libmap.conf.
Submitted by: Tatu Kilappa <tatu.kilappa@iki.fi> PR: 221032 MFC after: 2 weeks
|
#
531c2d7a |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r320180
|
#
bca9d05f |
| 23-Jul-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r319973 through 321382.
|
Revision tags: release/11.1.0 |
|
#
d2043ca3 |
| 14-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r320573 through r320970.
|
#
2bbd226f |
| 05-Jul-2017 |
Xin LI <delphij@FreeBSD.org> |
In open_binary_fd: when using buffer size for strl* and snprintf, always use >= instead of > to avoid truncation.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D11474 MFC after
In open_binary_fd: when using buffer size for strl* and snprintf, always use >= instead of > to avoid truncation.
Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D11474 MFC after: 3 days
show more ...
|
#
84de44d3 |
| 04-Jul-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
When reporting undefined symbol, note the version, if specified.
Use the standard syntax of name@version, I do not expect a confusion due to unlikely possibility of the name containing the '@' chara
When reporting undefined symbol, note the version, if specified.
Use the standard syntax of name@version, I do not expect a confusion due to unlikely possibility of the name containing the '@' character.
Requested by: emaste Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
#
d02c951f |
| 26-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r318658 through r318963.
|
#
9e5e0e88 |
| 23-May-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
For ld.so direct execution mode, implement -p option: search for the binary in $PATH.
Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D10790
|
#
ea1e967c |
| 19-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r318380 through r318559.
|
#
ce9600b1 |
| 18-May-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Update my copyright, note The FreeBSD Foundation involvement. While tweaking copyright block, switch to use __FBSDID for tag.
Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
|
#
591986a8 |
| 18-May-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Fix style [1], add static keyword before static function definition.
Noted by: bapt [1] Sponsored by: The FreeBSD Foundation MFC after: 2 weeks
|
#
d5a5e50d |
| 18-May-2017 |
Jonathan Anderson <jonathan@FreeBSD.org> |
Allow rtld direct-exec to take a file descriptor.
When executing rtld directly, allow a file descriptor to be explicitly specified rather than opened from the given path. This, together with the LD_
Allow rtld direct-exec to take a file descriptor.
When executing rtld directly, allow a file descriptor to be explicitly specified rather than opened from the given path. This, together with the LD_LIBRARY_PATH_FDS environment variable, allows dynamically-linked applications to be executed from within capability mode.
Also add some rudimentary argument parsing (without pulling in getopt or the like) to accept this file descriptor, a help (-h) option and a basic usage string.
Reviewed by: kib Sponsored by: NSERC, RDC Differential Revision: https://reviews.freebsd.org/D10751
show more ...
|
#
209be205 |
| 16-May-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r317971 through r318379.
|
#
da403aea |
| 16-May-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Pretend that there is some security when executing in direct mode.
Do not allow direct exec if we the process is suid. Try to follow Unix permission checks for DACs, ignore ACLs.
Reviewed by: emast
Pretend that there is some security when executing in direct mode.
Do not allow direct exec if we the process is suid. Try to follow Unix permission checks for DACs, ignore ACLs.
Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D10750
show more ...
|
#
7a36bd9f |
| 16-May-2017 |
Jonathan Anderson <jonathan@FreeBSD.org> |
Rename rtld's parse_libdir to parse_integer.
This is a more accurate name, as the integer doesn't have to be a library directory descriptor. It is also a prerequisite for more argument parsing comin
Rename rtld's parse_libdir to parse_integer.
This is a more accurate name, as the integer doesn't have to be a library directory descriptor. It is also a prerequisite for more argument parsing coming in the near future (e.g., parsing explicit binary descriptors).
Reviewed by: kib MFC after: 2 weeks Sponsored by: NSERC
show more ...
|
#
0fc65b0a |
| 15-May-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Make ld-elf.so.1 directly executable.
Check if passed phdr is actually phdr of the interpreter itself, and decide that this is the case of direct execution. In this case, the binary to activate is
Make ld-elf.so.1 directly executable.
Check if passed phdr is actually phdr of the interpreter itself, and decide that this is the case of direct execution. In this case, the binary to activate is specified in the argv[1]. After opening it, shift down on-stack structure with argv, env and aux vectors to emulate execution of the binary and not of the interpreter.
Reviewed by: emaste Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D10701
show more ...
|