Subject: Re: linux-next: build warnings from the build of Linus' tree

From: Peter Oberparleiter <[email-masked]>
Date: Fri, 7 Sep 2018 14:50:59 +0200

On 06.09.2018 18:42, Masami Hiramatsu wrote:
> Peter Oberparleiter <[email-masked]> wrote:
>> I've attached a quick fix that should address both problems. I'd
>> appreciate if this patch could get some testing before I post proper fix
>> patches.
> 
> Hmm, I'm still not able to reproduce it on powerpc cross build even with
> CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y ... So, sorry I couldn't test this patch.

Maybe this is related to the compiler/binutils versions used. I'm using
Fedora 28's gcc-powerpc64 and binutils-powerpc64 packages:

powerpc64-linux-gnu-gcc (GCC) 7.1.1 20170622 (Red Hat Cross 7.1.1-3)
GNU ld version 2.29.1-4.fc28

For reference I'm also attaching the config that I used to reproduce the
problem on kernel v4.18.

>> diff --git a/arch/arm/kernel/vmlinux.lds.h b/arch/arm/kernel/vmlinux.lds.h
>> index ae5fdff18406..2ca33277a28b 100644
>> --- a/arch/arm/kernel/vmlinux.lds.h
>> +++ b/arch/arm/kernel/vmlinux.lds.h
>> @@ -48,6 +48,7 @@
>>
>>  #define ARM_DISCARD							\
>>  		*(.ARM.exidx.exit.text)					\
>> +		*(.ARM.exidx.text.exit)					\
> 
> BTW, why would we need this?

That's necessary to fix one of the two ARM linker failures reported via
https://lkml.org/lkml/2018/8/24/345

>>> `.text.exit' referenced in section `.ARM.exidx.text.exit' of
>>> kernel/trace/trace_clock.o: defined in discarded section `.text.exit'
>>> of kernel/trace/trace_clock.o

Section ".ARM.exidx.text.exit" refers to ".text.exit" which was
discarded. With the change above, the extraneous section
".ARM.exidx.text.exit" is also discarded, resolving the linker failure.

-- 
Peter Oberparleiter
Linux on Z Development - IBM Germany