debuginfod: curious case of libicudata.so
Mark Wielaard
mark@klomp.org
Thu Apr 15 10:51:55 GMT 2021
Hi Frank,
On Thu, Apr 15, 2021 at 04:30:59AM -0400, Frank Ch. Eigler via Elfutils-devel wrote:
> Just happened to come across some odd traffic in gdb/debuginfod
> on the fedora servers. Wonder how common this case is. The
> RPM in question is icu:
>
> https://koji.fedoraproject.org/koji/buildinfo?buildID=1555665
> (f33; other versions the same)
>
> This builds into the usual binary / -debuginfo subrpms. Take
> a look at libicu*, and libicudata* within it: buildid
> 1600b578adeb2c27a24fbe68b88562f923d4b694.
>
> The .debug file is a wee little baby:
>
> -rw-r--r--. 1 root root 4144 Apr 15 07:34 /usr/lib/debug/usr/lib64/libicudata.so.67.1-67.1-4.fc33.x86_64.debug
>
> and since it contains no .debug* sections at all, debuginfod doesn't
> think it's a debuginfo-carrying file. eu-elfclassify --debug-only
> declares it a "yes", because it has a symtab. Should we follow
> eu-elfclassify's lead and get debuginfod to bless this file as a
> debuginfo too? Probably. But what a strange little file!
Yes, it doesn't contain any DWARF, which is why libdw doesn't like
it. But it does contain a .symtab sections, so it is "debuginfo".
I don't fully get why no DWARF is generated at all in this case. But
the whole shared library consists of just one file, which isn't empty,
but seems to be a stub and doesn't contain any real code, just some
data definitions:
* file name: stubdata.c
*
* Define initialized data that will build into a valid, but empty
* ICU data library. Used to bootstrap the ICU build
Cheers,
Mark
More information about the Elfutils-devel
mailing list