* config/tc-frv.c (md_pcrel_from_section): Heed TC_FORCE_RELOCATION.

gas/testsuite/
	* gas/frv/reloc1.[sd]: New test.
	* gas/frv/allinsn.exp: Run it.
This commit is contained in:
Richard Sandiford 2003-09-05 07:18:27 +00:00
parent ceae570b21
commit d508790742
6 changed files with 49 additions and 9 deletions

View File

@ -1,3 +1,7 @@
2003-09-05 Richard Sandiford <rsandifo@redhat.com>
* config/tc-frv.c (md_pcrel_from_section): Heed TC_FORCE_RELOCATION.
2003-09-04 Nick Clifton <nickc@redhat.com>
* config/tc-v850.c (set_machine): Accept v850e1 machine number.

View File

@ -1164,16 +1164,11 @@ md_convert_frag (abfd, sec, fragP)
long
md_pcrel_from_section (fixP, sec)
fixS * fixP;
segT sec;
segT sec ATTRIBUTE_UNUSED;
{
if (fixP->fx_addsy != (symbolS *) NULL
&& (! S_IS_DEFINED (fixP->fx_addsy)
|| S_GET_SEGMENT (fixP->fx_addsy) != sec))
{
/* The symbol is undefined (or is defined but not in this section).
Let the linker figure it out. */
return 0;
}
/* Make no adjustment for relocations that will be written out. */
if (TC_FORCE_RELOCATION (fixP))
return 0;
return (fixP->fx_frag->fr_address + fixP->fx_where) & ~1;
}

View File

@ -1,3 +1,8 @@
2003-09-05 Richard Sandiford <rsandifo@redhat.com>
* gas/frv/reloc1.[sd]: New test.
* gas/frv/allinsn.exp: Run it.
2003-09-04 Nick Clifton <nickc@redhat.com>
* gas/v850/v850e1.s: New test source file.

View File

@ -2,4 +2,5 @@
if [istarget frv*-*-*] {
run_dump_test "allinsn"
run_dump_test "reloc1"
}

View File

@ -0,0 +1,21 @@
#objdump: -dr
.* elf32-frv
Disassembly.*:
.* <begin>:
.*: 80 88 00 00 * nop
.*: 80 88 00 00 * nop
.* <f1>:
.*: 80 88 00 00 * nop
.*: 80 88 00 00 * nop
.*: 80 88 00 00 * nop
.* <f2>:
.*: 80 3c 00 00 * call.*
.*: R_FRV_LABEL24 f1
.*: c0 1a 00 00 * bra.*
.*: R_FRV_LABEL16 f1
.*: fe 3f ff fe * call .* <f2>
.*: c0 1a ff fd * bra .* <f2>
\.\.\.

View File

@ -0,0 +1,14 @@
.globl f1
begin:
nop
nop
f1:
nop
nop
nop
f2:
call f1
bra f1
call f2
bra f2
.space 16