[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210106223606.267756-1-alobakin@pm.me>
Date: Wed, 06 Jan 2021 22:36:38 +0000
From: Alexander Lobakin <alobakin@...me>
To: Kees Cook <keescook@...omium.org>
Cc: Alexander Lobakin <alobakin@...me>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Nathan Chancellor <natechancellor@...il.com>,
Fangrui Song <maskray@...gle.com>,
Jiaxun Yang <jiaxun.yang@...goat.com>,
Alex Smith <alex.smith@...tec.com>,
Ralf Baechle <ralf@...ux-mips.org>,
Markos Chandras <markos.chandras@...tec.com>,
linux-mips@...r.kernel.org, stable@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 mips-next 2/4] MIPS: vmlinux.lds.S: add ".gnu.attributes" to DISCARDS
From: Kees Cook <keescook@...omium.org>
Date: Wed, 6 Jan 2021 14:07:07 -0800
> On Wed, Jan 06, 2021 at 08:08:19PM +0000, Alexander Lobakin wrote:
>> Discard GNU attributes at link time as kernel doesn't use it at all.
>> Solves a dozen of the following ld warnings (one per every file):
>>
>> mips-alpine-linux-musl-ld: warning: orphan section `.gnu.attributes'
>> from `arch/mips/kernel/head.o' being placed in section
>> `.gnu.attributes'
>> mips-alpine-linux-musl-ld: warning: orphan section `.gnu.attributes'
>> from `init/main.o' being placed in section `.gnu.attributes'
>>
>> Misc: sort DISCARDS section entries alphabetically.
>
> Hmm, I wonder what is causing the appearance of .eh_frame? With help I
> tracked down all the causes of this on x86, arm, and arm64, so that's
> why it's not in the asm-generic DISCARDS section. I suspect this could
> be cleaned up for mips too?
I could take a look and hunt it down. Could you please give some refs on
what were the causes and solutions for the mentioned architectures?
> Similarly for .gnu.attributes. What is generating that? (Or, more
> specifically, why is it both being generated AND discarded?)
On my setup, GNU Attributes consist of MIPS FP type (soft) and
(if I'm correct) MIPS GNU Hash tables.
> -Kees
By the way. I've built the kernel with LLVM stack (and found several
subjects for more patches) and, besides '.got', also got a fistful
of '.data..compoundliteral*' symbols (drivers/mtd/nand/spi/,
net/ipv6/ etc). Where should they be placed (rodata, rwdata, ...)
or they are anomalies of some kind and should be fixed somehow?
>>
>> Signed-off-by: Alexander Lobakin <alobakin@...me>
>> ---
>> arch/mips/kernel/vmlinux.lds.S | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
>> index 83e27a181206..5d6563970ab2 100644
>> --- a/arch/mips/kernel/vmlinux.lds.S
>> +++ b/arch/mips/kernel/vmlinux.lds.S
>> @@ -221,9 +221,10 @@ SECTIONS
>> /* ABI crap starts here */
>> *(.MIPS.abiflags)
>> *(.MIPS.options)
>> + *(.eh_frame)
>> + *(.gnu.attributes)
>> *(.options)
>> *(.pdr)
>> *(.reginfo)
>> - *(.eh_frame)
>> }
>> }
>> --
>> 2.30.0
>>
>>
>
> --
> Kees Cook
Thanks,
Al
Powered by blists - more mailing lists