public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* target/9365: segfault in gen_far_branch (config/sh/sh.c)
@ 2003-01-18 21:26 marcus
0 siblings, 0 replies; only message in thread
From: marcus @ 2003-01-18 21:26 UTC (permalink / raw)
To: gcc-gnats
>Number: 9365
>Category: target
>Synopsis: segfault in gen_far_branch (config/sh/sh.c)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Sat Jan 18 21:26:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Marcus Comstedt
>Release: 3.3 20030113 (prerelease)
>Organization:
>Environment:
System: SunOS continuity 5.8 Generic_108528-10 sun4m sparc SUNW,SPARCstation-10
Architecture: sun4
host: sparc-sun-solaris2.8
build: sparc-sun-solaris2.8
target: sh-unknown-elf
configured with: /home/marcus/gcc-20030113/configure --target=sh-elf --with-newlib --enable-languages=c,c++
>Description:
The compiler segfaults at the following place:
(gdb) bt
#0 0x2f422c in gen_far_branch (bp=0xefffe568)
at /home/marcus/gcc-20030113/gcc/config/sh/sh.c:3228
#1 0x2f55a8 in split_branches (first=0x3ef400)
at /home/marcus/gcc-20030113/gcc/config/sh/sh.c:4114
#2 0x2f49f0 in machine_dependent_reorg (first=0x48f420)
at /home/marcus/gcc-20030113/gcc/config/sh/sh.c:3854
#3 0x2b9d0c in rest_of_compilation (decl=0x4d0280)
at /home/marcus/gcc-20030113/gcc/toplev.c:3508
#4 0x58f94 in c_expand_body (fndecl=0x4d0280, nested_p=0, can_defer_p=3766272)
at /home/marcus/gcc-20030113/gcc/c-decl.c:6525
#5 0x58b68 in finish_function (nested=0, can_defer_p=1)
at /home/marcus/gcc-20030113/gcc/c-decl.c:6396
#6 0x38cbc in yyparse () at c-parse.y:403
#7 0x460fc in c_common_parse_file (set_yydebug=0)
at /home/marcus/gcc-20030113/gcc/c-lex.c:159
#8 0x2b8364 in compile_file () at /home/marcus/gcc-20030113/gcc/toplev.c:2126
#9 0x2be260 in do_compile () at /home/marcus/gcc-20030113/gcc/toplev.c:5354
#10 0x2be328 in toplev_main (argc=17, argv=0xeffffa6c)
at /home/marcus/gcc-20030113/gcc/toplev.c:5385
(gdb) list
3223 emit_barrier_after (jump);
3224 emit_label_after (bp->near_label, insn);
3225 JUMP_LABEL (jump) = bp->far_label;
3226 if (! invert_jump (insn, label, 1))
3227 abort ();
3228 (emit_insn_after
3229 (gen_stuff_delay_slot
3230 (GEN_INT (INSN_UID (XEXP (SET_SRC (PATTERN (jump)), 0))),
3231 GEN_INT (recog_memoized (insn) == CODE_FOR_branch_false)),
3232 insn));
>How-To-Repeat:
Compile the following program with
`sh-elf-gcc -v -O2 -fomit-frame-pointer -c foo.c' :
---8<--- foo.c ---8<---
void foo(int n, int *p)
{
switch(n) {
case 100: case 110: case 120: case 130: case 140:
case 200: case 210: case 220: case 230: case 240:
case 300: case 310: case 320: case 330: case 340:
case 400: case 410: case 420: case 430: case 440:
case 500: case 510: case 520: case 530: case 540:
case 600: case 610: case 620: case 630: case 640:
case 700: case 710: case 720: case 730: case 740:
case 800: case 810: case 820: case 830: case 840:
case 900: case 910: case 920: case 930: case 940:
break;
default:
*p = n;
break;
}
}
---8<---
>Fix:
Use less optimization, or don't specify -fomit-frame-pointer.
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-01-18 21:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-18 21:26 target/9365: segfault in gen_far_branch (config/sh/sh.c) marcus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).