OK, as some of you have noticed; I prepared my box for the new toolchain, recompiled the stuff Kevin mentioned in the exact same order wrote down in his README, and it looks like it actually works with all my stuff I have on my box; except sys-libs/grub! *sigh*
Apparently, grub segfaults at boot and/or while running it from the chroot in the exact same spot, the new QA warnings complain about ..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
* QA Notice: Package has poor programming practices which may compile * fine but exhibit random runtime failures. * char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:222: warning: dereferencing type-punned pointer will break strict-aliasing rules builtins.c:4862: warning: dereferencing type-punned pointer will break strict-aliasing rules disk_io.c:1027: warning: dereferencing type-punned pointer will break strict-aliasing rules disk_io.c:1057: warning: dereferencing type-punned pointer will break strict-aliasing rules tparm.c:719: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:222: warning: dereferencing type-punned pointer will break strict-aliasing rules builtins.c:4862: warning: dereferencing type-punned pointer will break strict-aliasing rules disk_io.c:1027: warning: dereferencing type-punned pointer will break strict-aliasing rules disk_io.c:1057: warning: dereferencing type-punned pointer will break strict-aliasing rules tparm.c:719: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules char_io.c:181: warning: dereferencing type-punned pointer will break strict-aliasing rules |
So, I unpacked the libc and grub debug files, to get a clue where it’s failing and fed the program execution into gdb and viola:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) run Starting program: /sbin/grub --no-floppy Program received signal SIGSEGV, Segmentation fault. grub_putstr (str=0xa1660489) at char_io.c:174 in char_io.c (gdb) quit The program is running. Exit anyway? (y or n) |
I’m not yet sure if it really is the same spot, but I’ll let Kevin have a shot at it …