• Richard Sandiford's avatar
    gas/ · c969da64
    Richard Sandiford authored
    	* symbols.c (S_FORCE_RELOC): Return true for indirect functions
    	even if !strict.
    	* expr.c (operand): Don't convert absolute symbols to constants
    	if S_FORCE_RELOC is true.
    	(expr): Only reduce subtractions between different symbols if
    	S_FORCE_RELOC is false for both of them.
    	* write.c (fixup_segment): Don't remove symbols if S_FORCE_RELOC
    	is true for them, regardless of their segment.
    
    gas/testsuite/
    	* gas/i386/ifunc-2.s, gas/i386/ifunc-2.l: New test.
    	* gas/i386/ifunc-3.s, gas/i386/ifunc-3.d: Likeise.
    	* gas/i386/i386.exp: Run them.
    c969da64
symbols.c 81.7 KB