<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libdwarf/Makefile, branch release/14.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F14.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F14.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2023-08-16T17:55:03Z</updated>
<entry>
<title>Remove $FreeBSD$: one-line sh pattern</title>
<updated>2023-08-16T17:55:03Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:55:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf'/>
<id>urn:sha1:d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf</id>
<content type='text'>
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
</content>
</entry>
<entry>
<title>libdwarf: Add some constants from DWARF 5</title>
<updated>2023-02-07T20:10:24Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2023-02-07T19:33:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7bb441c866781ec14b3e79a4f3e95fd319ab7ff9'/>
<id>urn:sha1:7bb441c866781ec14b3e79a4f3e95fd319ab7ff9</id>
<content type='text'>
This is not exhaustive - DWARF 5 has some new enumeration types not
implemented here - but I think I caught all the ones that are extended
in DWARF 5, plus the new compilation unit type (DW_UT_*), needed when
parsing .debug_info headers.

These were useful when extending libdwarf/ctfconvert/readelf to handle
DWARF generated by gcc 12, which is version 5 by default.

Reviewed by:	emaste
MFC after:	3 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D38273
</content>
</entry>
<entry>
<title>libdwarf: Add a weak uncompress() symbol</title>
<updated>2021-12-13T23:47:15Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2021-12-13T23:44:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3aa0bc89c6a1165cb16987493540372af24e760f'/>
<id>urn:sha1:3aa0bc89c6a1165cb16987493540372af24e760f</id>
<content type='text'>
This works around brokenness in buildworld's bootstrapping logic: it
uses the source tree's metadata to collect dependency info (such as,
"libdwarf depends on libz") but links against static host libraries.
If these two are out of sync, as is the case if one builds a commit
prior to the introduction of the libz dependency, then the build fails
when trying to statically link nm(1).

Mitigate the problem by defining a weak uncompress() symbol which simply
returns an error.  This ensures that the build won't fail when
statically linking libdwarf without zlib.  The downside is that any
tools using libdwarf without zlib will now hit a runtime error if they
attempt to decode compressed sections, but at least they'll fail
deterministically, and compressed debug info is only enabled by default
in main.

In particular, this fixes building of branches lacking commit
dbf05458e3bd, such as releng branches, stable/12 and 13 and old
revisions of main.  Previously the nm(1) build would fail with:

ld: error: undefined symbol: uncompress
&gt;&gt;&gt; referenced by libdwarf_elf_init.c:233
&gt;&gt;&gt; (/usr/src/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c:233)
&gt;&gt;&gt;               libdwarf_elf_init.o:(_dwarf_elf_init) in archive
&gt;&gt;&gt; /usr/lib/libdwarf.a

Reported by:	dim, ler, krion
Reviewed by:	imp, emaste
Fixes:		dbf05458e3bd ("libdwarf: Support consumption of compressed ELF sections")
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D33419
</content>
</entry>
<entry>
<title>libdwarf: Support consumption of compressed ELF sections</title>
<updated>2021-12-06T15:37:49Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2021-12-06T15:37:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dbf05458e3bd8c46f5e49918593557293a29d41a'/>
<id>urn:sha1:dbf05458e3bd8c46f5e49918593557293a29d41a</id>
<content type='text'>
Automatically decompress zlib-compressed debug sections when loading
them.  This lets ctfcovert work on userland code after commit
c910570e7573 ("Use compressed debug in standalone userland debug files
by default").

Reported by:	avg
Reviewed by:	avg, emaste
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D33139
</content>
</entry>
<entry>
<title>Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones</title>
<updated>2017-01-20T04:54:21Z</updated>
<author>
<name>Enji Cooper</name>
<email>ngie@FreeBSD.org</email>
</author>
<published>2017-01-20T04:54:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dc2cbb8328b1821afae08c7b708f97d486e7624b'/>
<id>urn:sha1:dc2cbb8328b1821afae08c7b708f97d486e7624b</id>
<content type='text'>
This simplifies pathing in make/displayed output

MFC after:    3 weeks
Sponsored by: Dell EMC Isilon
</content>
</entry>
<entry>
<title>elftoolchain: Use ${SRCTOP} for the top of the FreeBSD tree</title>
<updated>2016-04-21T12:58:29Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2016-04-21T12:58:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2821bdccaaa2dc9e04e3d6a865b6da57ef0f0cb8'/>
<id>urn:sha1:2821bdccaaa2dc9e04e3d6a865b6da57ef0f0cb8</id>
<content type='text'>
It's provided by sys.mk so there's no need to derive it from ${.CURDIR}.

Suggested by:	ngie
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D5998
</content>
</entry>
<entry>
<title>Replace ${CURDIR}/../.. with ${CURDIR:H:H} in elftoolchain</title>
<updated>2016-04-18T13:13:59Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2016-04-18T13:13:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c0e5e7f3d2e1bac7ada43b35843e3a018777854e'/>
<id>urn:sha1:c0e5e7f3d2e1bac7ada43b35843e3a018777854e</id>
<content type='text'>
This produces a nicer path in debug info and build logs.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>First pass through library packaging.</title>
<updated>2016-02-04T21:16:35Z</updated>
<author>
<name>Glen Barber</name>
<email>gjb@FreeBSD.org</email>
</author>
<published>2016-02-04T21:16:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a70cba95822f662d3f9da5119b6a0c433e8f70af'/>
<id>urn:sha1:a70cba95822f662d3f9da5119b6a0c433e8f70af</id>
<content type='text'>
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>META MODE: Fix 'make bootstrap-tools'.</title>
<updated>2015-11-25T19:44:51Z</updated>
<author>
<name>Bryan Drewery</name>
<email>bdrewery@FreeBSD.org</email>
</author>
<published>2015-11-25T19:44:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4aa63711a7423cb419d1225ca4576b3614658454'/>
<id>urn:sha1:4aa63711a7423cb419d1225ca4576b3614658454</id>
<content type='text'>
The main problem was bitrot after elftoolchain being swapped in for the
GNU toolchain.

This also reworks how the list of 'host allowed' libraries is determined
to only allow INTERNALLIBs, which is needed for libelftc to come in.

For usr.bin/readelf use the same hack, as libelf and libdward, to bring in
the needed sys/ headers for host builds.  This has not yet been a problem due
to readelf not being built as a host tool in buildworld.  This is possible
in the meta build though when building the toolchain.

Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
<entry>
<title>META MODE: Don't create .meta files when symlinking sources into the obj directory.</title>
<updated>2015-11-25T19:44:43Z</updated>
<author>
<name>Bryan Drewery</name>
<email>bdrewery@FreeBSD.org</email>
</author>
<published>2015-11-25T19:44:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b791fbe6302023b0cf00807865059c8f016fe5dc'/>
<id>urn:sha1:b791fbe6302023b0cf00807865059c8f016fe5dc</id>
<content type='text'>
Tracking these leads to situations where meta mode will consider the
file to be out of date if /bin/sh or /bin/ln are newer than the source
file.  There's no reason for meta mode to do this as make is already
handling the rebuild dependency fine.

Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
</feed>
