Re: gcc-4.6.0 generates no code for sub_preempt_count()

From: Richard Weinberger
Date: Thu Apr 14 2011 - 09:52:51 EST


Am Donnerstag 14 April 2011, 09:49:14 schrieb Mikael Pettersson:
> Richard Weinberger writes:
> > Hi,
> >
> > I'm facing a very strange issue with gcc-4.6.0 and UML.
> > Within __local_bh_enable() gcc generates no code for
> > sub_preempt_count().
> >
> > See:
> > http://userweb.kernel.org/~rw/uml-gcc460/__local_bh_enable-gcc460.txt
> > vs.
> > http://userweb.kernel.org/~rw/uml-gcc460/__local_bh_enable-gcc431.txt
> >
> > Interestingly it generates code for add_preempt_count().
> > I can reproduce this on x86 and x86_64.
> >
> > The problem has to do with UML's current_thread_info() function.
> > When I replace it with arch/x86's (unportable) variant gcc generates
> > code.
> >
> > Any ideas whether this is a gcc or a kernel issue?
>
> Please provide a standalone test case.

There you go!
http://userweb.kernel.org/~rw/uml-gcc460/testcase.c

Thanks,
//richard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/