summaryrefslogtreecommitdiffstats
path: root/libexec
Commit message (Collapse)AuthorAgeFilesLines
* Add a hackish knob to skip rtld, NO_RTLD. In conjunction withyar2007-10-311-1/+1
| | | | | | | | | | | | | | | | | src/Makefile.inc1 rev. 1.590, it can allow installing a world cross-built for a different arch over the live system. The procedure is more or less as follows: cp -R /rescue /rescue.old make installkernel TARGET_ARCH=foo make -DNO_RTLD installworld TARGET_ARCH=foo ^^^^^^^^^ PATH=/rescue.old chflags noschg /libexec/ld-elf.so.1 cp /usr/obj/foo/usr/src/libexec/rtld/ld-elf.so.1 /libexec chflags schg /libexec/ld-elf.so.1 <ditto for ld-elf32.so.1 if installing for amd64> reboot
* - Fix the handling of R_SPARC_OLO10, which is a bit of a special casemarius2007-10-161-9/+14
| | | | | | | | | | | | | | | | | | | | in the way we implement handling of relocations. As for the kernel part this fixes the loading of lots of modules, which failed to load due to unresolvable symbols when built after the GCC 4.2.0 import. This wasn't due to a change in GCC itself though but one of several changes in configuration done along the import. Specfically, HAVE_AS_REGISTER_PSEUDO_OP, which causes GCC to denote global registers used for scratch purposes and in turn GAS uses R_SPARC_OLO10 relocations for, is now defined. While at it replace some more ELF_R_TYPE which should have been ELF64_R_TYPE_ID but didn't cause problems so far. - Sync a sanity check between kernel and rtld(1) and change it to be maintenance free regarding the type used for the lookup table. - Sprinkle const on lookup tables. - Use __FBSDID. Reported and tested by: yongari MFC after: 5 days
* Fixed static linkage (build with -DNO_SHARED).ru2007-10-011-1/+1
| | | | Approved by: re (kensmith)
* Stop mentioning /usr/X11R6.delphij2007-07-241-1/+1
| | | | Approved by: re (hrs)
* Unbreak the dynamic linker by not creating a cache for rtld-elfmarcel2007-07-151-2/+6
| | | | | | | | | itself. It needs mmap(2), which now needs getosreldate(3) and which in turn uses a global variable to cache the result. This cannot be done before linking is done. See also: ../sparc64/reloc.c:1.15 Approved by: re (kensmith)
* Cache does not serve any purpose when rtld is relocating itself, dokensmith2007-07-131-2/+6
| | | | | | | not bother allocating one. Submitted by: kan Approved by: re (bmah)
* Add r_debug_state to the list of symbols exported from rtld. GDB needs tokan2007-07-111-0/+1
| | | | | | be able to find it in order to trap shared library events from rtld. Approved by: re (rwatson)
* Significantly reduce the memory leak as noted in BUGS section forscf2007-07-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | setenv(3) by tracking the size of the memory allocated instead of using strlen() on the current value. Convert all calls to POSIX from historic BSD API: - unsetenv returns an int. - putenv takes a char * instead of const char *. - putenv no longer makes a copy of the input string. - errno is set appropriately for POSIX. Exceptions involve bad environ variable and internal initialization code. These both set errno to EFAULT. Several patches to base utilities to handle the POSIX changes from Andrey Chernov's previous commit. A few I re-wrote to use setenv() instead of putenv(). New regression module for tools/regression/environ to test these functions. It also can be used to test the performance. Bump __FreeBSD_version to 700050 due to API change. PR: kern/99826 Approved by: wes Approved by: re (kensmith)
* Link pf 4.1 to the build:mlaier2007-07-033-14/+11
| | | | | | | | - move ftp-proxy from libexec to usr.sbin - add tftp-proxy - new altq mtag link Approved by: re (kensmith)
* Note PAM support in atrun(8).yar2007-06-171-4/+17
| | | | | Sort FILES section while there. Touch document date.
* Add PAM support to atrun(8).yar2007-06-152-11/+36
|
* Actually use new features of perr() and perrx().yar2007-06-151-44/+33
|
* Catch up with perr() becoming variadic.yar2007-06-151-1/+1
|
* Make perr() variadic and add perrx() to use in cases whereyar2007-06-151-4/+30
| | | | | errno is irrelevant. Some code duplication can be reduced if perr() is variadic and perrx() is available.
* Use a single setusercontext(3) instead of a bunch of basic syscalls.yar2007-06-142-0/+29
| | | | | Besides aesthetic benefits, that makes at(1) jobs subject to such login.conf(5) settings as resource limits.
* Spotted another copy of the loony error message.yar2007-06-141-1/+1
|
* Fix an error message that was beside the point.yar2007-06-141-1/+1
|
* Fix a typical off-by-one error that can result in an unterminated string:yar2007-06-141-1/+1
| | | | | | | | strncpy(dst, src, sizeof(dst)); by substituting the safer strlcpy() for strncpy(). X-Security: none (the source string isn't user-supplied)
* Correct a typo.bz2007-06-031-1/+1
| | | | | PR: 106049 Submitted by: edwin (as part of a larger patch)
* Update the man page to reflect that certain variables will be unset incsjp2007-05-171-2/+4
| | | | | the case that the program is set-user-ID or set-group-ID. Add missing annotations for LIBMAP and LIBMAP_DISABLE.
* In the event a process is tainted (setuid/setgid binaries), un-set anycsjp2007-05-171-10/+20
| | | | | | | | | | | | | | | | | | | | potentially dangerous environment variables all together. It should be noted that the run-time linker will not honnor these environment variables if the process is tainted currently. However, once a child of the tainted process calls setuid(2), it's status as being tainted (as defined by issetugid(2)) will be removed. This could be problematic because subsequent activations of the run-time linker could honnor these dangerous variables. This is more of an anti foot-shot mechanism, there is nothing I am aware of in base that does this, however there may be third party utilities which do, and there is no real negative impact of clearing these environment variables. Discussed on: secteam Reviewed by: cperciva PR: kern/109836 MFC after: 2 weeks
* Don't enable symbol versioning on ia64 for now. It causesmarcel2007-05-161-0/+2
| | | | | | | symbol lookup failures that later result in null-pointer dereferences. This needs looking into, but since we're close to release it's possible that it's not resolved before that time.
* We don't need --export-dynamic for ld-elf.so.1, because it's amarcel2007-05-161-1/+0
| | | | shared object.
* Enable symbol versioning by default. Use WITHOUT_SYMVER to disable it.deischen2007-05-131-1/+3
| | | | | | | | | | Warning, after symbol versioning is enabled, going back is not easy (use WITHOUT_SYMVER at your own risk). Change the default thread library to libthr. There most likely still needs to be a version bump for at least the thread libraries. If necessary, this will happen later.
* Remove %m formatter, it's ifdef 0'ed in the code from the very beginningpav2007-05-121-2/+0
| | | | MFC after: 1 week
* Expand documentation for LD_TRACE_LOADED_OBJECTS_FMT? variablespav2007-05-121-0/+6
| | | | | | PR: docs/66265 (inspired by) Submitted by: Michel Lavondes <fox@vader.aacc.cc.md.us> MFC after: 1 week
* Fix a TLS memory leak.davidxu2007-05-051-0/+1
| | | | | PR: threads/112297 MFC: 1 week
* Back out all POSIXified *env() changes.ache2007-05-011-4/+4
| | | | | | | | | Not because I admit they are technically wrong and not because of bug reports (I receive nothing). But because I surprisingly meets so strong opposition and resistance so lost any desire to continue that. Anyone who interested in POSIX can dig out what changes and how through cvs diffs.
* Catch up with the private namespace change (s/FBSDprivate/FBSDprivate_1.0).deischen2007-05-011-1/+1
|
* Prepare for upcoming POSIXed putenv() rewrite:ache2007-04-301-4/+4
| | | | don't allow putenv() arg be on the stack, replace putenv() with setenv()
* Retire rtld-specific Versions.def. Symbols exported by rtld are supposedkan2007-04-292-9/+3
| | | | | | | to override weak symbols exported by libc, so by definition these two are using the same symbol version names. Reflect the reality by referring to libc's Versions.def directly.
* Give the private version namespace a number to match libc.deischen2007-04-291-1/+1
|
* Use C comments since we now preprocess these files with CPP.deischen2007-04-292-2/+6
|
* Remove references to S/Key and list OPIE.trhodes2007-04-201-8/+7
|
* Reword the description of the UTF8 option (-8) so I can swearyar2007-04-191-14/+13
| | | | | | to myself that I understand it. Bump document date.
* Add support for RFC 2389 (FEAT) and RFC 2640 (UTF8) to ftpd(8).yar2007-04-183-3/+45
| | | | | | | | | | | | | | The support for RFC 2640 (UTF8) is optional and rudimentary. The server just advertises its capability to handle UTF-8 file names and relies on its own 8-bit cleanness, as well as on the backward compatibility of UTF-8 with ASCII. So uploaded files will have UTF-8 names, but the initial server contents should be prepared in UTF-8 by hand, no on-the-fly conversion of file names will be done. PR: bin/111714 Submitted by: Zhang Weiwu <see email in the PR> MFC after: 1 week
* Bring rtld exports in line with corresponding symbols exported fromkan2007-04-093-2/+8
| | | | | | | libc. Disable SYMVER_DEFAULT n rtld until its implications are understood better.
* Remove reference to FBSDprivate version. We do not use it in thiskan2007-04-071-7/+0
| | | | module yet.
* Catch up on rtld's special status. Since it does not appear onkan2007-04-071-0/+2
| | | | | | | | main object list, its versioning information needs to be examined separately. This hopefully fixes problems that people running with SYMVER_ENABLED are experiencing.
* Prepare rtld for symbol versioning. Disable it by default for now.kan2007-04-034-22/+50
|
* Implement dl_iterate_phdr function.kan2007-04-033-21/+80
| | | | | Convert boolean flags in internal Obj_Entry structure into bitfields. Properly check for loaded segment alignment in map_object.
* Use u_int for variable manipulated by atomic ops to match atomickan2007-04-031-1/+1
| | | | ops function prototypes.
* Let automatic TCP send buffer sizing do its job for ftpd(8): stopyar2007-02-091-9/+1
| | | | | setting the SO_SNDBUF socket option. Using a hard-coded value for it was a poor idea anyway in the face of diverse network conditions.
* Document LD_UTRACE.jhb2007-01-231-2/+7
| | | | MFC after: 3 days
* Add various utrace's for use with ktrace to the ELF runtime linker. Tojhb2007-01-091-0/+67
| | | | | | | | activate the traces, set the LD_UTRACE (or LD_32_UTRACE) environment variable. This also includes code in kdump(8) to parse the traces. Reviewed by: kan, jdp MFC after: 2 weeks
* Fix TLS on sparc64 for statically and dynamically linked binarieskmacy2006-10-081-2/+3
| | | | | Approved by: rwatson (mentor) Reviewed by: jmg and marcel
* Clean up white spaces and fix style(9).jkim2006-09-191-34/+32
|
* Fix the buggy rev. 1.117. dagmembers are only initialized for dlopen'edkib2006-09-191-5/+63
| | | | | | | | | | | | | dso that are actually loading. If dso a.so depends on b.so, then dlsym with handle from dlopen("b.so") will fail unconditionally. Correct implementation shall use the Obj_Entry.needed list to walk dependencies DAG. Test provided by: jkim Tested (prev. version) by: jkim, Nicolas Blais <nb_root at videotron ca>, h.blanke at chello nl Pointy hat to: kib Approved by: kan (mentor)
* Markup fixes.ru2006-09-172-3/+5
|
* When looking up the symbol by dlsym, look it not only in the objectkib2006-09-081-13/+10
| | | | | | | | | | given as dso handle, but also in the implicit dependencies of that dso. Also, const-ify the read-only parameter objlist of symlook_list. Reported by: "Simon 'corecode' Schubert" <corecode at fs ei tum de> Approved by: kan (mentor) X-MFC-After: 6.2
OpenPOWER on IntegriCloud