On Wed, Oct 19, 2005 at 09:17:25PM +0400, Dmitry V. Levin wrote: > alt51$ ./rttest-alt52 > ./rttest-alt52: Symbol `rpmTagTable' has different size in shared object, consider re-linking > rpmTagTableSize = 125 > rpmTagTable = 0x16b8e4 > Segmentation fault ^^^ В этой ситуации вот что происходит: #0 0x400d73ef in strlen () from /usr/lib/debug/libc.so.6 #1 0x400ae405 in _IO_vfprintf (s=0x4017c7e0, format=0x544d5052
, ap=0xbffff1dc "ы\204\004\bфї\027@@ў") at vfprintf.c:1468 #2 0x400b496f in *__GI_fprintf (stream=0x544d5052, format=0x544d5052
) at fprintf.c:32 #3 0x080484d4 in main () at test.c:6 (gdb) frame 3 #3 0x080484d4 in main () at test.c:6 6 fprintf(stdout, "tag0: %s$\n", tag0); (gdb) p tag0 $1 = 0x544d5052
(gdb) p rpmTagTable $2 = (const struct headerTagTableEntry_s *) 0x4006e8e4 (gdb) p rpmTagTable[0] $3 = {name = 0x544d5052
, val = 1214203713} Такое впечатление, что происходит неправильный dereferencing, то есть rpmTagTable в качестве указателя уже смотрит непойми куда. Я озадачен. :)