Andrew Haley writes:
Andrew Haley writes:
> Anthony Green writes:
> > I see the following issues with rawhide (on x86) right now...
> >
> > * I'm not getting any stack traces, just <<No stacktrace
available>>
> >
> >
> > * Eclipse fails and the log contains the following errors (with no
> > stacktraces):
> >
> > java.lang.IllegalAccessError: org.xml.sax.helpers.NamespaceSupport$Context:
org.xml.sax.helpers.NamespaceSupport.EMPTY_ENUMERATION
> >
> > java.lang.Exception: Cannot initialize Update Configurator
> >
> > java.lang.IllegalStateException: Bundle
initial@reference:file:plugins/org.eclipse.core.runtime_3.1.1.jar/ [1] is not active.
> >
> >
> > * aot-compile-rpm is using -mcpu=i686, but -mcpu is deprecated in GCC 4.1. I
can't see where this comes from.
> >
> >
> > Any ideas?
>
> gcc is emitting bad unwinder data for some routines. This isn't a bug
> in the gcc unwinder itself, because gdb has the same problems. Look
> at Frame 7 and Frame 9:
BTW, I don't have this problem when building gcc from FSF sources.
You'll have to make your window hugely wide to read this mail.
Here's the difference. On the left, we have gcc version 4.1.0 20051212 (prerelease),
on the right we have gcc version 4.1.0 20051214 (Red Hat 4.1.0-0.9)
The one on the right is the one that works.
You'll note that the bad one uses three push instructions and then
sets CFA offset to 12. This is wrong AFAICS: the original CFA offset
at function entry is 4, so if you push three registers, the CFA offset
should be 16. The code on the right subtracts 12 from sp --
allocating three words -- and then sets CFA offset to 16. This one is
correct, and we get a Java stacktrace.
Both built on the same box. However, the 4.1 build was
i686-pc-linux-gnu, and the RPM build was i386-pc-linux-gnu. I'm
guessing that is the *real* difference, and I'm investigating building
4.1 branch with host=i386-pc-linux-gnu.
Andrew.
00a328f8 <java.lang.Throwable.Throwable(java.lang.String)>:
00a50db0
<java.lang.Throwable.Throwable(java.lang.String)>:
a328f8: 56 push %esi a50db0: 83 ec 0c
sub $0xc,%esp
a328f9: 53 push %ebx a50db3: 89 5c 24 04
mov %ebx,0x4(%esp)
a328fa: 50 push %eax a50db7: e8 a9 41 dc
ff call 814f65 <__i686.get_pc_thunk.bx>
a328fb: e8 00 00 00 00 call a32900
<java.lang.Throwable.Throwable(java.lang.String)+0x8> a50dbc: 81 c3 fc 5d
6f 00 add $0x6f5dfc,%ebx
a32900: 5b pop %ebx a50dc2: 89 74 24 08
mov %esi,0x8(%esp)
a32901: 81 c3 20 9b 65 00 add $0x659b20,%ebx a50dc6: 8b
74 24 10 mov 0x10(%esp),%esi
a32907: 8b 74 24 10 mov 0x10(%esp),%esi a50dca: 89
34 24 mov %esi,(%esp)
a3290b: 89 34 24 mov %esi,(%esp) a50dcd: e8 36
14 dc ff call 812208 <java.lang.Object.Object()@plt>
a3290e: e8 8d ed dd ff call 8116a0
<java.lang.Object.Object()@plt> a50dd2: 89 34 24 mov
%esi,(%esp)
a32913: 89 34 24 mov %esi,(%esp) a50dd5: e8 6e
a7 da ff call 7fb548 <java.lang.Throwable.finit$()@plt>
a32916: e8 c5 82 dc ff call 7fabe0
<java.lang.Throwable.finit$()@plt> a50dda: 8b 06 mov
(%esi),%eax
a3291b: 8b 06 mov (%esi),%eax a50ddc: 89 34
24 mov %esi,(%esp)
a3291d: 89 34 24 mov %esi,(%esp) a50ddf: ff 50
3c call *0x3c(%eax)
a32920: ff 50 3c call *0x3c(%eax) a50de2: 8b 44
24 14 mov 0x14(%esp),%eax
a32923: 8b 44 24 14 mov 0x14(%esp),%eax a50de6: 89
46 04 mov %eax,0x4(%esi)
a32927: 89 46 04 mov %eax,0x4(%esi) a50de9: 8b
5c 24 04 mov 0x4(%esp),%ebx
a3292a: 5e pop %esi a50ded: 8b 74 24 08
mov 0x8(%esp),%esi
a3292b: 5b pop %ebx a50df1: 83 c4 0c
add $0xc,%esp
a3292c: 5e pop %esi a50df4: c3
ret
a3292d: c3 ret
00058f08 0000001c 0003252c FDE cie=000269e0 pc=00a328f8..00a3292e
Augmentation data: 00 00 00 00 00053714 0000001c 0002f1f4 FDE
cie=00024524 pc=00a50d90..00a50db0
Augmentation data: 00 00 00 00
DW_CFA_advance_loc: 1 to 00a328f9
DW_CFA_def_cfa_offset: 8 DW_CFA_advance_loc: 1 to 00a50d91
DW_CFA_advance_loc: 1 to 00a328fa DW_CFA_def_cfa_offset: 8
DW_CFA_def_cfa_offset: 12 DW_CFA_offset: r3 at cfa-8
DW_CFA_offset: r3 at cfa-12 DW_CFA_advance_loc: 14 to 00a50d9f
DW_CFA_offset: r6 at cfa-8 DW_CFA_def_cfa_offset: 16
DW_CFA_nop DW_CFA_nop
DW_CFA_nop
00058f08 0000001c 0003252c FDE cie=000269e0 pc=00a328f8..00a3292e
DW_CFA_nop
LOC CFA r3 r6 ra
00a328f8 r4+4 u u c-4
00a328f9 r4+8 u u c-4 00053714 0000001c 0002f1f4 FDE cie=00024524
pc=00a50d90..00a50db0
00a328fa r4+12 c-12 c-8 c-4 LOC CFA r3 ra
00a50d90 r4+4 u c-4
00a50d91 r4+8 c-8 c-4
00a50d9f r4+16 c-8 c-4