diff options
| author | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-02-07 18:44:43 +0300 |
|---|---|---|
| committer | Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> | 2019-02-07 18:44:43 +0300 |
| commit | 82ffd0454bd9bd57780966d47bfd56d579dd4fb3 (patch) | |
| tree | a735cfea934b7c4eac4a2c228cd95620c1daf969 /include/linux/export.h | |
| parent | 890d14d2d4b57ff5a149309da3ed36c8a529987f (diff) | |
| parent | 8834f5600cf3c8db365e18a3d5cac2c2780c81e5 (diff) | |
| download | linux-82ffd0454bd9bd57780966d47bfd56d579dd4fb3.tar.xz | |
Merge tag 'v5.0-rc5' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into fbdev-for-next
Linux 5.0-rc5
Sync with upstream (which now contains fbdev-v5.0-rc3 changes) to
prepare a base for fbdev-v5.1 changes.
Diffstat (limited to 'include/linux/export.h')
| -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 { */ #define __EXPORT_SYMBOL(sym, sec) -#elif defined(__KSYM_DEPS__) +#elif defined(CONFIG_TRIM_UNUSED_KSYMS) + +#include <generated/autoksyms.h> /* * For fine grained build dependencies, we want to tell the build system * about each possible exported symbol even if they're not actually exported. - * We use a string pattern that is unlikely to be valid code that the build - * system filters out from the preprocessor output (see ksym_dep_filter - * in scripts/Kbuild.include). + * We use a symbol pattern __ksym_marker_<symbol> that the build system filters + * from the $(NM) output (see scripts/gen_ksymdeps.sh). These symbols are + * discarded in the final link stage. */ -#define __EXPORT_SYMBOL(sym, sec) === __KSYM_##sym === - -#elif defined(CONFIG_TRIM_UNUSED_KSYMS) - -#include <generated/autoksyms.h> +#define __ksym_marker(sym) \ + static int __ksym_marker_##sym[0] __section(".discard.ksym") __used #define __EXPORT_SYMBOL(sym, sec) \ + __ksym_marker(sym); \ __cond_export_sym(sym, sec, __is_defined(__KSYM_##sym)) #define __cond_export_sym(sym, sec, conf) \ ___cond_export_sym(sym, sec, conf) |
