aboutsummaryrefslogtreecommitdiff
path: root/lib/libdwarf/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* libdwarf: Add some constants from DWARF 5Mark Johnston2023-02-071-0/+1
| | | | | | | | | | | | | | | 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
* libdwarf: Add a weak uncompress() symbolMark Johnston2021-12-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* libdwarf: Support consumption of compressed ELF sectionsMark Johnston2021-12-061-1/+1
| | | | | | | | | | | | | 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
* Use SRCTOP-relative paths to other directories instead of .CURDIR-relative onesEnji Cooper2017-01-201-1/+1
| | | | | | | | | | This simplifies pathing in make/displayed output MFC after: 3 weeks Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=312511
* elftoolchain: Use ${SRCTOP} for the top of the FreeBSD treeEd Maste2016-04-211-3/+3
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=298401
* Replace ${CURDIR}/../.. with ${CURDIR:H:H} in elftoolchainEd Maste2016-04-181-1/+1
| | | | | | | | | | This produces a nicer path in debug info and build logs. MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=298204
* First pass through library packaging.Glen Barber2016-02-041-0/+1
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/projects/release-pkg/; revision=295278
* META MODE: Fix 'make bootstrap-tools'.Bryan Drewery2015-11-251-1/+1
| | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=291321
* META MODE: Don't create .meta files when symlinking sources into the obj ↵Bryan Drewery2015-11-251-2/+2
| | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=291320
* Update elftoolchain to upstream rev 3130Ed Maste2014-12-291-0/+13
| | | | | | | | | | | | | | | This includes a number of libdwarf improvements (particularly DWARF4 related) and updates to elftoolchain tools such as strip(1). It also includes a large number of miscellaneous fixes (memory leaks, sign and cast warnings, integer overflow and underflow, etc.). This is a merge of r276167,276170-276172 from the projects/elftoolchain-update-r3130 branch. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=276371
* Convert libraries to use LIBADDBaptiste Daroussin2014-11-251-2/+1
| | | | | | | While here reduce a bit overlinking Notes: svn path=/head/; revision=275024
* Bump SHLIB_MAJOR for libdwarf as ABI/API has changed.Kai Wang2014-01-211-1/+1
| | | | Notes: svn path=/projects/elftoolchain/; revision=260993
* Reapply revisions r237528, r237531 and r238741 which make libelfKai Wang2014-01-211-0/+13
| | | | | | | | | | | 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. Notes: svn path=/projects/elftoolchain/; revision=260991
* Remove INCSDIR variable which is only used in elftoolchain's own buildKai Wang2014-01-211-1/+0
| | | | | | | framework. Notes: svn path=/projects/elftoolchain/; revision=260990
* Remove the old libdwarf and bring in the new libdwarf in contrib/.Kai Wang2014-01-161-6/+311
| | | | Notes: svn path=/projects/elftoolchain/; revision=260794
* Bump shared libraries version numbers in preparation for 9.0.Konstantin Belousov2011-08-281-1/+1
| | | | | | | | | | | 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) Notes: svn path=/head/; revision=225227
* Add the ability to search for all the inlined instances of a given function.David E. O'Brien2011-05-071-0/+1
| | | | | | | | Reviewed by: jb Obtained from: Juniper Networks Notes: svn path=/head/; revision=221569
* Removed redundant -I. from CFLAGS and "yes" from WITHOUT_MAN.Ruslan Ermilov2010-02-251-2/+2
| | | | Notes: svn path=/head/; revision=204338
* Build lib/ with WARNS=6 by default.Ed Schouten2010-01-021-2/+0
| | | | | | | | | | | | 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. Notes: svn path=/head/; revision=201381
* Bump the version of all non-symbol-versioned shared libraries inKen Smith2009-07-191-1/+1
| | | | | | | | | | | 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) Notes: svn path=/head/; revision=195767
* Add a BSD licensed DWARF library for use by the DTrace clients.John Birrell2008-05-221-0/+30
The API for this library is deliberately different to the GPL'd libdwarf to avoid licensing problems. Notes: svn path=/head/; revision=179187