PR savannah/3331:
* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group when we couldn't relax something. * ld-m68hc11/bug-3331.d: New test. * ld-m68hc11/bug-3331.s: New file.
This commit is contained in:
parent
aaa222e7b0
commit
d204f4c0f9
|
@ -1,3 +1,9 @@
|
|||
2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
|
||||
|
||||
PR savannah/3331:
|
||||
* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
|
||||
when we couldn't relax something.
|
||||
|
||||
2003-04-25 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* elflink.h (elf_merge_symbol): When we find a regular definition
|
||||
|
|
|
@ -1073,6 +1073,7 @@ m68hc11_elf_relax_section (abfd, sec, link_info, again)
|
|||
}
|
||||
}
|
||||
prev_insn_branch = 0;
|
||||
prev_insn_group = 0;
|
||||
}
|
||||
|
||||
if (free_relocs != NULL)
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
|
||||
|
||||
* ld-m68hc11/bug-3331.d: New test.
|
||||
* ld-m68hc11/bug-3331.s: New file.
|
||||
|
||||
2003-04-25 Nick Clifton <nickc@redhat.com>
|
||||
J"orn Rennecke <joern.rennecke@superh.com>
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
#source: bug-3331.s
|
||||
#as: -m68hc11
|
||||
#ld: --relax
|
||||
#objdump: -d --prefix-addresses -r
|
||||
#target: m6811-*-* m6812-*-*
|
||||
|
||||
.*: +file format elf32-m68hc11
|
||||
|
||||
Disassembly of section .text:
|
||||
0+8000 <_start> ldx #0+1100 <__data_section_start>
|
||||
0+8003 <_start\+0x3> bset 0,x \#\$04
|
||||
0+8006 <L1> ldd \#0+2 <__bss_size\+0x2>
|
||||
0+8009 <L1\+0x3> std \*0+ <__bss_size>
|
||||
0+800b <L1\+0x5> rts
|
|
@ -0,0 +1,23 @@
|
|||
;;; Bug #3331: Invalid group relaxation, bset uses an invalid address
|
||||
;;; http://savannah.gnu.org/bugs/?func=detailbug&bug_id=3331&group_id=2424
|
||||
;;;
|
||||
.sect .text
|
||||
.globl _start
|
||||
_start:
|
||||
.relax L1
|
||||
ldx #foo ;; This relax group must not be changed.
|
||||
bset 0,x #4
|
||||
L1:
|
||||
ldd #2
|
||||
std table ;; This instruction uses a symbol in page0
|
||||
;; and it triggered the relaxation of the
|
||||
;; previous relax group
|
||||
rts
|
||||
|
||||
.sect .page0
|
||||
.globl table
|
||||
table: .long 0
|
||||
|
||||
.sect .data
|
||||
.globl foo
|
||||
foo: .long 0
|
Loading…
Reference in New Issue