diff options
author | Stephane Carrez <stcarrez@nerim.fr> | 2002-12-01 13:25:05 +0000 |
---|---|---|
committer | Stephane Carrez <stcarrez@nerim.fr> | 2002-12-01 13:25:05 +0000 |
commit | a4ff0c7986624c9e8c12f5d3f2342837a4c36052 (patch) | |
tree | afb0c75bbaf214770a0f6da9d63ae8a8977a3c6d /ld/testsuite/ld-m68hc11 | |
parent | 304916478207cd089d547802cf04dc810b718a6d (diff) | |
download | gdb-a4ff0c7986624c9e8c12f5d3f2342837a4c36052.zip gdb-a4ff0c7986624c9e8c12f5d3f2342837a4c36052.tar.gz gdb-a4ff0c7986624c9e8c12f5d3f2342837a4c36052.tar.bz2 |
Fix PR savannah/1417:
* ld-m68hc11/bug-1417.s: New test.
* ld-m68hc11/bug-1417.d: Likewise.
Diffstat (limited to 'ld/testsuite/ld-m68hc11')
-rw-r--r-- | ld/testsuite/ld-m68hc11/bug-1417.d | 15 | ||||
-rw-r--r-- | ld/testsuite/ld-m68hc11/bug-1417.s | 21 |
2 files changed, 36 insertions, 0 deletions
diff --git a/ld/testsuite/ld-m68hc11/bug-1417.d b/ld/testsuite/ld-m68hc11/bug-1417.d new file mode 100644 index 0000000..d1e7c42 --- /dev/null +++ b/ld/testsuite/ld-m68hc11/bug-1417.d @@ -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 diff --git a/ld/testsuite/ld-m68hc11/bug-1417.s b/ld/testsuite/ld-m68hc11/bug-1417.s new file mode 100644 index 0000000..2b3e6a1 --- /dev/null +++ b/ld/testsuite/ld-m68hc11/bug-1417.s @@ -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 |