Fix PR savannah/1417:

* ld-m68hc11/bug-1417.s: New test.
	* ld-m68hc11/bug-1417.d: Likewise.
This commit is contained in:
Stephane Carrez 2002-12-01 13:25:05 +00:00
parent 3049164782
commit a4ff0c7986
3 changed files with 42 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
Fix PR savannah/1417:
* ld-m68hc11/bug-1417.s: New test.
* ld-m68hc11/bug-1417.d: Likewise.
2002-11-28 Jakub Jelinek <jakub@redhat.com>
* ld-i386/tlsnopic.rd: Change NOTYPE to TLS for UND sg* symbols.

View File

@ -0,0 +1,15 @@
#source: bug-1417.s
#as: -m68hc11
#ld: --relax
#objdump: -d --prefix-addresses -r
#target: m6811-*-* m6812-*-*
.*: +file format elf32-m68hc11
Disassembly of section .text:
0+8000 <_start> tst 0+ <__bss_size>
0+8003 <_start\+0x3> bne 0+8008 <L1>
0+8005 <_start\+0x5> jsr 0+800c <foo>
0+8008 <L1> bset \*0+ <__bss_size> \#\$04
0+800b <L2> rts
0+800c <foo> rts

View File

@ -0,0 +1,21 @@
;;; Bug #1417: Branch wrong after linker relaxation
;;; http://savannah.gnu.org/bugs/?func=detailbug&bug_id=1417&group_id=2424
;;;
.sect .text
.globl _start
_start:
tst table
bne L1 ; Branch was adjusted but it must not
jsr foo
L1:
.relax L2
ldx #table ; Instruction removed
bset 0,x #4 ; Changed to bset *table #4
L2:
rts
foo:
rts
.sect .page0
.globl table
table: .long 0