Created attachment 346344 [details] build log atomic_ops/sysdeps/gcc/x86.h: In function ‘AO_compare_double_and_swap_double_full’: atomic_ops/sysdeps/gcc/x86.h:149:5: error: can’t find a register in class ‘GENERAL_REGS’ while reloading ‘asm’ atomic_ops/sysdeps/gcc/x86.h:149:5: error: ‘asm’ operand has impossible constraints
Created attachment 346346 [details] emerge --info
CBUILD="i686-pc-linux-gnu" CHOST="i686-pc-linux-gnu" CFLAGS="-march=core2 -pipe -ggdb -O0 -mavx -fauto-inc-dec -fdce -fdse -fguess-branch-probability -fipa-pure-const -fmerge-constants -ftree-builtin-call-dce -ftree-ccp -ftree-ch -ftree-copyrename -ftree-dce -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-sra -fthread-jumps -fcaller-saves -finline-small-functions -findirect-inlining -foptimize-sibling-calls -fregmove -fstrict-aliasing -fstrict-overflow " Something about this combination doesn't make sense, actually, it's more than one thing. As you might know, on x86 there's very few general use registers...
(In reply to comment #2) > CBUILD="i686-pc-linux-gnu" > CHOST="i686-pc-linux-gnu" > CFLAGS="-march=core2 -pipe -ggdb -O0 -mavx -fauto-inc-dec -fdce -fdse > -fguess-branch-probability -fipa-pure-const -fmerge-constants > -ftree-builtin-call-dce -ftree-ccp -ftree-ch -ftree-copyrename -ftree-dce > -ftree-dominator-opts -ftree-dse -ftree-forwprop -ftree-fre -ftree-sra > -fthread-jumps -fcaller-saves -finline-small-functions -findirect-inlining > -foptimize-sibling-calls -fregmove -fstrict-aliasing -fstrict-overflow " > > Something about this combination doesn't make sense, actually, it's more > than one thing. > > As you might know, on x86 there's very few general use registers... Can you elaborate? I hand-picked optimizations from -O2 which didn't interfere with gdb.
Same problem occurs with CFLAGS="-ggdb -O0 -march=i686"
Workaround: Add -fomit-frame-pointer to CFLAGS
(In reply to comment #5) > Workaround: Add -fomit-frame-pointer to CFLAGS ...and that (IIRC) effectively guts '-ggdb' on x86 (well, at least diminishes its effect).
(In reply to comment #6) > (In reply to comment #5) > > Workaround: Add -fomit-frame-pointer to CFLAGS > > ...and that (IIRC) effectively guts '-ggdb' on x86 (well, at least > diminishes its effect). Yep, but as far as I can see it's the only way to actually compile it on x86 :(
Just got hit by this, confirming the bug. Workaround works as well.
Can you reproduce this with the current stable version, 7.6.0?