Hi,
Here is the implementation of EXPORT_SYMBOL:
#define __EXPORT_SYMBOL(sym, sec) \
extern typeof(sym) sym; \
__CRC_SYMBOL(sym, sec) \
static const char __kstrtab_##sym[] \
__attribute__((section("__ksymtab_strings"))) \
= MODULE_SYMBOL_PREFIX #sym; \
static const struct kernel_symbol __ksymtab_##sym \
__attribute_used__ \
__attribute__((section("__ksymtab" sec), unused)) \
= { (unsigned long)&sym, __kstrtab_##sym }
I'm wondering why it's using '__attribute_used__' _and_
'__attribute__((section("__ksymtab" sec), unused)'. Isn't the unused
attribute redundant with '__attribute_used__' ?
thanks
--
Francis