i386: Allow non-absolute segment values for lcall/ljmp
authorT.K. Chia <u1049321969@caramail.com>
Mon, 5 Oct 2020 12:46:23 +0000 (05:46 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 5 Oct 2020 12:58:33 +0000 (05:58 -0700)
commit6d96a5946d1ec76fea79bc36aa95d7d3dd304200
tree5dfc3a12aef12d0b0938764083ab2f12db6b19d6
parent983d925db6a09ac90f6bed90be16eb69267b58e0
i386: Allow non-absolute segment values for lcall/ljmp

Allow an unresolved or non-absolute symbol as the segment operand of an
immediate far jump (`ljmp SEG, OFF') or far call (`lcall SEG, OFF').

gas/

2020-10-05  T.K. Chia  <u1049321969@caramail.com>

PR gas/26694
* NEWS: Updated for i386 lcall and ljmp change.
* config/tc-i386.c (output_interseg_jump): Allow non-absolute
segment operand for immediate lcall and ljmp.
* testsuite/gas/i386/jump.d,
* testsuite/gas/i386/jump.s,
* testsuite/gas/i386/jump16.d,
* testsuite/gas/i386/jump16.e,
* testsuite/gas/i386/jump16.s: Add tests for non-absolute
segment operand for immediate ljmp.

ld/

2020-10-05  T.K. Chia  <u1049321969@caramail.com>

PR gas/26694
* testsuite/ld-i386/ljmp.s,
* testsuite/ld-i386/ljmp1.d,
* testsuite/ld-i386/ljmp1.s,
* testsuite/ld-i386/ljmp2.d,
* testsuite/ld-i386/ljmp2.s,
* testsuite/ld-x86-64/ljmp1.d,
* testsuite/ld-x86-64/ljmp2.d: New testcases.
* testsuite/ld-i386/i386.exp,
* testsuite/ld-x86-64/x86-64.exp: Run them.
18 files changed:
gas/ChangeLog
gas/NEWS
gas/config/tc-i386.c
gas/testsuite/gas/i386/jump.d
gas/testsuite/gas/i386/jump.s
gas/testsuite/gas/i386/jump16.d
gas/testsuite/gas/i386/jump16.e
gas/testsuite/gas/i386/jump16.s
ld/ChangeLog
ld/testsuite/ld-i386/i386.exp
ld/testsuite/ld-i386/ljmp.s [new file with mode: 0644]
ld/testsuite/ld-i386/ljmp1.d [new file with mode: 0644]
ld/testsuite/ld-i386/ljmp1.s [new file with mode: 0644]
ld/testsuite/ld-i386/ljmp2.d [new file with mode: 0644]
ld/testsuite/ld-i386/ljmp2.s [new file with mode: 0644]
ld/testsuite/ld-x86-64/ljmp1.d [new file with mode: 0644]
ld/testsuite/ld-x86-64/ljmp2.d [new file with mode: 0644]
ld/testsuite/ld-x86-64/x86-64.exp