binutils-gdb/ld/testsuite/ld-i386/ljmp1.d
T.K. Chia 6d96a5946d 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.
2020-10-05 05:58:33 -07:00

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