
Dear Mike Frysinger,
On Thursday 05 April 2012 15:19:11 Marek Vasut wrote:
Dear Mike Frysinger,
On Thursday 05 April 2012 06:13:21 Marek Vasut wrote:
Dear Mike Frysinger,
Building usb for Blackfin boards fails as we get linux/compiler.h included which expands the "noinline" inside of the attribute and we get attribute(attribute(noinline)).
Explicitly use the helper define to avoid this.
Ain't compiler.h broken then?
no ... why would it be ?
Because it colides with gcc stuff?
it provides shortcuts so you don't have to go grubbing into __attribute__ syntax, and it does so in a way that supports multiple gcc versions and compilers (although the latter isn't generally a realistic use case for us).
U-Boot/LLVM or U-Boot/VC ? ;-)
We'll have to support LLVM eventually anyway.
if you really want to be pedantic, you should be using: __attribute__((__noinline__)) instead of: __attribute__((noinline))
Good point
Btw. is this a fix I should push to .04 release?
i looked closer at how exactly it's failing, and i think waiting for the next merge window is OK if you want
I'm fine either way as I don't observe this. On the other hand, I'd be inclined to push this into current release if you're 100% sure about the fix and it fixes real issue for some people.
in general, i wouldn't mind seeing common.h including linux/compiler.h and just having everyone use these shortcuts instead of open coding the attribute. i'm sure that would break more code (like this common/usb.c) in the short term, but it'd be much nicer imo long term.
Ok, will queue this for -next then.
-mike
Best regards, Marek Vasut