------- Comment #3 from ua_bugz_gcc at mortal-soul dot de 2006-04-14 11:02 ------- First of all, thanks for the tip! :) Even though this took me all morning I have been able to identify where things go wrong. It's lnx_KbdMap.c in the xorg-server tree: hw/xfree86/os-support/linux. If I compile just this with -O0, everything works just fine. The -fwrapv makes no difference by the way.
I tried to split things up and figured that it has to be something with the arrays and readKernelMapping() in there. If I take out the KbdGetMapping() and put it into its own file, it depends on how readKernelMapping() and its stuff are being compiled (-O0 or >-O0) if things work or not. There are no compiler warnings with this file either. I hope nobody minds if I attach the object files and the source file to this bug report. I tried to understand the disassembled readKernelMapping() but it has been ages since I last touched anything assembler, so I guess there are more qualified persons around who could do a lot better than I do. :-) BTW, I had to use -fno-inline-functions-called-once otherwise readKernelMapping() would have been inlined. For the problem itself, this makes no difference, it just makes things harder to debug. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27152