Re: [2.6 patch] blackfin: "extern inline" -> "static inline"

From: Adrian Bunk
Date: Thu Oct 25 2007 - 16:18:43 EST


On Thu, Oct 25, 2007 at 04:07:45PM -0400, Mike Frysinger wrote:
> On 10/25/07, Adrian Bunk <bunk@xxxxxxxxxx> wrote:
> > On Thu, Oct 25, 2007 at 12:16:40PM -0400, Mike Frysinger wrote:
> > > On 10/25/07, Adrian Bunk <bunk@xxxxxxxxxx> wrote:
> > > > On Wed, Oct 24, 2007 at 08:06:14PM -0700, H. Peter Anvin wrote:
> > > > > Mike Frysinger wrote:
> > > > >> we'll have to either use the gcc attributes to force old inline
> > > > >> behavior or use the gcc flag to force it
> > > > >
> > > > > We should probably have an extern_inline define then, assuming this is a
> > > > > function that does exist in a linkable version already -- otherwise "static
> > > > > inline" is correct.
> > > >
> > > > Since we #define inline to be __attribute__((always_inline))
> > > > "extern inline" with the old semantics would only behave differently
> > > > if someone took the address of one of these string functions.
> > >
> > > that isnt what we intended ;)
> > >
> > > > Does this happen anywhere in the blackfin port?
> > >
> > > gcc is also free to ignore the optimized inline in favor of an
> > > external reference
> >
> > It is not since we #define inline to be __attribute__((always_inline)).
>
> as i said, that was not what we intended ... and actually,
> always_inline does not mean always inline ... it is still possible to
> get gcc to not inline things when building debug versions.

Do you have any example for your claim "to get gcc to not inline things
when building debug versions"?

> -mike

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
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/