[03:10] <fabbione> jbehey dude
[03:10] <fabbione> whops
[03:10] <fabbione> jbailey: dude...
[03:10] <jbailey> fabbione: yayaya
[03:10] <jbailey> Fine, don't remember who I am.
[03:10] <jbailey> See if my feelings are hurt... 8'{ *cRy*
[03:10] <fabbione> (gdb) run
[03:10] <fabbione> Starting program: /root/a.out 
[03:10] <fabbione> we are set
[03:10] <fabbione> Program received signal SIGUSR1, User defined signal 1.
[03:10] <fabbione> 0xf7e9536c in nanosleep () from /lib/v9v/libc.so.6
[03:10] <fabbione> (gdb) next
[03:10] <fabbione> Single stepping until exit from function nanosleep, 
[03:10] <fabbione> which has no line number information.
[03:10] <fabbione> Program terminated with signal SIGILL, Illegal instruction.
[03:10] <fabbione> The program no longer exists.
[03:10] <fabbione> (gdb) That was all, folks
[03:10] <fabbione> this is bad.. 
[03:10] <fabbione> i can't figure why we are getting a SIGILL 
[03:10] <fabbione> and only on Niagara machine
[03:11] <jbailey> SIGILL is a kernel or processor trap.
[03:11] <fabbione> i am afraid the last gcc updates are generating wrong code
[03:11] <fabbione> because it's not triggered on non Niagara machines
[03:11] <jbailey> That or the kernel is dissallowing something it should allow.
[03:11] <fabbione> and usually that's a sign of badly generated code
[03:11] <fabbione> unlikely
[03:11] <jbailey> Depends on how the protection bits all work on Sparc.
[03:11] <fabbione> i have seen a lot the other way around
[03:12] <jbailey> Is there a test failure in either LTP or glibc's testsuite for it?
[03:12] <fabbione> i have a reduced case
[03:12] <fabbione> and i am trying to reduce it even more
[03:12] <jbailey> Even better. =)
[03:12] <fabbione> no idea about LTP or glibc
[03:12] <fabbione> jbailey: can you get access to fluorine?
[03:12] <jbailey> Well, you're looking at a glibc function yes?
[03:12] <fabbione> from cr3?
[03:13] <jbailey> I can, but don't have time for 4 to 6 hours.
[03:13] <fabbione> i want to show you the code
[03:13] <fabbione> feh ok
[03:13] <jbailey> Sorry, my morning is lined up with customer appointments.
[03:13] <jbailey> Does your reduced testsuite still call nanosleep?
[03:13] <jbailey> Or have you extracted that out?
[03:20] <fabbione> i am pretty sure the problem is either gcc or binutils
[03:20] <fabbione> declaring an int foo; makes the code explode
[03:20] <fabbione> removing that line = works
[03:20] <fabbione> and that so should not happen
[03:21] <fabbione> root@fluorine:~# gcc -Wall -g -O0 main.c 
[03:21] <fabbione> root@fluorine:~# ./a.out 
[03:21] <fabbione> root@fluorine:~# gcc -Wall -g -O0 main.c 
[03:21] <fabbione> main.c: In function 'main':
[03:21] <fabbione> main.c:36: warning: unused variable 'i'
[03:21] <fabbione> root@fluorine:~# ./a.out 
[03:21] <fabbione> Illegal instruction
[03:21] <fabbione> doko: ping?
[03:23] <jbailey> Right, so once you've got that, do a disassemble and a stepi to find the offending instruction.
[03:25] <fabbione> do you recall the gdb sintax to do that?
[03:27] <jbailey> 'dis' I think.
[03:28] <fabbione> no that's disable..
[03:28] <jbailey> Hmm, lemme look it up after this call.
[03:28] <fabbione> sure thanks
[03:41] <jbailey> fabbione: disass
[03:41] <jbailey> You didn't try, did you? =)
[03:42] <jbailey> So break before the sigill.
[03:43] <jbailey> step to find the offending C statement.
[03:43] <jbailey> Do the disass there
[03:43] <jbailey> then stepi to the sigill.
[03:47] <fabbione> jbailey: ok
[03:48] <fabbione> dis was claiming disable.. but i might have been at the wrong point
[04:13] <fabbione> hoooowwwowowowoowow
[04:13] <fabbione> this is a mess
[04:22] <doko> fabbione: pong
[04:22] <fabbione> doko: do you have access to fluorine?
[04:23] <doko> no
[04:23] <fabbione> the T1000 at the london DC from -support?
[04:23] <fabbione> i was told you had acccess
[04:30] <doko> ohh right, didn't use it yet
[04:39] <fabbione> doko: see your email about that niagara test case
[04:39] <fabbione> it's possible to reproduce it on fluorine
[04:39] <fabbione> there is a feisty chroot in /src/chroots/feisty
[04:39] <fabbione> and the sources are in ~/root
[04:40] <doko> fabbione: could you check with gcc-4.2?
[04:40] <doko> what are working gcc/binutils versions?
[04:41] <fabbione> doko: i have been staring at that code for 10 hours now.. i can't look at it anylonger
[04:41] <fabbione> doko: i did test the latest in feisty... and no.. i didn't check back yet
[04:41] <fabbione> i thought it was a coding error
[04:41] <fabbione> but i just arrived at toolchain not too long ago when removing the int i;
[04:41] <fabbione> (unused)
[04:42] <fabbione> because i was killing code to the minimum to reduce the test case
[04:42] <fabbione> the original parted_server is 2200 lines :)
[04:42] <fabbione> also.. flourine has 32 threads.. it takes nothing to build gcc with make -j :)