History

Merge tag 'modules-for-v5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux

Pull modules fixes from Jessica Yu: - Revert __ksymtab_$namespace.$symbol naming scheme back to __ksymtab_$symbol, as it was causing issues with depmod. Instead, have modpost extract a symbol's namespace from __kstrtabns and __ksymtab_strings. - Fix `make nsdeps` for out of tree kernel builds (make O=...) caused by unescaped '/'. Use a different sed delimiter to avoid this problem. * tag 'modules-for-v5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux: scripts/nsdeps: use alternative sed delimiter symbol namespaces: revert to previous __ksymtab name scheme modpost: make updating the symbol namespace explicit modpost: delegate updating namespaces to separate function

Linus Torvalds committed 7 years ago

Commit 9e2dd2c2 parents 63cbb3b 09684954 files · +47 −29Browse files

Showing the changes to include/linux (1 of 4 files). Show all

Unified · Split

include/linux/export.h+5−9
@@ -18,8 +18,6 @@ extern struct module __this_module; · 17 unmodified lines
1818 #define THIS_MODULE ((struct module *)0)
1919 #endif
2020
21−#define NS_SEPARATOR "."
22−
2321 #ifdef CONFIG_MODVERSIONS
2422 /* Mark the CRC weak since genksyms apparently decides not to
2523 * generate a checksums for some symbols */
@@ -48,11 +46,11 @@ extern struct module __this_module; · 22 unmodified lines
4846 * absolute relocations that require runtime processing on relocatable
4947 * kernels.
5048 */
51−#define __KSYMTAB_ENTRY_NS(sym, sec, ns) \
49+#define __KSYMTAB_ENTRY_NS(sym, sec) \
5250 __ADDRESSABLE(sym) \
5351 asm(" .section \"___ksymtab" sec "+" #sym "\", \"a\" \n" \
5452 " .balign 4 \n" \
55− "__ksymtab_" #ns NS_SEPARATOR #sym ": \n" \
53+ "__ksymtab_" #sym ": \n" \
5654 " .long " #sym "- . \n" \
5755 " .long __kstrtab_" #sym "- . \n" \
5856 " .long __kstrtabns_" #sym "- . \n" \
@@ -74,16 +72,14 @@ struct kernel_symbol { · 15 unmodified lines
7472 int namespace_offset;
7573 };
7674 #else
77−#define __KSYMTAB_ENTRY_NS(sym, sec, ns) \
78− static const struct kernel_symbol __ksymtab_##sym##__##ns \
79− asm("__ksymtab_" #ns NS_SEPARATOR #sym) \
75+#define __KSYMTAB_ENTRY_NS(sym, sec) \
76+ static const struct kernel_symbol __ksymtab_##sym \
8077 __attribute__((section("___ksymtab" sec "+" #sym), used)) \
8178 __aligned(sizeof(void *)) \
8279 = { (unsigned long)&sym, __kstrtab_##sym, __kstrtabns_##sym }
8380
8481 #define __KSYMTAB_ENTRY(sym, sec) \
8582 static const struct kernel_symbol __ksymtab_##sym \
86− asm("__ksymtab_" #sym) \
8783 __attribute__((section("___ksymtab" sec "+" #sym), used)) \
8884 __aligned(sizeof(void *)) \
8985 = { (unsigned long)&sym, __kstrtab_##sym, NULL }
@@ -115,7 +111,7 @@ struct kernel_symbol { · 25 unmodified lines
115111 static const char __kstrtabns_##sym[] \
116112 __attribute__((section("__ksymtab_strings"), used, aligned(1))) \
117113 = #ns; \
118− __KSYMTAB_ENTRY_NS(sym, sec, ns)
114+ __KSYMTAB_ENTRY_NS(sym, sec)
119115
120116 #define ___EXPORT_SYMBOL(sym, sec) \
121117 ___export_symbol_common(sym, sec); \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t