|
From: Duane G. <d.g...@ps...> - 2005-03-12 19:03:38
|
Tom Hughes wrote:
> The library isn't much use if it has dependencies. The output from
> running "objdump -G" on it might be, but only if we can work which
> stab is causing the crash.
OK, I've dumped the stabs info and recompiled the rc3 valgrind code with =
stabs_debug enabled to figure out where the problem is. It looks like =
the offending entry is this one:
12 GSYM 0 0 00000000 373 logical*2:t22=3D2;
I've had a bit of a look around in the code and managed to get it past =
the problem with the patch included below. Of course I have no idea if =
what I'm doing there is valid, or whether it might break anything else. =
Also, after it gets past that one, it goes on to crash on a completely =
different symbol a bit later. It seems pgf77 3.2 is generating some =
fairly idiosyncractic debugging information.
Just FYI, the next symbol it fails on looks like this:
16 PSYM 0 0 00000008 445 filename:var3;1;A12;13
No time to look into it further at the moment, but I might try and come =
back to it later in the week.
--- coregrind/vg_stabs.c.orig Sat Mar 12 19:02:30 2005
+++ coregrind/vg_stabs.c Sat Mar 12 19:02:08 2005
@@ -668,6 +668,12 @@
case 't': { /* typedef: 't' TYPE */
SymType *td =3D stabtype_parser(si, NULL, &p);
type =3D VG_(st_mktypedef)(def, NULL, td);
+
+ /* Work around problem with output from pgf77 3.2.
+ I've no idea what the spec says about this, or whether it
+ will break anything else. */
+ if (*p =3D=3D ';')
+ p++;
break;
}
|