History log of /freebsd-current/lib/libdwarf/Makefile
Revision Date Author Comments
# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 7bb441c8 07-Feb-2023 Mark Johnston <markj@FreeBSD.org>

libdwarf: Add some constants from DWARF 5

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


# 3aa0bc89 13-Dec-2021 Mark Johnston <markj@FreeBSD.org>

libdwarf: Add a weak uncompress() symbol

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
>>> referenced by libdwarf_elf_init.c:233
>>> (/usr/src/contrib/elftoolchain/libdwarf/libdwarf_elf_init.c:233)
>>> libdwarf_elf_init.o:(_dwarf_elf_init) in archive
>>> /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


# dbf05458 06-Dec-2021 Mark Johnston <markj@FreeBSD.org>

libdwarf: Support consumption of compressed ELF sections

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


# dc2cbb83 19-Jan-2017 Enji Cooper <ngie@FreeBSD.org>

Use SRCTOP-relative paths to other directories instead of .CURDIR-relative ones

This simplifies pathing in make/displayed output

MFC after: 3 weeks
Sponsored by: Dell EMC Isilon


# 2821bdcc 20-Apr-2016 Ed Maste <emaste@FreeBSD.org>

elftoolchain: Use ${SRCTOP} for the top of the FreeBSD tree

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


# c0e5e7f3 18-Apr-2016 Ed Maste <emaste@FreeBSD.org>

Replace ${CURDIR}/../.. with ${CURDIR:H:H} in elftoolchain

This produces a nicer path in debug info and build logs.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation


# a70cba95 04-Feb-2016 Glen Barber <gjb@FreeBSD.org>

First pass through library packaging.

Sponsored by: The FreeBSD Foundation


# 4aa63711 25-Nov-2015 Bryan Drewery <bdrewery@FreeBSD.org>

META MODE: Fix 'make bootstrap-tools'.

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


# b791fbe6 25-Nov-2015 Bryan Drewery <bdrewery@FreeBSD.org>

META MODE: Don't create .meta files when symlinking sources into the obj directory.

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


# 6b129086 25-Nov-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Convert libraries to use LIBADD
While here reduce a bit overlinking


# be116213 21-Jan-2014 Kai Wang <kaiw@FreeBSD.org>

Bump SHLIB_MAJOR for libdwarf as ABI/API has changed.


# 6eabfa96 21-Jan-2014 Kai Wang <kaiw@FreeBSD.org>

Reapply revisions r237528, r237531 and r238741 which make libelf
properly include sys/ headers from the source tree instead of the
host.

These patches are also applied to libdwarf since libdwarf requires
the same sys/ headers as libelf.


# a1abeb05 21-Jan-2014 Kai Wang <kaiw@FreeBSD.org>

Remove INCSDIR variable which is only used in elftoolchain's own build
framework.


# fbb4c451 16-Jan-2014 Kai Wang <kaiw@FreeBSD.org>

Remove the old libdwarf and bring in the new libdwarf in contrib/.


# 7596eb48 28-Aug-2011 Konstantin Belousov <kib@FreeBSD.org>

Bump shared libraries version numbers in preparation for 9.0.
This time, only libraries which ABI has been changed compared to
stable/8, are bumped.

ABI analysis done by: Gleb Kurtsou
Approved by: re (kensmith)


# 9b2a96cc 06-May-2011 David E. O'Brien <obrien@FreeBSD.org>

Add the ability to search for all the inlined instances of a given function.

Reviewed by: jb
Obtained from: Juniper Networks


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 13c89dbf 25-Feb-2010 Ruslan Ermilov <ru@FreeBSD.org>

Removed redundant -I. from CFLAGS and "yes" from WITHOUT_MAN.


# daaf5759 02-Jan-2010 Ed Schouten <ed@FreeBSD.org>

Build lib/ with WARNS=6 by default.

Similar to libexec/, do the same with lib/. Make WARNS=6 the norm and
lower it when needed.

I'm setting WARNS?=0 for secure/. It seems secure/ includes the
Makefile.inc provided by lib/. I'm not going to touch that directory.
Most of the code there is contributed anyway.


# 3ca3047a 19-Jul-2009 Ken Smith <kensmith@FreeBSD.org>

Bump the version of all non-symbol-versioned shared libraries in
preparation for 8.0-RELEASE. Add the previous version of those
libraries to ObsoleteFiles.inc and bump __FreeBSD_Version.

Reviewed by: kib
Approved by: re (rwatson)


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 64338493 21-May-2008 John Birrell <jb@FreeBSD.org>

Add a BSD licensed DWARF library for use by the DTrace clients.

The API for this library is deliberately different to the GPL'd
libdwarf to avoid licensing problems.