* elf32-h8300.c (R_H8_DIR32A16): Fix name field.

(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
<R_H8_DIR32A16>: Fix type of relocation.

* ld-h8300/h8300.exp: Replace loop with explicit list.  Run relax.d
unconditionally.  Run relax-2.d for *-elf targets.
* ld-h8300/relax.d: Fix typo.
* ld-h8300/relax.s: Add 0x prefixes.
* ld-h8300/relad-2.[sd]: New test.
This commit is contained in:
Nick Clifton 2003-07-04 10:25:14 +00:00
parent 35cad4c475
commit 8c17da6e59
7 changed files with 46 additions and 11 deletions

View file

@ -1,3 +1,9 @@
2003-07-04 Paul <paulc@senet.com.au>
* elf32-h8300.c (R_H8_DIR32A16): Fix name field.
(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
<R_H8_DIR32A16>: Fix type of relocation.
2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic

View file

@ -183,7 +183,7 @@ static reloc_howto_type h8_elf_howto_table[] = {
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
special, /* special_function */
"R_H8_DIR32", /* name */
"R_H8_DIR32A16", /* name */
FALSE, /* partial_inplace */
0, /* src_mask */
0xffffffff, /* dst_mask */
@ -1076,6 +1076,9 @@ elf32_h8_relax_section (abfd, sec, link_info, again)
irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
R_H8_DIR8);
/* Move the relocation. */
irel->r_offset--;
/* Delete two bytes of data. */
if (!elf32_h8_relax_delete_bytes (abfd, sec,
irel->r_offset + 1, 2))
@ -1187,7 +1190,7 @@ elf32_h8_relax_section (abfd, sec, link_info, again)
/* Fix the relocation's type. */
irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info),
R_H8_DIR16A8);
R_H8_DIR16);
/* Delete two bytes of data. */
if (!elf32_h8_relax_delete_bytes (abfd, sec,

View file

@ -1,3 +1,11 @@
2003-07-04 Richard Sandiford <rsandifo@redhat.com>
* ld-h8300/h8300.exp: Replace loop with explicit list. Run relax.d
unconditionally. Run relax-2.d for *-elf targets.
* ld-h8300/relax.d: Fix typo.
* ld-h8300/relax.s: Add 0x prefixes.
* ld-h8300/relad-2.[sd]: New test.
2003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* ld-mips-elf/mips-elf.exp: Use is_elf_format.

View file

@ -1,5 +1,5 @@
# Expect script for ld-h8300 tests
# Copyright 2002 Free Software Foundation, Inc.
# Copyright 2002, 2003 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -24,9 +24,8 @@ if ![istarget h8300-*-*] {
return
}
set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]]
foreach test $test_list {
# We need to strip the ".d", but can leave the dirname.
verbose [file rootname $test]
run_dump_test [file rootname $test]
run_dump_test relax
if {[istarget *-elf]} {
run_dump_test relax-2
}

View file

@ -0,0 +1,11 @@
# name: H8300 Relaxation Test 2
# ld: --relax -m h8300helf
# objdump: -d --no-show-raw-insn
.*: file format .*-h8300
Disassembly of section .text:
00000100 <_start>:
*100: 28 67 * mov.b @0x67:8,r0l
*102: 6a 08 43 21 * mov.b @0x4321:16,r0l

View file

@ -0,0 +1,8 @@
.h8300h
.globl _start
_start:
mov.b @foo:16,r0l
mov.b @bar:32,r0l
.equ foo,0xffff67
.equ bar,0x4321

View file

@ -1,4 +1,4 @@
# name: H8300 Relxation Test
# name: H8300 Relaxation Test
# ld: --relax
# objdump: -d --no-show-raw-insn
@ -11,8 +11,8 @@ Disassembly of section .text:
00000100 <_start>:
100: 0d 00 mov.w r0,r0
102: 47 02 beq .+2 \(106\)
104: 55 02 bsr .+2 \(108\)
102: 47 02 beq .+2 \(0x106\)
104: 55 02 bsr .+2 \(0x108\)
00000106 <.L1>:
106: 54 70 rts