This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FW: dwarf2 error(microblaze)


On 06/22/2011 05:13 AM, naga raj wrote:

Investigating the same issue further. I found that issue is in linker.

   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(including relaxed instruction spaces).
   So due to this my debugging information is getting corrupted with
wrong addresses.

Sounds like a possible cause.


   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.

What known issue?


I am using Xilinx Microblaze target with Binutils version 2.21.

  Please help in resolving this issue. Please point me to any material
or existing port(patch).

There's no existing patch; this appears to be a new problem.


The relaxation code is in binutils/bfd/elf32-microblaze.c in
microblaze_elf_relax_section().  You will need to find out if
it isn't handling the relocations correctly, not moving code
correctly, incorrectly adjusting the fixup value, or perhaps
some other reason why the relaxed address is computed incorrectly.

--
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]