* config/tc-sh.c (md_apply_fix): Do not allow the generic code in
fixup_segment() to repeat a range check on a value that have already been checked here. * gas/sh/basic.exp: Run "too_large" dump test. * gas/sh/too_large.s: New test file. Check that .byte directives do not generate a bogus overflow message. * gas/sh/too_large.s: New test control file.
This commit is contained in:
parent
743a4945a6
commit
01eaea5ad2
|
@ -1,3 +1,9 @@
|
||||||
|
2006-07-12 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* config/tc-sh.c (md_apply_fix): Do not allow the generic code in
|
||||||
|
fixup_segment() to repeat a range check on a value that have
|
||||||
|
already been checked here.
|
||||||
|
|
||||||
2006-07-07 James E Wilson <wilson@specifix.com>
|
2006-07-07 James E Wilson <wilson@specifix.com>
|
||||||
|
|
||||||
* config/tc-mips.c (mips_cpu_info_table): Add sb1a.
|
* config/tc-mips.c (mips_cpu_info_table): Add sb1a.
|
||||||
|
|
|
@ -4080,6 +4080,11 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
|
||||||
}
|
}
|
||||||
if (max != 0 && (val < min || val > max))
|
if (max != 0 && (val < min || val > max))
|
||||||
as_bad_where (fixP->fx_file, fixP->fx_line, _("offset out of range"));
|
as_bad_where (fixP->fx_file, fixP->fx_line, _("offset out of range"));
|
||||||
|
else if (max != 0)
|
||||||
|
/* Stop the generic code from trying to overlow check the value as well.
|
||||||
|
It may not have the correct value anyway, as we do not store val back
|
||||||
|
into *valP. */
|
||||||
|
fixP->fx_no_overflow = 1;
|
||||||
|
|
||||||
if (fixP->fx_addsy == NULL && fixP->fx_pcrel == 0)
|
if (fixP->fx_addsy == NULL && fixP->fx_pcrel == 0)
|
||||||
fixP->fx_done = 1;
|
fixP->fx_done = 1;
|
||||||
|
|
|
@ -1,3 +1,10 @@
|
||||||
|
2006-07-12 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
* gas/sh/basic.exp: Run "too_large" dump test.
|
||||||
|
* gas/sh/too_large.s: New test file. Check that .byte directives
|
||||||
|
do not generate a bogus overflow message.
|
||||||
|
* gas/sh/too_large.s: New test control file.
|
||||||
|
|
||||||
2006-07-05 Julian Brown <julian@codesourcery.com>
|
2006-07-05 Julian Brown <julian@codesourcery.com>
|
||||||
|
|
||||||
* gas/arm/vfp-neon-syntax.d: Tweak expected fmsrr syntax.
|
* gas/arm/vfp-neon-syntax.d: Tweak expected fmsrr syntax.
|
||||||
|
|
|
@ -167,6 +167,8 @@ if [istarget sh*-*-*] then {
|
||||||
|
|
||||||
# Test --allow-reg-prefix.
|
# Test --allow-reg-prefix.
|
||||||
run_dump_test "reg-prefix"
|
run_dump_test "reg-prefix"
|
||||||
|
|
||||||
|
run_dump_test "too_large"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
#name: Check for bogus overflow errors in .byte directives
|
||||||
|
#as: -big -relax -isa=sh4a
|
||||||
|
#nm: -n
|
||||||
|
|
||||||
|
[ ]*U \.L318
|
||||||
|
[ ]*U \.L319
|
||||||
|
[ ]*U \.L320
|
||||||
|
[ ]*U \.L321
|
||||||
|
0+00100 t \.L307
|
|
@ -0,0 +1,39 @@
|
||||||
|
.file "too_large.c"
|
||||||
|
.text
|
||||||
|
nop
|
||||||
|
.align 8
|
||||||
|
.L307:
|
||||||
|
.byte .L302-.L307
|
||||||
|
.byte .L303-.L307
|
||||||
|
.byte .L304-.L307
|
||||||
|
.byte .L305-.L307
|
||||||
|
.L304:
|
||||||
|
mov.l .L318,r1
|
||||||
|
jsr @r1
|
||||||
|
mov r8,r4
|
||||||
|
lds r0,fpul
|
||||||
|
fsts fpul,fr1
|
||||||
|
flds fr1,fpul
|
||||||
|
sts fpul,r0
|
||||||
|
mov r14,r15
|
||||||
|
lds.l @r15+,pr
|
||||||
|
mov.l @r15+,r14
|
||||||
|
mov.l @r15+,r8
|
||||||
|
rts
|
||||||
|
nop
|
||||||
|
.L305:
|
||||||
|
mov.l .L319,r7
|
||||||
|
jsr @r7
|
||||||
|
mov r8,r4
|
||||||
|
lds r0,fpul
|
||||||
|
bra .L307
|
||||||
|
fsts fpul,fr1
|
||||||
|
.L303:
|
||||||
|
mov.l .L320,r6
|
||||||
|
jsr @r6
|
||||||
|
mov r8,r4
|
||||||
|
lds r0,fpul
|
||||||
|
bra .L307
|
||||||
|
fsts fpul,fr1
|
||||||
|
.L302:
|
||||||
|
mov.l .L321,r5
|
Loading…
Reference in New Issue