linker relaxation

Edgar E. Iglesias edgar.iglesias@gmail.com
Fri Jun 24 00:35:00 GMT 2011


On Wed, Jun 22, 2011 at 10:28:32AM +0530, naga raj wrote:
> Hi,
> 
>    I am using Xilinx Microblaze target with Binutils version 2.21.
> 
>    My issue is that after compiler generates assembly instructions,
> linker is relaxing few of the instruction and up to this part it is
> fine.
>    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.
>    So due to this my debugging information is getting corrupted with
> wrong addresses.
> 
>    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.
> 
> 
>   Please help in resolving this issue. Please point me to any material
> or existing port(patch).

Hi,

I've seen similar errors before. IIRC, the microblaze relax pass in
binutils is broken (in the way you say) but I recall only seeing this
with bare-metal toolchains. It turned out that GCC, when built for
linux targets, turns off linker relaxation. I figured it was due to
the relax bugs. I dont remember all the details now though, so I might
be wrong.

Cheers



More information about the Binutils mailing list