<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/libexec/rtld-elf/map_object.c, branch releng/12.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2020-09-11T10:05:44Z</updated>
<entry>
<title>MFC r365360, r365370:</title>
<updated>2020-09-11T10:05:44Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-09-11T10:05:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8d0174d29d37606c263ff12df0d58fb70d18dc89'/>
<id>urn:sha1:8d0174d29d37606c263ff12df0d58fb70d18dc89</id>
<content type='text'>
rtld: Handle ELF dso with program headers outside the first page.

PR:	229708
</content>
</entry>
<entry>
<title>MFC r359634:</title>
<updated>2020-04-18T03:14:16Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-04-18T03:14:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b55128c5ff7c690d9ba7f1701ed92e159fda68a9'/>
<id>urn:sha1:b55128c5ff7c690d9ba7f1701ed92e159fda68a9</id>
<content type='text'>
Make p_vaddr % p_align == p_offset % p_align for (some) TLS segments.
</content>
</entry>
<entry>
<title>MFC r355676:</title>
<updated>2019-12-20T01:00:18Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2019-12-20T01:00:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0155655486d277dc1f469f4aeb3b92b0810c51d6'/>
<id>urn:sha1:0155655486d277dc1f469f4aeb3b92b0810c51d6</id>
<content type='text'>
rtld: make checks for mmap(2) failures compliant with documentation.
</content>
</entry>
<entry>
<title>MFC r339877-r339879,r343564-r343566,r343580,r343754:</title>
<updated>2019-02-11T15:02:02Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2019-02-11T15:02:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=adbc40826e9055a56964e821866081911522d819'/>
<id>urn:sha1:adbc40826e9055a56964e821866081911522d819</id>
<content type='text'>
Untangle jemalloc and mutexes initialization.

The merge includes required warnings cleanup by arichardson, both to
avoid conflicts and to make rtld_malloc.c compilable with the libthr
WARNS settings.
</content>
</entry>
<entry>
<title>libexec: adoption of SPDX licensing ID tags.</title>
<updated>2017-11-27T15:25:02Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2017-11-27T15:25:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e6209940dee96d8deed5ee7c2b2663512dd55db9'/>
<id>urn:sha1:e6209940dee96d8deed5ee7c2b2663512dd55db9</id>
<content type='text'>
Mainly focus on files that use BSD 2-Clause license, however the tool I
was using misidentified many licenses so this was mostly a manual - error
prone - task.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

No functional change intended.
</content>
</entry>
<entry>
<title>Use address space guard to implement inter-segment gap.</title>
<updated>2017-06-24T17:04:27Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-06-24T17:04:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a36deee3d3e5a5048de8cff2f33166579b98fb5e'/>
<id>urn:sha1:a36deee3d3e5a5048de8cff2f33166579b98fb5e</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>Fix the AT_EXECFD functionality.</title>
<updated>2017-05-15T18:47:25Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2017-05-15T18:47:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9104191924e721f6bc70e731fa4954a71958e73e'/>
<id>urn:sha1:9104191924e721f6bc70e731fa4954a71958e73e</id>
<content type='text'>
If the mapped object is linked at specific address, we must obey it.
If AT_EXECFD is not used, only in-kernel ELF image activator needed to
keep the mapping address, since only binaries are linked at the fixed
address, and binaries are mapped by kernel in this case.

Reviewed by:	emaste
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
X-Differential revision:	https://reviews.freebsd.org/D10701
</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>This seems like a very trivial bug that should have been squashed a long</title>
<updated>2016-01-30T04:16:05Z</updated>
<author>
<name>Maxim Sobolev</name>
<email>sobomax@FreeBSD.org</email>
</author>
<published>2016-01-30T04:16:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7fd852f860b047f0e540360760aa4c95fd9285b2'/>
<id>urn:sha1:7fd852f860b047f0e540360760aa4c95fd9285b2</id>
<content type='text'>
time ago, but for some reason it was not. Basically, without this change
dlopen(3)'ing an empty .so file would just cause application to dump core
with SIGSEGV.

Make sure the file has enough data for at least the ELF header before
mmap'ing it.

Add a test case to check that dlopen an empty file return an error.

There were a separate discussion as to whether it should be SIGBUS
instead when you try to access region mapped from an empty file,
but it's definitely SIGSEGV now, so if anyone want to check that please
be my guest.
Reviewed by:	mjg, cem
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D5112
</content>
</entry>
<entry>
<title>Allow PT_NOTES segments to be located anywhere in the executable</title>
<updated>2015-10-14T18:29:21Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2015-10-14T18:29:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bd56d410c482895496914285a1fcf7f6344bd1b6'/>
<id>urn:sha1:bd56d410c482895496914285a1fcf7f6344bd1b6</id>
<content type='text'>
image.

The dynamic linker still requires that program headers of the
executable or dso are mapped by a PT_LOAD segment.

Reviewed by:	emaste, jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D3871
</content>
</entry>
</feed>
