On Tue, 4 Sep 2018 15:54:19 +0800 Greentime Hu <green...@gmail.com> wrote:
> This patch is used to fix nds32 allmodconfig/allyesconfig build error > because GCOV kernel embeds counters in the kernel for each line > and a part of that embed in __exit text. So we need to keep the > EXIT_TEXT and EXIT_DATA if CONFIG_GCOV_KERNEL=y. Yes, that is exactly what I did for arm. Reviewed-by: Masami Hiramatsu <mhira...@kernel.org> Thanks! > > Link: https://lkml.org/lkml/2018/9/1/125 > Signed-off-by: Greentime Hu <greent...@andestech.com> > --- > arch/nds32/kernel/vmlinux.lds.S | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/nds32/kernel/vmlinux.lds.S b/arch/nds32/kernel/vmlinux.lds.S > index 288313b886ef..9e90f30a181d 100644 > --- a/arch/nds32/kernel/vmlinux.lds.S > +++ b/arch/nds32/kernel/vmlinux.lds.S > @@ -13,14 +13,26 @@ OUTPUT_ARCH(nds32) > ENTRY(_stext_lma) > jiffies = jiffies_64; > > +#if defined(CONFIG_GCOV_KERNEL) > +#define NDS32_EXIT_KEEP(x) x > +#else > +#define NDS32_EXIT_KEEP(x) > +#endif > + > SECTIONS > { > _stext_lma = TEXTADDR - LOAD_OFFSET; > . = TEXTADDR; > __init_begin = .; > HEAD_TEXT_SECTION > + .exit.text : { > + NDS32_EXIT_KEEP(EXIT_TEXT) > + } > INIT_TEXT_SECTION(PAGE_SIZE) > INIT_DATA_SECTION(16) > + .exit.data : { > + NDS32_EXIT_KEEP(EXIT_DATA) > + } > PERCPU_SECTION(L1_CACHE_BYTES) > __init_end = .; > > -- > 2.18.0 > -- Masami Hiramatsu <mhira...@kernel.org>