This is the mail archive of the
mailing list for the binutils project.
Re: linker relaxation
- From: Nick Clifton <nickc at redhat dot com>
- To: naga raj <gnuuser dot raj at gmail dot com>
- Cc: binutils at sourceware dot org
- Date: Wed, 22 Jun 2011 15:32:45 +0100
- Subject: Re: linker relaxation
- References: <BANLkTinqX_Ywg53jHaUNuh_Lo=RKPE+MGQ@mail.gmail.com>
But my linker is not decreasing relaxed instructions space as a
result debug_loc locations in the dwarf2 debugging information is
displaying the address ranges that are generated by compiler.
I know this is a known issue in linker relaxation, but as a newbie
to binutils I could not figure it out where to change in my code.
The most likely place is:
It is also possible that the DWARF debug_loc address ranges are being
computed by the assembler, rather than the linker. Hence they are fixed
before relaxation occurs and so cannot be corrected by the linker. Have
a look at gas/config/tc-mn10300.c:
mn10300_allow_local_subtract() for an example of port that has this
problem and how it was fixed there.