On Thu, Oct 30, 2014 at 12:34:45PM +0000, Zamyatin, Igor wrote: > > > > On Thu, Oct 30, 2014 at 08:48:57AM +0000, Zamyatin, Igor wrote: > > > Posted a patch in libc-alpha: > > > > > > https://sourceware.org/ml/libc-alpha/2014-10/msg00701.html > > > > That looks wrong. The non-PIC patterns that are enabled unconditionally > > with the patch set/use ebx, which will not work with pre-GCC 5 in PIC mode. > > Could you please specify why do you think it is wrong for PIC mode for > pre-GCC 5?
Those macros use "=&b" etc. in asm constraints, so IMHO you'll get the same error as for say: int foo (void) { bar (); int i = 0; asm volatile ("" : "+b" (i)); bar (); return i; } when compiled by gcc 4.9 and earlier with -O2 -m32 -fpic: error: inconsistent operand constraints in an ‘asm’ Jakub