mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-03 04:12:10 +08:00
6d96a5946d
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.
19 lines
418 B
Makefile
19 lines
418 B
Makefile
#name: Absolute non-overflowing relocs in ljmp segments
|
|
#as: --32
|
|
#source: ljmp1.s
|
|
#source: ljmp.s
|
|
#ld: -melf_i386 -z noseparate-code
|
|
#objdump: -dw
|
|
|
|
.*: +file format .*
|
|
|
|
|
|
Disassembly of section .text:
|
|
|
|
0+[a-f0-9]+ <_start>:
|
|
+[a-f0-9]+: 0f 22 c0 mov %eax,%cr0
|
|
+[a-f0-9]+: ea ([0-9a-f]{2} ){4}08 00 ljmp \$0x8,\$0x[a-f0-9]+
|
|
|
|
0+[a-f0-9]+ <foo>:
|
|
+[a-f0-9]+: 66 ea 00 00 18 00 ljmpw \$0x18,\$0x0
|