Files
linux/include/linux
Masahiro Yamada bbda5ec671 kbuild: simplify dependency generation for CONFIG_TRIM_UNUSED_KSYMS
My main motivation of this commit is to clean up scripts/Kbuild.include
and scripts/Makefile.build.

Currently, CONFIG_TRIM_UNUSED_KSYMS works with a tricky gimmick;
possibly exported symbols are detected by letting $(CPP) replace
EXPORT_SYMBOL* with a special string '=== __KSYM_*===', which is
post-processed by sed, and passed to fixdep. The extra preprocessing
is costly, and hacking cmd_and_fixdep is ugly.

I came up with a new way to find exported symbols; insert a dummy
symbol __ksym_marker_* to each potentially exported symbol. Those
dummy symbols are picked up by $(NM), post-processed by sed, then
appended to .*.cmd files. I collected the post-process part to a
new shell script scripts/gen_ksymdeps.sh for readability. The dummy
symbols are put into the .discard.* section so that the linker
script rips them off the final vmlinux or modules.

A nice side-effect is building with CONFIG_TRIM_UNUSED_KSYMS will
be much faster.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Nicolas Pitre <nico@linaro.org>
2018-12-01 23:13:14 +09:00
..
2018-10-31 10:57:43 -07:00
2018-10-18 15:41:21 -07:00
2018-10-16 11:13:50 +02:00
2018-10-31 19:24:21 +01:00
2018-11-01 19:59:53 -06:00
2018-10-19 13:24:31 -07:00
2018-10-19 13:24:31 -07:00
2018-09-06 15:12:24 -06:00
2018-10-26 16:26:32 -07:00
2018-08-22 10:52:48 -07:00
2018-09-11 14:11:54 +02:00
2018-07-27 09:57:23 +10:00
2018-11-06 13:59:08 +01:00
2018-10-21 10:46:33 -04:00
2018-10-09 07:50:41 +02:00
2018-10-31 08:54:14 -07:00
2018-10-17 13:56:58 -07:00
2018-08-22 10:52:45 -07:00
2018-10-21 10:46:39 -04:00
2018-09-18 17:52:15 -05:00
2018-10-26 16:26:35 -07:00
2018-10-01 23:14:10 -07:00
2018-07-21 10:43:12 -05:00
2018-10-08 22:53:10 +11:00
2018-08-22 10:52:46 -07:00
2018-10-26 16:26:32 -07:00
2018-08-02 17:33:06 -04:00
2018-09-28 14:20:59 +02:00
2018-09-25 20:17:35 -07:00
2018-08-16 12:14:42 -07:00
2018-09-29 22:47:49 -04:00
2018-10-11 09:16:44 -07:00
2018-09-25 20:33:24 +02:00
2018-10-24 00:41:07 +01:00
2018-09-11 14:11:51 +02:00
2018-10-21 10:46:46 -04:00