crash: longjmp vs -fprofile-arcs

Andrew Pinski apinski@apple.com
Fri Dec 6 21:09:00 GMT 2002


Here is the crash log for GNU C version 3.3 20021126 (experimental) 
(powerpc-apple-darwin6.2) (fsf-version):

Date/Time:  2002-12-06 19:04:18 -0800
OS Version: 10.2.2 (Build 6F21)
Host:       il0503d-dhcp84.apple.com

Command:    cc1
PID:        19935

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000018

Thread 0 Crashed:
  #0   0x00218e4c in insert_insn_on_edge (cfgrtl.c:1300)
  #1   0x002b32b4 in flow_call_edges_add (cfganal.c:326)
  #2   0x00136ecc in branch_prob (profile.c:793)
  #3   0x00099d28 in rest_of_compilation (toplev.c:3002)
  #4   0x00022d98 in c_expand_body (c-decl.c:6528)
  #5   0x00022928 in finish_function (c-decl.c:6401)
  #6   0x00002fc0 in yyparse (c-parse.c:404)
  #7   0x00010b68 in c_common_parse_file (c-lex.c:160)
  #8   0x00098d40 in compile_file (toplev.c:2130)
  #9   0x0009e280 in do_compile (toplev.c:5355)
  #10  0x0009e34c in toplev_main (toplev.c:5385)
  #11  0x00001cb8 in _start (crt.c:267)
  #12  0x00001b38 in start

PPC Thread State:
   srr0: 0x00218e4c srr1: 0x0000d930                vrsave: 0x00000000
    xer: 0x00000000   lr: 0x00218e3c  ctr: 0x90074080   mq: 0x00000000
     r0: 0x002b32b4   r1: 0xbffff180   r2: 0x00374320   r3: 0x00dc6dc0
     r4: 0x00000000   r5: 0x00000000   r6: 0x00000048   r7: 0x00000018
     r8: 0x00000047   r9: 0x00000008  r10: 0xafafafaf  r11: 0x0038f12c
    r12: 0x28002222  r13: 0x00349318  r14: 0x00366e48  r15: 0x00376e48
    r16: 0x0034f70c  r17: 0x00376e48  r18: 0x00967422  r19: 0x00349318
    r20: 0x00379318  r21: 0x00349318  r22: 0x00000000  r23: 0x00000001
    r24: 0x00000000  r25: 0x003731ac  r26: 0x00000000  r27: 0x00dae360
    r28: 0x003731ac  r29: 0x00dc6dc0  r30: 0x00000000  r31: 0x00218e3c




On Friday, Dec 6, 2002, at 18:22 US/Pacific, Dale Johannesen wrote:

> #include <setjmp.h>
> int foo (jmp_buf buf) { longjmp(buf, 1); }
>
> now what? cc -fprofile-arcs lj.c
> lj.c: In function `foo':
> lj.c:2: internal error: Bus error
> Please submit a full bug report, blah blah
>
> It seems the block that calls longjmp has no successors, and the code 
> in profile.c
> is not expecting that.  I'm not sure what the right thing is, could 
> somebody look?
>
>



More information about the Gcc mailing list