<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/libexec/rtld-elf/rtld.c, branch release/10.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2014-09-12T16:22:01Z</updated>
<entry>
<title>MFC r270798:</title>
<updated>2014-09-12T16:22:01Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2014-09-12T16:22:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=36b9190bd1d13ee0436ee2f6b0d51493027c80a8'/>
<id>urn:sha1:36b9190bd1d13ee0436ee2f6b0d51493027c80a8</id>
<content type='text'>
Process STT_GNU_IFUNC when doing non-plt relocations.

MFC r270802:
Only do the second pass over non-plt relocations when the first pass
found IFUNCs.

Approved by:	re (gjb)
</content>
</entry>
<entry>
<title>MFC r265456, r265578:</title>
<updated>2014-08-07T18:36:47Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2014-08-07T18:36:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9a144e56762b3c60389cccea617146c642d6ffd9'/>
<id>urn:sha1:9a144e56762b3c60389cccea617146c642d6ffd9</id>
<content type='text'>
Add a postinit debugger hook to rtld. This will be used by dtrace(1) to halt
the victim process before its entry point is called, at which point probes
and DOF data are registered with the kernel. The r_debug_state hook cannot
be used for this purpose, as it is called before the program's init routines
are invoked and in particular before DOF data is registered (via drti.o).
</content>
</entry>
<entry>
<title>MFC r259044:</title>
<updated>2013-12-13T06:06:08Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2013-12-13T06:06:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=10edd290095848624879d9e664293bd6504977cd'/>
<id>urn:sha1:10edd290095848624879d9e664293bd6504977cd</id>
<content type='text'>
For variant II static TLS, properly align tls segments.

MFC r259072:
Cast Elf_Addr to void * to match the free_aligned() argument type.
</content>
</entry>
<entry>
<title>Implement support for the interpose dso flag.</title>
<updated>2013-10-07T08:19:30Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2013-10-07T08:19:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3cf98c19e84cfcefb75a295201e39c43215ca328'/>
<id>urn:sha1:3cf98c19e84cfcefb75a295201e39c43215ca328</id>
<content type='text'>
Requested by:	bf
Reviewed by:	kan
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Approved by:	re (glebius)
</content>
</entry>
<entry>
<title>Populate .rld_map on MIPS for debuggers</title>
<updated>2013-10-02T02:32:58Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2013-10-02T02:32:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d24aca1b006c350085024b90eb5610474c831124'/>
<id>urn:sha1:d24aca1b006c350085024b90eb5610474c831124</id>
<content type='text'>
On MIPS the .dynamic section is read-only, so the pointer to rtld
information for debuggers cannot be stored there (in DT_DEBUG).
Instead, a special section .rld_map is used.

Sponsored by:	DARPA, AFRL
Approved by:	re (delphij)
</content>
</entry>
<entry>
<title>Make the directory mapping functionality, which was previously only</title>
<updated>2013-09-21T21:03:52Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2013-09-21T21:03:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8182b3bee15162fd01b961d07515c2e766933822'/>
<id>urn:sha1:8182b3bee15162fd01b961d07515c2e766933822</id>
<content type='text'>
available in 32-bit compatibility mode, unconditional.

Overhaul the man page, which had evolved more by accretion than by design.

Approved by:	re (gjb)
MFC after:	3 weeks
</content>
</entry>
<entry>
<title>Properly terminate the result string for intermediate results, to</title>
<updated>2013-04-29T21:12:25Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2013-04-29T21:12:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3c9cb0c6c9b5c21e82994808cbb59cdf9e27a87c'/>
<id>urn:sha1:3c9cb0c6c9b5c21e82994808cbb59cdf9e27a87c</id>
<content type='text'>
allow the final strcpy() to start at the intended place.

Reported and tested by:	pgj
Pointy hat to:	kib
MFC after:	3 days
</content>
</entry>
<entry>
<title>The origin_subst_one() function limits the length of the string to</title>
<updated>2013-04-15T20:06:56Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2013-04-15T20:06:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=32e1d8010b55bff768d03813f3e3c729bd064ae1'/>
<id>urn:sha1:32e1d8010b55bff768d03813f3e3c729bd064ae1</id>
<content type='text'>
PATH_MAX after the token substitution.  This is wrong, because
origin_subst_one() performs the substitution on the whole rpath and
similar strings, which contain several pathes separated by colon.  As
result, long (but correct) rpath consisting of many path elements is
rejected by the function.

Correct the problem by rewriting the origin_subst_one() to perform two
passes, first pass to calculate the number of substitutions to be
performed, and second pass to generate the resulting string.  Second
pass allocates the memory for the result based on the count from the
first pass, without enforcing a limit.

Reported and tested by:	pgj
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>rtld: Fix fd leak with parallel dlopen and fork/exec.</title>
<updated>2012-11-04T21:42:24Z</updated>
<author>
<name>Jilles Tjoelker</name>
<email>jilles@FreeBSD.org</email>
</author>
<published>2012-11-04T21:42:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e194282943c98622f529ff0e8c9a21f0e796367d'/>
<id>urn:sha1:e194282943c98622f529ff0e8c9a21f0e796367d</id>
<content type='text'>
Rtld did not set FD_CLOEXEC on its internal file descriptors; therefore,
such a file descriptor may be passed to a process created by another thread
running in parallel to dlopen() or fdlopen().

No other threads are expected to be running during parsing of the hints
and libmap files but the file descriptors need not be passed to child
processes so add O_CLOEXEC there as well.

This change will break fdlopen() (as used by OpenPAM) on kernels without
F_DUPFD_CLOEXEC (added in July). Note that running new userland on old
kernels is not supported.

Reviewed by:	kib
</content>
</entry>
<entry>
<title>Do not reference z_nodeflib for !objgiven case, thus fixing LD_PRELOAD</title>
<updated>2012-09-19T05:11:25Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2012-09-19T05:11:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1a4f1f697cbad3a040abd6b385a981c0f564378c'/>
<id>urn:sha1:1a4f1f697cbad3a040abd6b385a981c0f564378c</id>
<content type='text'>
for a non-absolute path.

PR:	bin/171604
MFC after:	3 days
</content>
</entry>
</feed>
