<feed xmlns='http://www.w3.org/2005/Atom'>
<title>build-id/Makefile, branch master</title>
<subtitle>Example code for reading an ELF binary's .note.gnu.build-id section, from the program itself</subtitle>
<id>http://git.mattst88.com/build-id/atom/Makefile?&amp;h=master</id>
<link rel='self' href='http://git.mattst88.com/build-id/atom/Makefile?&amp;h=master'/>
<link rel='alternate' type='text/html' href='http://git.mattst88.com/build-id/'/>
<updated>2020-06-24T17:32:21Z</updated>
<entry>
<title>Remove usage of bash '&amp;&gt;' redirection</title>
<updated>2020-06-24T17:32:21Z</updated>
<author>
<name>Neil Roza</name>
<email>neil@rtr.ai</email>
</author>
<published>2020-06-23T13:35:18Z</published>
<link rel='alternate' type='text/html' href='http://git.mattst88.com/build-id/commit/?id=72ea519e3563df60fe81a9534e0b8b85bd63a37f'/>
<id>urn:sha1:72ea519e3563df60fe81a9534e0b8b85bd63a37f</id>
<content type='text'>
On systems where /bin/sh is dash, this would lead to empty *.expected
and *.results files and thus make check would always succeed.

Closes: #1
</content>
</entry>
<entry>
<title>Always build with -fPIC</title>
<updated>2020-03-25T06:21:25Z</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2020-03-25T06:21:25Z</published>
<link rel='alternate' type='text/html' href='http://git.mattst88.com/build-id/commit/?id=d4c6267e4f8b28df6c98e1c6c5cb90021ce3665d'/>
<id>urn:sha1:d4c6267e4f8b28df6c98e1c6c5cb90021ce3665d</id>
<content type='text'>
The dladdr(3) explains that dladdr often doesn't do what you expect
because the function pointer will point to the PLT entry in the original
object and not the actual function itself.
</content>
</entry>
<entry>
<title>Add a program using dlopen</title>
<updated>2019-04-25T17:52:20Z</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2019-04-22T22:03:40Z</published>
<link rel='alternate' type='text/html' href='http://git.mattst88.com/build-id/commit/?id=8f13b4246acddd0cde1d34f81f4329dc22649d7d'/>
<id>urn:sha1:8f13b4246acddd0cde1d34f81f4329dc22649d7d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a check target to the Makefile</title>
<updated>2019-04-25T17:52:20Z</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2019-04-11T20:23:21Z</published>
<link rel='alternate' type='text/html' href='http://git.mattst88.com/build-id/commit/?id=7e5251db3421e221e3f72cfece21093afc5f0651'/>
<id>urn:sha1:7e5251db3421e221e3f72cfece21093afc5f0651</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add build_id_find_nhdr_by_symbol()</title>
<updated>2017-11-25T07:37:07Z</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2017-11-25T07:09:01Z</published>
<link rel='alternate' type='text/html' href='http://git.mattst88.com/build-id/commit/?id=ca636ca673e3b7ad5132ab1659598f6dffbcd8f7'/>
<id>urn:sha1:ca636ca673e3b7ad5132ab1659598f6dffbcd8f7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use dl_iterate_phdr() instead of a linker script.</title>
<updated>2016-12-15T00:19:48Z</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2016-12-15T00:04:26Z</published>
<link rel='alternate' type='text/html' href='http://git.mattst88.com/build-id/commit/?id=838ebbcf92352217ea7ed16e0894ea585a357f88'/>
<id>urn:sha1:838ebbcf92352217ea7ed16e0894ea585a357f88</id>
<content type='text'>
According to Mike Frysinger [1] it is not reliable to read ELF sections
at runtime, which the previous method involving the linker script was
doing.

Instead, use dl_iterate_phdr() to find the build id.

[1] https://sourceware.org/ml/binutils/2016-12/msg00207.html
</content>
</entry>
<entry>
<title>Initial commit</title>
<updated>2016-12-08T19:28:53Z</updated>
<author>
<name>Matt Turner</name>
<email>mattst88@gmail.com</email>
</author>
<published>2016-12-08T19:28:53Z</published>
<link rel='alternate' type='text/html' href='http://git.mattst88.com/build-id/commit/?id=48b08be237ae2708d36abb50ca381eb90ce51f67'/>
<id>urn:sha1:48b08be237ae2708d36abb50ca381eb90ce51f67</id>
<content type='text'>
</content>
</entry>
</feed>
