This is the mail archive of the
mailing list for the binutils project.
Re: [Patch, microblaze, gas, bfd] PR/14736 Correct adjustment of global symbols after relax
- From: Michael Eager <eager at eagerm dot com>
- To: David Holsgrove <david dot holsgrove at xilinx dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>, John Williams <jwilliams at xilinx dot com>, Vinod Kathail <vinodk at xilinx dot com>, Tom Shui <tshui at xilinx dot com>, Vidhumouli Hunsigida <vidhum at xilinx dot com>, Nagaraju Mekala <nmekala at xilinx dot com>, "Edgar E. Iglesias" <edgar dot iglesias at gmail dot com>
- Date: Wed, 28 Nov 2012 18:02:36 -0800
- Subject: Re: [Patch, microblaze, gas, bfd] PR/14736 Correct adjustment of global symbols after relax
- References: <30395d74-d0a8-48c7-ab3d-8171cdfaedc0@DB3EHSMHS001.ehs.local>
On 11/22/2012 04:05 AM, David Holsgrove wrote:
Fixup symbol sizes after linker relaxation
Correct an off-by one when comparing relaxation addresses
with symbol start.
Also addresses PR/14736 where clang gave warning;
use of unary operator that may be intended as
compound assignment (-=)
2012-11-22 Edgar E. Iglesias <firstname.lastname@example.org>
* elf32-microblaze.c (calc_size_fixup): New
(calc_fixup): Use calc_size_fixup to adjust
2012-11-22 David Holsgrove <email@example.com>
* gas/microblaze/relax_size.exp: New file - test
object size after linker relaxation
* gas/microblaze/relax_size.s: Likewise
* gas/microblaze/relax_size.elf: Likewise
calc_size_fixup() is almost the same as calc_fixup(). Comments say they
do the same thing. Are both needed? When would the values returned be different?
+ int count, count_size;
+ count = calc_fixup (isym->st_value, sec);
+ count_size = calc_size_fixup (isym->st_value, isym->st_size, sec);
The values returned by calc_fixup() and calc_size_fixup() are not counts, but
the total size of the fixups. Please use more descriptive names (2 places).
Michael Eager firstname.lastname@example.org
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077