[parisc-linux] new g++/exceptions problem
Paul Bame
bame@fc.hp.com
Fri, 15 Jun 2001 18:50:36 -0600
I built apt against the new exception-handling
compilers (pehc:~taggart/newcompilers-20010615)
and now all the apt utilities bus error right away. This stuff can
be found installed on gsyprf11 built from ~bame/apt. So far I know
!!die_if_kernel: apt-get(7797): Unaligned data reference 28
IAOQ: 000000004000ccab IIR: 0cc41280
ldd says this code in ld.so.1:
libapt-pkg-libc6.2-3.so.3.2 => /usr/lib/libapt-pkg-libc6.2-3.so.3.2 (0x4002b000)
libstdc++.so.3 => /usr/lib/libstdc++.so.3 (0x40120000)
libm.so.6 => /lib/libm.so.6 (0x40201000)
libc.so.6 => /lib/libc.so.6 (0x40291000)
/lib/ld.so.1 => /lib/ld.so.1 (0x40000000)
The offending code is:
0000c7a0 <_dl_relocate_object>:
...
cbf8: 0a cc 0a 16 add,l r12,r22,r22
cbfc: 0c a0 10 97 ldw 0(sr0,r5),r23
...
cc04: 0c e0 10 94 ldw 0(sr0,r7),r20
...
cc9c: 2a 60 00 00 addil 0,r19,%r1
cca0: 48 21 0a f0 ldw 578(sr0,r1),r1
cca4: 08 a1 28 80 cmpclr,= r1,r5,r0
--> cca8: 0c c4 12 80 stw r4,0(sr0,r6)
cc14: 0a 97 0a 06 add,l r23,r20,r6
r6 is 00000000401e51ee which refers to libstdc++ offset c51ee:
16 .data 00002f2c 000c22b0 000c22b0 000b22b0 2**4
CONTENTS, ALLOC, LOAD, DATA
17 .eh_frame 0001254c 000c51dc 000c51dc 000b51dc 2**2
CONTENTS, ALLOC, LOAD, DATA
18 .gcc_except_table 0000298c 000d7728 000d7728 000c7728 2**2
CONTENTS, ALLOC, LOAD, DATA
so it's inside the exception-handler frame. My wild guess is the
dynamic linker is trying to handle a new type of symbol which refers
to the new exception stuff which is for some reason not 4-byte
aligned, but this surely ain't my expertise area!
-P