Fix calculation of synthetic symbol sizes (ppc64)
authorLuis Machado <lgustavo@codesourcery.com>
Thu, 1 Dec 2016 14:42:11 +0000 (08:42 -0600)
committerLuis Machado <lgustavo@codesourcery.com>
Thu, 1 Dec 2016 14:42:11 +0000 (08:42 -0600)
commitcec4b2e3fee8ae2c41089fc7454da56f676f653c
treeb4a26b9cb1a1fb9107fb33f9c532461025f48547
parent5cd1d8bcc24e948e86a636161e6d72f6316545a7
Fix calculation of synthetic symbol sizes (ppc64)

The attached patch fixes a problem where nm displays bogus information for
synthetic symbol sizes when --size-sort is used.

This happens because the synthetic symbols (dot symbols for ppc64) are
generated based on their non-dot symbols. The generation process doesn't copy
over the ELF-specific bits of the regular non-dot symbols.

When --size-sort is used, the code attempts to access the symbol size from
the ELF-specific bits and ends up reading gargabe, causing the size to be
displayed incorrectly.

With the patch, i can see dot and non-dot symbols having the same size with
--size-sort.

This doesn't fix the fact that we don't display size information for synthetic
symbols without --size-sort, which i may address in the future.

binutils/ChangeLog:

2016-12-01  Luis Machado  <lgustavo@codesourcery.com>

* nm.c (sort_symbols_by_size): Don't read symbol size if symbol
is synthetic.
binutils/ChangeLog
binutils/nm.c