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 …