This is the mail archive of the binutils@sources.redhat.com 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: H8300-elf-as DWARF problem preliminary analysis


> Thinking more about this, why wasn't this fixup simplified?
> 
> ie, the generic parts of gas know how to simplify a fixup involving
> the difference of two symbols in the same segment.
> 
> I think the answer is that we don't do fixup simplifications on parts
> where the linker is going to potentially relax the segment (shrink
> the segment).
> 
> You might look look at defining TC_LINKRELAX_FIXUP since I believe the
> fixup you need simplified is in a debugging section.  I believe you
> can find a suitable example in tc-mn10300.c.
> 
Big THANKS for your help. This fixes the problem at the root. Now
fixup simplification is done for debug sections. I copied following
line from tc-mn10300.h to tc-h8300.h

/* Fixup debug sections since we will never relax them.  */
#define TC_LINKRELAX_FIXUP(seg) (seg->flags & SEC_ALLOC)

I think I should localize the change by doing something
like:
#ifdef BFD_ASSEMBLER
#define TC_LINKRELAX_FIXUP(seg) (!DEBUG_SECTION(seg))
#endif

and define DEBUG_SECTION appropriately.

Thanks and Regards,
Nitin.


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