This is the mail archive of the gcc@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: Where is the splitting of MIPS %hi and %lo relocations handled?


David Daney <ddaney@avtrex.com> writes:

> I am going to try to fix:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29721
> 
> Which is a problem where a %lo relocation gets separated from its
> corresponding %hi.
> 
> What is the mechanism that tries to prevent this from happening?  And
> where is it implemented?

This implemented by having the assembler sort the relocations so that
each %lo relocations follows the appropriate set of %hi relocations.
It is implemented in gas/config/tc-mips.c in append_insn.  Look for
reloc_needs_lo_p and mips_frob_file.

At first glance the assembler does appear to handle %got correctly, so
I'm not sure why it is failing for you.

Ian


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