gas/Dwarf: properly skip zero-size functions
authorJan Beulich <jbeulich@suse.com>
Wed, 10 Aug 2022 08:30:46 +0000 (10:30 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 10 Aug 2022 08:30:46 +0000 (10:30 +0200)
commitd7abcbcea5ddd40a3bf28758b62f35933c59f996
treeb5d628f478f070f3f86603cab2c01911c40db7bd
parent6158b25f77db11712b84e6a4609898f2615ac749
gas/Dwarf: properly skip zero-size functions

PR gas/29451

While out_debug_abbrev() properly skips such functions, out_debug_info()
mistakenly didn't. It needs to calculate the high_pc expression ahead of
time, in order to skip emitting any data for the function if the value
is zero.

The one case which would still leave a zero-size entry is when
symbol_get_obj(symp)->size ends up evaluating to zero. I hope we can
expect that to not be the case, otherwise we'd need to have a way to
post-process .debug_info contents between resolving expressions and
actually writing the data out to the file. Even then it wouldn't be
entirely obvious in which way to alter the data.
gas/dwarf2dbg.c