CVSROOT:        /cvs
Module name:    src
Changes by:     v...@cvs.openbsd.org    2019/06/24 07:44:21

Modified files:
        gnu/llvm/lib/Target/Mips/AsmParser: MipsAsmParser.cpp 

Log message:
Fix a bug in memory operand handling. If a load or store uses a symbol
as a memory operand, the assembler generates incorrect relocations in
PIC mode. As a simple fix, expand the instruction into an address load
sequence, which works, that is followed by the actual memory
instruction.

Note that the generated sequence is not always optimal. If the symbol
has a small offset, the offset could be fused with the memory
instruction. The fix does not achieve that, however. A symbol offset
adds an extra instruction.

Reply via email to