mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-28 12:33:36 +08:00
2002-09-27 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* config/tc-sh.c (sh_force_relocation): Return 0 for some PC relative relocations when not relaxing. * testsuite/gas/sh/pcrel2.s: New. * testsuite/gas/sh/pcrel2.d: New. * testsuite/gas/sh/basic.exp: Add pcrel2 test.
This commit is contained in:
parent
613d38b830
commit
8ba4dac030
@ -1,3 +1,8 @@
|
||||
2002-09-27 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||||
|
||||
* config/tc-sh.c (sh_force_relocation): Return 0 for
|
||||
some PC relative relocations when not relaxing.
|
||||
|
||||
2002-09-26 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/tc-i386.c (tc_i386_fix_adjustable): Add x86-64 TLS relocs.
|
||||
|
@ -3219,6 +3219,18 @@ int
|
||||
sh_force_relocation (fix)
|
||||
fixS *fix;
|
||||
{
|
||||
/* These relocations can't make it into a DSO, so no use forcing
|
||||
them for global symbols. */
|
||||
if (! sh_relax
|
||||
&& (fix->fx_r_type == BFD_RELOC_SH_PCDISP8BY2
|
||||
|| fix->fx_r_type == BFD_RELOC_SH_PCDISP12BY2
|
||||
|| fix->fx_r_type == BFD_RELOC_SH_PCRELIMM8BY2
|
||||
|| fix->fx_r_type == BFD_RELOC_SH_PCRELIMM8BY4
|
||||
|| fix->fx_r_type == BFD_RELOC_8_PCREL
|
||||
|| fix->fx_r_type == BFD_RELOC_SH_SWITCH16
|
||||
|| fix->fx_r_type == BFD_RELOC_SH_SWITCH32))
|
||||
return 0;
|
||||
|
||||
if (fix->fx_r_type == BFD_RELOC_VTABLE_INHERIT
|
||||
|| fix->fx_r_type == BFD_RELOC_VTABLE_ENTRY
|
||||
|| fix->fx_r_type == BFD_RELOC_SH_LOOP_START
|
||||
|
@ -1,3 +1,9 @@
|
||||
2002-09-27 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||||
|
||||
* gas/sh/pcrel2.s: New.
|
||||
* gas/sh/pcrel2.d: New.
|
||||
* gas/sh/basic.exp: Add pcrel2 test.
|
||||
|
||||
2002-09-27 Jason Thorpe <thorpej@wasabisystems.com>
|
||||
|
||||
* gas/vax/elf-rel.[ds]: New test.
|
||||
|
@ -129,6 +129,8 @@ if [istarget sh*-*-*] then {
|
||||
run_dump_test "dsp"
|
||||
|
||||
run_dump_test "pcrel"
|
||||
|
||||
run_dump_test "pcrel2"
|
||||
}
|
||||
|
||||
if {[istarget sh*-*elf] || [istarget sh*-linux*]} then {
|
||||
|
5
gas/testsuite/gas/sh/pcrel2.d
Normal file
5
gas/testsuite/gas/sh/pcrel2.d
Normal file
@ -0,0 +1,5 @@
|
||||
#as: -big
|
||||
#objdump: -r
|
||||
#name: PC-relative loads
|
||||
|
||||
.*: file format .*sh.*
|
17
gas/testsuite/gas/sh/pcrel2.s
Normal file
17
gas/testsuite/gas/sh/pcrel2.s
Normal file
@ -0,0 +1,17 @@
|
||||
.text
|
||||
|
||||
.p2align 2
|
||||
code:
|
||||
bf foo
|
||||
mov.l bar, r0
|
||||
mov.w bar, r0
|
||||
.globl foo
|
||||
foo:
|
||||
bra foo
|
||||
nop
|
||||
.align 2
|
||||
.globl bar
|
||||
bar:
|
||||
.long . - foo
|
||||
.word . - foo
|
||||
.byte . - foo
|
Loading…
Reference in New Issue
Block a user