<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/libexec/rtld-elf/Symbol.map, 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-05-27T21:56:45Z</updated>
<entry>
<title>MFC r361303, r361349, r361394, r361398, r361537:</title>
<updated>2020-05-27T21:56:45Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-05-27T21:56:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f33f0460b0a2ea535d7076849a2aa273542e619a'/>
<id>urn:sha1:f33f0460b0a2ea535d7076849a2aa273542e619a</id>
<content type='text'>
Change link_map::l_addr to mean load offset in ABI-compatible way.
Add link_map::l_refname.
Add rtld feature indicators.
</content>
</entry>
<entry>
<title>Add rtld private interface for dso to detect dynamic loading</title>
<updated>2015-01-03T18:09:53Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2015-01-03T18:09:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0e521992a44f909675127096f51621326c540481'/>
<id>urn:sha1:0e521992a44f909675127096f51621326c540481</id>
<content type='text'>
vs. static linking.

Tested by:	pho, antoine (exp-run)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
</content>
</entry>
<entry>
<title>- Export the function added in r265456 rather than the non-existent</title>
<updated>2014-05-07T17:21:22Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2014-05-07T17:21:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7a61fc5a8eaa79ad84d8844ca26cead31b62fb29'/>
<id>urn:sha1:7a61fc5a8eaa79ad84d8844ca26cead31b62fb29</id>
<content type='text'>
  _rtld_debug_postinit(). [1]
- Use __compiler_membar() instead of inline asm in _r_debug_state() and
  _r_debug_postinit(). [2]

Pointy hat to:	markj [1]
Reported by:	attilio [2]
Discussed with:	kib
X-MFC-With:	r265456
</content>
</entry>
<entry>
<title>Add a postinit debugger hook to rtld. This will be used by dtrace(1) to halt</title>
<updated>2014-05-06T18:07:58Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2014-05-06T18:07:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a8509eb20e4f11f0813f6c3262264b98f8dfb8a2'/>
<id>urn:sha1:a8509eb20e4f11f0813f6c3262264b98f8dfb8a2</id>
<content type='text'>
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).

Reviewed by:	kib
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Implement fdlopen(3), an rtld interface to load shared object by file</title>
<updated>2012-01-07T10:33:01Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2012-01-07T10:33:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5d8aec9c0224a1bafafc22a0f2e7572cbfd082dd'/>
<id>urn:sha1:5d8aec9c0224a1bafafc22a0f2e7572cbfd082dd</id>
<content type='text'>
descriptor.

Requested and tested by:	des (previous version)
Reviewed by:  des, kan (previous version)
MFC after:    2 weeks
</content>
</entry>
<entry>
<title>Remove a hack made obsolete by the binutils 2.17 merge.</title>
<updated>2011-02-20T16:16:42Z</updated>
<author>
<name>Nathan Whitehorn</name>
<email>nwhitehorn@FreeBSD.org</email>
</author>
<published>2011-02-20T16:16:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7a159e49711dedf6be9c8579ac46a22da8d2e47b'/>
<id>urn:sha1:7a159e49711dedf6be9c8579ac46a22da8d2e47b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>In rtld, read the initial stack access mode from AT_STACKPROT as set</title>
<updated>2011-01-08T17:11:49Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2011-01-08T17:11:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=212f264cd6bb3e32cabaf98f2340337756acf089'/>
<id>urn:sha1:212f264cd6bb3e32cabaf98f2340337756acf089</id>
<content type='text'>
by kernel, and parse PT_GNU_STACK phdr from linked and loaded dsos.

If the loaded dso requires executable stack, as specified by PF_X bit
of p_flags of PT_GNU_STACK phdr, but current stack protection does not
permit execution, the __pthread_map_stacks_exec symbol is looked up
and called. It should be implemented in libc or threading library and
change the protection mode of all thread stacks to be executable.

Provide a private interface _rtld_get_stack_prot() to export the stack
access mode as calculated by rtld.

Reviewed by:	   kan
</content>
</entry>
<entry>
<title>Introduce implementation-private rtld interface _rtld_addr_phdr, which</title>
<updated>2010-08-23T15:27:03Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-08-23T15:27:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e048186a626fdd1dc11f7dc9336a49a556a13cb5'/>
<id>urn:sha1:e048186a626fdd1dc11f7dc9336a49a556a13cb5</id>
<content type='text'>
fills struct dl_phdr_info for the shared object that contains the
specified address, if any.

Idea and reviewed by:	kan
MFC after:	3 weeks
</content>
</entry>
<entry>
<title>RTLD support for powerpc64. A few small modifications to the Makefile</title>
<updated>2010-07-10T17:43:24Z</updated>
<author>
<name>Nathan Whitehorn</name>
<email>nwhitehorn@FreeBSD.org</email>
</author>
<published>2010-07-10T17:43:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=27bd4146a177c20add372774250309ddc956a891'/>
<id>urn:sha1:27bd4146a177c20add372774250309ddc956a891</id>
<content type='text'>
and symbol map are required to support various consequences of the dot
symbol scheme:

- Symbols beginning with a dot are reserved, so start private symbols with
  an underscore.
- In order to set RTLD breakpoints, gdb must be able to locate the text
  entry point, not the data section function descriptor, so add
  .r_debug_state to the symbol map on powerpc64.

Obtained from:	projects/ppc64
</content>
</entry>
<entry>
<title>Allow the NULL, RTLD_SELF and RTLD_NEXT handles to work with dlfunc(3).</title>
<updated>2009-04-03T19:17:23Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2009-04-03T19:17:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c8da4f07d763e3bb6769ab4b7cb83774ecbac824'/>
<id>urn:sha1:c8da4f07d763e3bb6769ab4b7cb83774ecbac824</id>
<content type='text'>
dlfunc() called dlsym() to do the work, and dlsym() determines the dso
that originating the call by the return address. Due to this, dlfunc()
operated as if the caller is always the libc.

To fix this, move the dlfunc() to rtld, where it can call the internal
implementation of dlsym, and still correctly fetch return address.
Provide usual weak stub for the symbol from libc for static binaries.
dlfunc is put to FBSD_1.0 symver namespace in the ld.so export to
override dlfunc@FBSD_1.0 weak symbol, exported by libc.

Reported, analyzed and tested by:	Tijl Coosemans &lt;tijl ulyssis org&gt;
PR: standards/133339
Reviewed by:	kan
</content>
</entry>
</feed>
