Re: [PATCH] module: LLVMLinux: Fix section mismatch issues on alias usage

From: Behan Webster
Date: Mon Feb 24 2014 - 21:34:24 EST


On 02/21/14 07:08, Paul Gortmaker wrote:
Attribute aliases don't inherit the link section name when compiled with clang.
As a result, the linking section needs to be explicitly specified when building
a module. This behavior is undefined in the standard which is why it differs from
compiler to compiler.
But is there a good reason why clang doesn't inherit them in the
interest of compatibility with gcc and existing code?
There is no reason other than it doesn't appear to be documented behaviour anywhere that can be found. It seems like this use of an aliased symbol inheriting attributes never came up before. Personally I think the kernel code pushes compilers harder than most other code bases. :)

Having said that, it seems since we first started needing this patch to build the kernel with clang, this issue may have been fixed in the most recent updates to clang in the last few weeks. I've been testing with the latest released version of clang v3.4 (since clang recently when through a merge window of their own) which still requires this patch. However in appears that this issue may now have been fixed in mainline clang. I'll do some more testing to verify and get back to this thread.

I know we've seen the faceless entity "PaX Team" before, but can we please not make it worse by adding a bunch of other non standard tag line formats? And ideally have a real human name for the author too.
Fair enough. Will fix and resubmit if the patch proves to still be necessary.

Thanks for the input,

Behan

--
Behan Webster
behanw@xxxxxxxxxxxxxxxxxx

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