<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/libexec/rtld-elf/rtld.c, branch upstream/11.0.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.0.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=upstream%2F11.0.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2016-08-19T08:44:37Z</updated>
<entry>
<title>MFC r304011:</title>
<updated>2016-08-19T08:44:37Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2016-08-19T08:44:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=34608b523e6f30d3befa451f14817de49bca646f'/>
<id>urn:sha1:34608b523e6f30d3befa451f14817de49bca646f</id>
<content type='text'>
Remove all remaining uses of TAILQ_FOREACH_FROM() from rtld-elf.

MFC r304012:
Fill phdr and phsize for rtld object.

Approved by:	re (gjb)
</content>
</entry>
<entry>
<title>MFC r302908:</title>
<updated>2016-07-22T17:24:36Z</updated>
<author>
<name>Bryan Drewery</name>
<email>bdrewery@FreeBSD.org</email>
</author>
<published>2016-07-22T17:24:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=90216203de47790b3ab1e42ee81511ebed99146e'/>
<id>urn:sha1:90216203de47790b3ab1e42ee81511ebed99146e</id>
<content type='text'>
  Fix dlsym(RTLD_NEXT) handling to only return the next library in last library
  cases.

Approved by:	re (gjb)
</content>
</entry>
<entry>
<title>Fix issues found by Coverity in the rtld-elf.c:gethints().</title>
<updated>2016-05-25T18:10:44Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2016-05-25T18:10:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=360ba6bc13d1d194f1b3a345d4afc150aba0c6ae'/>
<id>urn:sha1:360ba6bc13d1d194f1b3a345d4afc150aba0c6ae</id>
<content type='text'>
Check that the dirlist path string specification does not cause
overflow and is fully contained in the hints file.
Check that the dirlist string is nul-terminated.
Make 'hdr' static variable, so that hdr.dirlistlen is available when
hints cached value is used on next function calls.  Reset hdr.dirlistlen
to zero if error was detected, so that allocations use reasonable size.
Use 'hints', and not 'p' in the body, since p is only initialized on the
first call.

Reported and reviewed by:	truckman (previous version)
Sponsored by:	The FreeBSD Foundation
CIDs:	1006503, 1006504, 1006676, 1008488, 1007263
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>libexec: minor spelling fixes in comments.</title>
<updated>2016-05-01T19:39:23Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2016-05-01T19:39:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ec489d64bb4c1bca1a6bdfdf7e37900a85f886bc'/>
<id>urn:sha1:ec489d64bb4c1bca1a6bdfdf7e37900a85f886bc</id>
<content type='text'>
No functional change.
</content>
</entry>
<entry>
<title>rtld-elf: use NULL instead of zero for pointers.</title>
<updated>2016-04-19T19:03:55Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2016-04-19T19:03:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a5d5e8dd7c76ce71022cde628b7f4ff5e1314223'/>
<id>urn:sha1:a5d5e8dd7c76ce71022cde628b7f4ff5e1314223</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix handling of DT_TEXTREL for an object with more than one read-only</title>
<updated>2016-03-02T16:36:24Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2016-03-02T16:36:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ca8c8dc3ebe7a92dd6d7951231769154a0454b52'/>
<id>urn:sha1:ca8c8dc3ebe7a92dd6d7951231769154a0454b52</id>
<content type='text'>
segment.  According to gABI spec, presence of the tag indicates that
dynamic linker must be prepared to handle relocations against any
read-only segment, not only the segment which we, somewhat arbitrary,
declared the text.

For each read-only segment, add write permission before relocs are
processed, and return to the mapping mode requested by the phdr, after
relocs are done.

Reported, tested, and reviewed by:	emaste
PR:	207631
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Do not unlock rtld_phdr_lock over callback invocations.</title>
<updated>2016-01-27T20:20:37Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2016-01-27T20:20:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ef2c2a692b75d644549827b3aaa9f1736940fe85'/>
<id>urn:sha1:ef2c2a692b75d644549827b3aaa9f1736940fe85</id>
<content type='text'>
The dl_iterate_phdr consumer code in libgcc does not expect multiple
callbacks running concurrently. This was fixed once already in r178807,
but accidentally got reverted in r294373.
</content>
</entry>
<entry>
<title>Fix initlist_add_object invocation parameters.</title>
<updated>2016-01-20T23:26:35Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2016-01-20T23:26:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=832b9473057a675a90b4b1e7929ef3c5b82904f6'/>
<id>urn:sha1:832b9473057a675a90b4b1e7929ef3c5b82904f6</id>
<content type='text'>
The tail parameter should point to the last object for
which dependencies should be processed. In most cases,
this is the object itself.
</content>
</entry>
<entry>
<title>Do not call callbacks for dl_iterate_phdr(3) with the rtld bind and</title>
<updated>2016-01-20T07:21:33Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2016-01-20T07:21:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9fee0541f2815c1ea70ccc13402f3ed6c4ed9fdf'/>
<id>urn:sha1:9fee0541f2815c1ea70ccc13402f3ed6c4ed9fdf</id>
<content type='text'>
phdr locks locked.  This allows to call rtld services from the
callback, which is only reasonable for dlopen(path, RTLD_NOLOAD) to
test existence of the library in the image, and for dlsym().  The
later might still be not quite safe, due to the lazy resolution of
filters.

To allow dropping the locks around iteration in dl_iterate_phdr(3), we
insert markers to track current position between relocks.  The global
objects list is converted to tailq and all iterators skip markers,
globallist_next() and globallist_curr() helpers are added.

Reported and tested by:	davide
Reviewed by:	kan
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
</content>
</entry>
<entry>
<title>Restore ABI variants now that ldconfig groks -soft. In addition, as a</title>
<updated>2016-01-18T21:40:20Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2016-01-18T21:40:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3dda93b9a7988d358350991744ea9377409921b1'/>
<id>urn:sha1:3dda93b9a7988d358350991744ea9377409921b1</id>
<content type='text'>
transition mechanism, if we don't have /usr/libsoft, assume that soft
float ABI binaries are the default, so treat them as default binaries.
When we've fully transitioned, it will make no sense to do this stat,
and it will be removed.
</content>
</entry>
</feed>
