On Mon, Dec 14, 2015 at 09:34:23AM -0800, Caroline Tice wrote: > I did talk with some Clang developers initially, to try to determine > if this was in fact a Clang bug and therefore would need to be fixed > in Clang. The answer I got was a resounding no, this is not a Clang > bug; it is, in fact a GCC bug -- an example of GCC being overly > permissive (which, sadly, is not that uncommon). After a function has > been *declared* (the header, but no code), it is still ok to change > the visibility of the function. However after the function has > actually been *defined*, changing the visibility of the function is > illegal. That is why moving all of the EXPORT_SYMBOL statements from > after the function code to before the function code fixes the problem, > as far as Clang is concerned. Thanks, so we already got feedback from them. Then I think we upstream this patch: http://patchwork.ozlabs.org/patch/537980/ But I'd suggest the MNL_EXPORT is renamed to EXPORT_SYMBOL and it is placed in the .c files if possible, I don't think we need to expose this through the library headers (every function declared there is indeed exported, so that information is not relevant there). Will anyone help sending a new version to end up with this issue? Thanks. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html