aboutsummaryrefslogtreecommitdiff
path: root/libexec
Commit message (Collapse)AuthorAgeFilesLines
* Appease old GCC by disabling .cfi_sections for GCC 4.x.John Baldwin2017-11-141-0/+2
| | | | Notes: svn path=/head/; revision=325816
* Some fixups to the CFI directives for PLT stub entry points.John Baldwin2017-11-101-2/+6
| | | | | | | | | | | | | | | | | | The directives I added in r323466 and r323501 did not define a valid CFA until several instructions into the associated functions. This triggers an assertion in GDB when generating a stack trace while stopped at the first instruction of PLT stub entry point since there is no valid CFA rule for the first instruction. This is probably just wrong on my part as the non-simple .cfi_startproc would have defined a valid CFA. Instead, define a valid CFA as sp + 0 at the start of the functions and then use .cfa_def_offset to change the offset when sp is adjusted later in the function. Sponsored by: DARPA / AFRL Notes: svn path=/head/; revision=325624
* Use NESTED() instead of LEAF() for rtld_start.John Baldwin2017-11-101-2/+1
| | | | | | | | | | This is only cosmetic, but the entry point for rtld is not a leaf function, and this avoids two .frame directives for rtld_start. Sponsored by: DARPA / AFRL Notes: svn path=/head/; revision=325623
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2017-10-3134-34/+0
| | | | | | | Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325188
* These values already set by src.libnames.mk.Bryan Drewery2017-10-311-2/+0
| | | | | | | | MFC after: 2 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=325178
* Use MAP_PRIVATE instead of obsolete MAP_COPY. No functional changes.Edward Tomasz Napierala2017-10-301-1/+1
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=325134
* Plug memory leak on error case.Edward Tomasz Napierala2017-10-291-0/+1
| | | | | | | | | Reported by: Coverity CID: 1382112 MFC after: 2 weeks Notes: svn path=/head/; revision=325102
* Remove unneeded calls to access(2) from rtld(1); just call open(2) instead.Edward Tomasz Napierala2017-10-241-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=324953
* Replace lseek(2)/read(2) pair with pread(2), removing yet another syscallEdward Tomasz Napierala2017-10-241-4/+3
| | | | | | | | | | from the binary startup code. MFC after: 2 weeks Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=324952
* Make find_library() conform to style(9). No functional changes.Edward Tomasz Napierala2017-10-241-78/+79
| | | | | | | | | Suggested by: kib MFC after: 2 weeks Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=324951
* Reword the conditional; it was ugly, and adding another parameter,Edward Tomasz Napierala2017-10-241-17/+44
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=324950
* Use xmalloc and read(2) instead of mmap(2) to read in libmap.conf(5).Edward Tomasz Napierala2017-10-241-4/+6
| | | | | | | | | | | This removes the need to call munmap(2) afterwards. MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D12767 Notes: svn path=/head/; revision=324949
* Don't call realpath(3) from libmap rtld code. This gets rid of a few callsEdward Tomasz Napierala2017-10-221-28/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=324856
* ftpd(8): fix user context handling.Eugene Grosbein2017-10-061-4/+17
| | | | | | | | | | | | | | | | | | Apply authenticated user context after update of wtmp(5) at start of session, so that ftpd process is not killed by kernel with SIGXFSZ when user has "filesize" limit lower than size of system wtmp file. Same applies to session finalization: revert to super-user context before update of wtmp. If ftpd hits limit while writing a file at user request, do not get killed with SIGXFSZ instantly but apparently ignore the signal, process error and report it to the user, and continue with the session. PR: 143570 Approved by: avg (mentor), mav (mentor) MFC after: 1 week Notes: svn path=/head/; revision=324364
* Remove rcmds.Jeremie Le Hen2017-10-069-1776/+0
| | | | | | | | | | | | | | | | | | | | | If they are still needed, you can find them in the net/bsdrcmds port. This was proposed June, 20th and approved by various committers [1]. They have been marked as deprecated on CURRENT in r320644 [2] on July, 4th. Both stable/11 and release/11.1 contain the deprecation notice (thanks to allanjude@). Note that ruptime(1)/rwho(1)/rwhod(8) were initially thought to be part of rcmds but this was a mistake and those are therefore NOT removed. [1] https://lists.freebsd.org/pipermail/freebsd-arch/2017-June/018239.html [2] https://svnweb.freebsd.org/base?view=revision&revision=320644 Reviewed by: bapt, brooks Differential Revision: https://reviews.freebsd.org/D12573 Notes: svn path=/head/; revision=324351
* Deorbit catman. The tradeoff of disk for performance has long since tippedGordon Tetlow2017-09-133-21/+3
| | | | | | | | | | | | | in favor of just rendering the manpage instead of relying on pre-formatted catpages. Note, this does not impede the ability to use existing catpages, it just removes the utility to generate them. Reviewed by: imp, allanjude Approved by: emaste (mentor) Differential Revision: https://reviews.freebsd.org/D12317 Notes: svn path=/head/; revision=323550
* Handle relocations for newer non-PIC MIPS ABI.John Baldwin2017-09-124-39/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=323501
* End softfp->hardfp transition period for armWarner Losh2017-09-122-12/+14
| | | | | | | | | | | | On hard-float 32-bit arm platforms, always search for the soft float binaries in the alternative locations. Sponsored by: Netflix Differential Review: https://reviews.freebsd.org/D12274 MFC After: 1 week Notes: svn path=/head/; revision=323500
* Add CFI directives for _rtld_bind_start.John Baldwin2017-09-111-0/+24
| | | | | | | | | | This allows debuggers to unwind back into the caller when stopped in the runtime linker. Sponsored by: DARPA / AFRL Notes: svn path=/head/; revision=323466
* Add a new getty/gettytab capability to generate an initial message dynamically.David Bright2017-09-074-2/+8
| | | | | | | | | | | | | | | | | | | This modification adds a new gettytab(5) option (iM) to specify a program to run that will generate the initial (banner) message that is displayed before the login prompt. Such a capability is useful when dynamic information is needed in the banner message that cannot be supplied by the set of % substitution sequences available in the "im" option. Reviewed by: vangyzen, wblock, manpages Approved by: vangyzen (mentor) MFC after: 1 week Relnotes: yes Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D12108 Notes: svn path=/head/; revision=323252
* Add serial comma.Konstantin Belousov2017-09-011-1/+1
| | | | | | | | Submitted by: wblock MFC after: 3 days Notes: svn path=/head/; revision=323102
* Compile reloc.o with -fno-jump-tables on MIPS.John Baldwin2017-08-301-0/+3
| | | | | | | | | | | | | | In particular, the switch statement on the type of dynamic entries in _rtld_relocate_nonplt_self() needs to not use a jump table since jump tables on MIPS use local GOT entries which aren't initialized until after this loop. Suggested by: arichardson Reviewed by: emaste Sponsored by: DARPA / AFRL Notes: svn path=/head/; revision=323031
* Read max_stack_flags from correct object.John Baldwin2017-08-301-1/+1
| | | | | | | | | | | 'obj' is not initialized here. Reviewed by: kib MFC after: 1 week Sponsored by: DARPA / AFRL Notes: svn path=/head/; revision=323025
* Add supporting changes for `Add limited sandbox capability to "make check"`Enji Cooper2017-08-143-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Non-tests/... changes: - Add HAS_TESTS= to Makefiles with libraries and programs to enable iteration and propagate the appropriate environment down to *.test.mk. tests/... changes: - Add appropriate support Makefile.inc's to set HAS_TESTS in a minimal manner, since tests/... is a special subdirectory tree compared to the others. MFC after: 2 months MFC with: r322511 Reviewed by: arch (silence), testing (silence) Differential Revision: D12014 Notes: svn path=/head/; revision=322515
| * Add HAS_TESTS to all Makefiles that are currently using theEnji Cooper2017-08-023-0/+3
| | | | | | | | | | | | | | | | | | `SUBDIR.${MK_TESTS}+= tests` idiom. This is a follow up to r321912. Notes: svn path=/projects/make-check-sandbox/; revision=321914
* | Support for v1.10 (latest) of RISC-V privilege specification.Ruslan Bukin2017-08-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New version is not compatible on supervisor mode with v1.9.1 (previous version). Highlights: o BBL (Berkeley Boot Loader) provides no initial page tables anymore allowing us to choose VM, to build page tables manually and enable MMU in S-mode. o SBI interface changed. o GENERIC kernel. FDT is now chosen standard for RISC-V hardware description. DTB is now provided by Spike (golden model simulator). This allows us to introduce GENERIC kernel. However, description for console and timer devices is not provided in DTB, so move these devices temporary to nexus bus. o Supervisor can't access userspace by default. Solution is to set SUM (permit Supervisor User Memory access) bit in sstatus register. o Compressed extension is now turned on by default. o External GCC 7.1 compiler used. o _gp renamed to __global_pointer$ o Compiler -march= string is now in use allowing us to choose required extensions (compressed, FPU, atomic, etc). Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11800 Notes: svn path=/head/; revision=322361
* | o Replace __riscv__ with __riscvRuslan Bukin2017-08-071-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=322168
* Convert traditional ${MK_TESTS} conditional idiom for including testEnji Cooper2017-08-023-9/+3
| | | | | | | | | | | | | | directories to SUBDIR.${MK_TESTS} idiom This is being done to pave the way for future work (and homogenity) in ^/projects/make-check-sandbox . No functional change intended. MFC after: 1 weeks Notes: svn path=/head/; revision=321912
* hyperv: Add VF bringup scripts and devd rules.Sepherosa Ziehau2017-07-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | How network VF works with hn(4) on Hyper-V in non-transparent mode: - Each network VF has a cooresponding hn(4). - The network VF and the it's cooresponding hn(4) have the same hardware address. - Once the network VF is up, e.g. ifconfig VF up: o All of the transmission should go through the network VF. o Most of the reception goes through the network VF. o Small amount of reception may go through the cooresponding hn(4). This reception will happen, even if the the cooresponding hn(4) is down. The cooresponding hn(4) will change the reception interface to the network VF, so that network layer and application layer will be tricked into thinking that these packets were received by the network VF. o The cooresponding hn(4) pretends the physical link is down. - Once the network VF is down or detached: o All of the transmission should go through the cooresponding hn(4). o All of the reception goes through the cooresponding hn(4). o The cooresponding hn(4) fallbacks to the original physical link detection logic. All these features are mainly used to help live migration, during which the network VF will be detached, while the network communication to the VM must not be cut off. In order to reach this level of live migration transparency, we use failover mode lagg(4) with the network VF and the cooresponding hn(4) attached to it. To ease user configuration for both network VF and non-network VF, the lagg(4) will be created by the following rules, and the configuration of the cooresponding hn(4) will be applied to the lagg(4) automatically. Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D11635 Notes: svn path=/head/; revision=321762
* Allow to specify targets by absolute paths in libmap.conf.Konstantin Belousov2017-07-271-9/+10
| | | | | | | | | Submitted by: Tatu Kilappa <tatu.kilappa@iki.fi> PR: 221032 MFC after: 2 weeks Notes: svn path=/head/; revision=321607
* Language improvements.Konstantin Belousov2017-07-141-9/+10
| | | | | | | | | Submitted by: wblock MFC after: 3 days Differential revision: https://reviews.freebsd.org/D10826 Notes: svn path=/head/; revision=320989
* In open_binary_fd: when using buffer size for strl* and snprintf,Xin LI2017-07-051-3/+3
| | | | | | | | | | | always use >= instead of > to avoid truncation. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D11474 MFC after: 3 days Notes: svn path=/head/; revision=320665
* When reporting undefined symbol, note the version, if specified.Konstantin Belousov2017-07-041-3/+7
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=320658
* Add deprecation notices for all rcmd toolsAllan Jude2017-07-042-2/+20
| | | | | | | | | | | Submitted by: bcr Reviewed by: emaste, bapt, jhl MFC after: immediate Relnotes: yes Differential Revision: https://reviews.freebsd.org/D11471 Notes: svn path=/head/; revision=320644
* atf-sh(3): document atf_init_test_cases(3) fullyEnji Cooper2017-06-301-0/+1
| | | | | | | | | | The function was missing from the NAME/SYNOPSIS sections. Add a manpage link to complete the documentation reference. MFC after: 1 month Notes: svn path=/head/; revision=320491
* Use strlcpy() instead of strncpy() and nul-terminating.Xin LI2017-06-281-5/+2
| | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=320433
* A little tweak for performanceJohn W. De Boskey2017-06-271-3/+2
| | | | | | | | | Reviewed by: adrian Approved by: rmacklem (mentor) MFC after: 3 weeks Notes: svn path=/head/; revision=320406
* Use address space guard to implement inter-segment gap.Konstantin Belousov2017-06-241-1/+4
| | | | | | | | | | | | | Rtld checks and use old MAP_ANON/PROT_NONE method of creating gap if running on old kernel. Reviewed by: alc, markj Tested by: pho, Qualys Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=320318
* Add MLINKS for atf-sh(3) to each of the functions it implementsEnji Cooper2017-06-071-1/+23
| | | | | | | | | | | This hopefully will make atf-sh(3) easier to understand for newcomers, without having to go through the atf-sh(3) level of indirection. MFC after: 1 week Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=319662
* Revert r319659Enji Cooper2017-06-071-1/+0
| | | | | | | | | | | | I missed the fact that atf-sh(3) already documents atf_check(3). I'll be adding an manpage link for that instead in the next commit. MFC after: 1 week MFC with: r319659 Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=319660
* Add an MLINK for atf_check(1) -> atf-check(1)Enji Cooper2017-06-071-0/+1
| | | | | | | | | | | | This is being done to make the documentation for atf-check(1) easier to find/more intuitive for new users, because atf_check is the atf-run(1) shell version of the standalone atf-check(1) command, which is used in atf-sh(3) test programs. MFC after: 1 week Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=319659
* Document direct execution mode for rtld.Konstantin Belousov2017-05-291-0/+71
| | | | | | | | | | Reviewed by: emaste, jonathan (previous version) Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D10826 Notes: svn path=/head/; revision=319138
* Correct explanation of the dynamic tokens handling.Konstantin Belousov2017-05-291-4/+5
| | | | | | | | | Reviewed by: emaste, jonathan Sponsored by: The FreeBSD Foundation X-Differential Revision: https://reviews.freebsd.org/D10826 Notes: svn path=/head/; revision=319137
* rtld: fix warnings about redundant declarationsEric van Gyzen2017-05-265-25/+0
| | | | | | | | | | | | | Fix warnings about redundant declarations in rtld when libthr in increased to WARNS=6. Reviewed by: kib MFC after: 3 days Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D10934 Notes: svn path=/head/; revision=318954
* For ld.so direct execution mode, implement -p option: search for theKonstantin Belousov2017-05-231-9/+49
| | | | | | | | | | | binary in $PATH. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D10790 Notes: svn path=/head/; revision=318739
* Update my copyright, note The FreeBSD Foundation involvement.Konstantin Belousov2017-05-181-3/+8
| | | | | | | | | | While tweaking copyright block, switch to use __FBSDID for tag. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Notes: svn path=/head/; revision=318446
* Fix style [1], add static keyword before static function definition.Konstantin Belousov2017-05-181-1/+2
| | | | | | | | | Noted by: bapt [1] Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Notes: svn path=/head/; revision=318445
* Fix some nroff syntax in rtld.1.Jonathan Anderson2017-05-181-1/+1
| | | | | | | | | When I originally documented the LD_LIBRARY_PATH_FDS environment variable, I used `.Ev` rather than `.It Ev` to introduce it; this led to the documentation being embedded in the previous paragraph (LD_LIBRARY_PATH). Notes: svn path=/head/; revision=318432
* Allow rtld direct-exec to take a file descriptor.Jonathan Anderson2017-05-171-17/+109
| | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=318431
* Pretend that there is some security when executing in direct mode.Konstantin Belousov2017-05-161-0/+38
| | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=318380