David Daney <[EMAIL PROTECTED]> 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