diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/export.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/include/linux/export.h b/include/linux/export.h index ce764a5d2ee4..fd8711ed9ac4 100644 --- a/include/linux/export.h +++ b/include/linux/export.h | |||
| @@ -92,22 +92,22 @@ struct kernel_symbol { | |||
| 92 | */ | 92 | */ |
| 93 | #define __EXPORT_SYMBOL(sym, sec) | 93 | #define __EXPORT_SYMBOL(sym, sec) |
| 94 | 94 | ||
| 95 | #elif defined(__KSYM_DEPS__) | 95 | #elif defined(CONFIG_TRIM_UNUSED_KSYMS) |
| 96 | |||
| 97 | #include <generated/autoksyms.h> | ||
| 96 | 98 | ||
| 97 | /* | 99 | /* |
| 98 | * For fine grained build dependencies, we want to tell the build system | 100 | * For fine grained build dependencies, we want to tell the build system |
| 99 | * about each possible exported symbol even if they're not actually exported. | 101 | * about each possible exported symbol even if they're not actually exported. |
| 100 | * We use a string pattern that is unlikely to be valid code that the build | 102 | * We use a symbol pattern __ksym_marker_<symbol> that the build system filters |
| 101 | * system filters out from the preprocessor output (see ksym_dep_filter | 103 | * from the $(NM) output (see scripts/gen_ksymdeps.sh). These symbols are |
| 102 | * in scripts/Kbuild.include). | 104 | * discarded in the final link stage. |
| 103 | */ | 105 | */ |
| 104 | #define __EXPORT_SYMBOL(sym, sec) === __KSYM_##sym === | 106 | #define __ksym_marker(sym) \ |
| 105 | 107 | static int __ksym_marker_##sym[0] __section(".discard.ksym") __used | |
| 106 | #elif defined(CONFIG_TRIM_UNUSED_KSYMS) | ||
| 107 | |||
| 108 | #include <generated/autoksyms.h> | ||
| 109 | 108 | ||
| 110 | #define __EXPORT_SYMBOL(sym, sec) \ | 109 | #define __EXPORT_SYMBOL(sym, sec) \ |
| 110 | __ksym_marker(sym); \ | ||
| 111 | __cond_export_sym(sym, sec, __is_defined(__KSYM_##sym)) | 111 | __cond_export_sym(sym, sec, __is_defined(__KSYM_##sym)) |
| 112 | #define __cond_export_sym(sym, sec, conf) \ | 112 | #define __cond_export_sym(sym, sec, conf) \ |
| 113 | ___cond_export_sym(sym, sec, conf) | 113 | ___cond_export_sym(sym, sec, conf) |
