Skip to content
  • H.J. Lu's avatar
    x86: Properly handle PLT expression in directive · b9519cfe
    H.J. Lu authored
    For PLT expressions, we should subtract the PLT relocation size only for
    jump instructions.  Since PLT relocations are PC relative, we only allow
    "symbol@PLT" in PLT expression.
    
    gas/
    
    	PR gas/23997
    	* config/tc-i386.c (x86_cons): Check for invalid PLT expression.
    	(md_apply_fix): Subtract the PLT relocation size only for jump
    	instructions.
    	* testsuite/gas/i386/reloc32.s: Add test for invalid PLT
    	expression.
    	* testsuite/gas/i386/reloc64.s: Likewise.
    	* testsuite/gas/i386/ilp32/reloc64.s: Likewise.
    	* testsuite/gas/i386/reloc32.l: Updated.
    	* testsuite/gas/i386/reloc64.l: Likewise.
    	* testsuite/gas/i386/ilp32/reloc64.l: Likewise.
    
    ld/
    
    	PR gas/23997
    	* testsuite/ld-i386/i386.exp: Run PR gas/23997 test.
    	* testsuite/ld-x86-64/x86-64.exp: Likewise.
    	* testsuite/ld-x86-64/pr23997a.s: New file.
    	* testsuite/ld-x86-64/pr23997b.c: Likewise.
    	* testsuite/ld-x86-64/pr23997c.c: Likewise.
    b9519cfe
To find the state of this project's repository at the time of any of these versions, check out the tags.