lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 02 Aug 2022 15:15:45 +0800
From:   Xi Ruoyao <xry111@...111.site>
To:     Lulu Cheng <chenglulu@...ngson.cn>,
        Youling Tang <tangyouling@...ngson.cn>,
        Huacai Chen <chenhuacai@...nel.org>
Cc:     Jinyang He <hejinyang@...ngson.cn>, loongarch@...ts.linux.dev,
        LKML <linux-kernel@...r.kernel.org>,
        WANG Xuerui <kernel@...0n.name>
Subject: Re: [PATCH v4 0/4] LoongArch: Support new relocation types

On Tue, 2022-08-02 at 14:39 +0800, Lulu Cheng wrote:

> > 
> >  OO, old toolchains require extra handlingg no matter how modified. 
> >  Maybe rejecting old toolchain builds is a good option as Huacai
> > said. 

> Sorry to ask, is it possible to use an absolute address to visit here?
> Like precpu, do not use pcrel or got, and it directly uses
> four instructions to obtain the absolute address.
> The same is achieved by adding attributes in GCC.

Both GOT and ABS will work.  But to me GOT is better because it only
needs two instructions while ABS needs four.

The most troubling issue is how to support the old GCC.  It seems we
have to check GCC version and use -Wa,-mla-local-with-pcrel for GCC 12
(while I still think GOT is better but we don't have -mla-local-with-
got, *and* it will cause make every local object address load cost 4
instructions), or we just say "it's impossible to use GCC 12 to build
Linux 6.0 for LoongArch".

-- 
Xi Ruoyao <xry111@...111.site>
School of Aerospace Science and Technology, Xidian University

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ