No description
Find a file
Dodji Seketeli 8e7c603b5f Bug 33876 - Fix assert on split debug info with no program headers
When a split debug info file has no program headers,
elf_helpers::get_binary_load_address returns false as it cannot get
the information without program headers.

Sadly, dwarf::reader::maybe_adjust_address_for_exec_or_dyn asserts
that the call to get_binary_load_address on a debug info file must
always succeed.  This assert is arguably too eager.

This patch removes that assert and transforms it into a gently handled
condition.

	* src/abg-dwarf-reader.cc
	(reader::maybe_adjust_address_for_exec_or_dyn): Do not assert that
	get_binary_load_address should always return true.
	* tests/data/test-read-dwarf/PR33876/libctf.so.2: New binary input.
	* tests/data/test-read-dwarf/PR33876/libctf.so.2.abi: New output reference.
	* tests/data/test-read-dwarf/PR33876/libctf.so.2.debug: New binary input.
	* tests/data/Makefile.am: Add the new test inputs above to source
	distribution.
	* tests/test-read-dwarf.cc (in_out_specs): Add the test inputs to
	this harness.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2026-03-05 14:53:05 +01:00
.github Adding missing newline to build-container workflow 2022-05-17 09:46:16 +02:00
autoconf-archive Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
bash-completion Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
big-tests@54686ed675 big-tests: Update big-tests to commit 54686ed675463e4e846d0d8a9bc8766abf2c517b 2025-09-02 13:57:39 +02:00
doc Bug 33787 - Make abidb fail on debuginfo-less submitted binary 2026-03-03 15:27:47 +01:00
docker Add github actions to support workflows 2022-05-17 00:13:40 +02:00
include comparison: Speedup corpus diff computation 2026-02-27 16:27:53 +01:00
m4 Delete ltsugar.m4 and pkg.m4 files from m4/ 2015-01-06 09:54:45 +01:00
relicensing-scripts Bug 27512 - Remove broken zip-archive support 2021-03-19 10:52:57 +01:00
scripts Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
src Bug 33876 - Fix assert on split debug info with no program headers 2026-03-05 14:53:05 +01:00
tests Bug 33876 - Fix assert on split debug info with no program headers 2026-03-05 14:53:05 +01:00
tools Bug 33787 - Make abidb fail on debuginfo-less submitted binary 2026-03-03 15:27:47 +01:00
.clang-format Tweak clang-format configuration 2021-10-19 12:59:18 +02:00
.gitignore .gitignore: Add libabigail-?.* *.orig files 2019-05-22 14:34:23 +02:00
.gitmodules configure: Support the optional 'big-tests' sub-directory 2024-07-16 12:59:03 +02:00
.mailmap Add '.mailmap' 2021-12-17 20:12:20 +01:00
abigail.m4 Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
ABIXML-FORMAT-VERSIONS Bug 28450 - Fix cloned member function handling in DWARF 2021-11-12 18:31:28 +01:00
AUTHORS Initial AUTHORS and README 2013-02-28 13:25:20 +01:00
ChangeLog ChangeLog, News: Update for 2.9 release 2025-11-11 15:35:36 +01:00
COMMIT-LOG-GUIDELINES Update the COMMIT-LOG-GUIDELINES file 2016-05-22 23:20:12 +02:00
COMPILING Improve some grammar 2022-02-25 11:24:20 +01:00
configure.ac Bug 33787 - Make abidb fail on debuginfo-less submitted binary 2026-03-03 15:27:47 +01:00
CONTRIBUTING doc: Update CONTRIBUTING to reference C++14 2026-02-27 14:04:44 +01:00
default.abignore default.abignore: Improve default suppression for krb5 libraries 2025-04-03 14:03:24 +02:00
gen-changelog.py gen-changelog: Fix comments & cleanups 2025-08-21 14:44:14 +02:00
install-sh Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
libabigail.pc.in Make libxml2 a private dependency wrt pkconfig 2013-08-22 17:41:29 +02:00
license-change-2020.txt Add a license-change-2020.txt file 2020-12-02 11:50:22 +01:00
LICENSE.txt Add the LICENSE.txt file 2020-12-02 11:49:33 +01:00
ltmain.sh Replace individual license references with SPDX Identifiers 2020-12-02 11:44:13 +01:00
Makefile.am SECURITY: New security policy text 2024-11-13 15:35:16 +01:00
NEWS ChangeLog, News: Update for 2.9 release 2025-11-11 15:35:36 +01:00
README Improve some grammar 2022-02-25 11:24:20 +01:00
README-DOCKER.md Add github actions to support workflows 2022-05-17 00:13:40 +02:00
release-text-template.txt release-text-template.txt: Modernize a little bit. 2023-05-10 16:29:55 +02:00
SECURITY SECURITY: New security policy text 2024-11-13 15:35:16 +01:00
update-copyright.sh Update copyright years for 2025 2025-01-13 12:37:12 +01:00
VISIBILITY Improve some grammar 2022-02-25 11:24:20 +01:00

This is the Application Binary Interface Generic Analysis and
Instrumentation Library.

It aims at constructing, manipulating, serializing and de-serializing
ABI-relevant artifacts.

The set of artifacts that we are intersted is made of quantities like
types, variable, functions and declarations of a given library or
program.  For a given library or program this set of quantities is
called an ABI corpus.

This library aims at (among other things) providing a way to compare
two ABI Corpora (apparently the plural of corpus is copora, heh,
that's cool), provide detailed information about their differences,
and help build tools to infer interesting conclusions about these
differences.

You are welcome to contribute to this project after reading the files
CONTRIBUTING and COMMIT-LOG-GUIDELINES files in the source tree.

Communicating with the maintainers of this project -- including
sending patches to be include to the source code -- happens via email
at libabigail@sourceware.org.