This is the mail archive of the mailing list for the binutils 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: .debug_frame section - incorrect relocations?

On Friday, December 06, 2013 07:44:32 AM Ian Lance Taylor wrote:
> On Thu, Dec 5, 2013 at 11:38 PM, Alexey Neyman <> wrote:
> > So, the question is, is it possible to express the behavior described by
> > DWARF spec ("insert an address that is offset of the specified symbol
> > from the start of the specified output section") in x86-64 and i386
> > relocations? If it is, shouldn't gas generate such relocations?
> There is no straightforward way to express that in an object file.
> > If not - are there any solutions to have .debug_frame at non-zero address,
> > yet with DWARF-conformat CIE links?
> I'm not aware of any.  DWARF sections are normally at address zero.

Thanks. Actually, this gave me an idea how to handle this using the AT(...) 
attribute in the linker script:

   __debug_frame_start = ALIGN(8);
   .debug_frame 0 : AT(__debug_frame_start) { *(.debug_frame) }
   . = __debug_frame_start + SIZEOF(.debug_frame);
   __debug_frame_end = .;

> If you are really only concerned about the .debug_frame section, you
> should be looking instead at the .eh_frame section, which is loaded
> into memory, and uses a slightly different format.  I don't know if it
> will provide everything you need, though.
> If you do need full debug info, then you'll have to tweak your DWARF
> reader to adjust by the base of the debug sections as appropriate.

No, I've just started with .debug_frame, but I'll need other .debug_* sections 
as well. They have the same issue, as far as I understand, so the linker 
script above seems to be more general solution (than tweak all specifications 
of "offset from the start of the section").


> Ian

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