public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: WANG Xuerui <i@xen0n.name>
To: Lulu Cheng <chenglulu@loongson.cn>,
	Xi Ruoyao <xry111@xry111.site>,
	"gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>
Cc: Youling Tang <tangyouling@loongson.cn>,
	Chenghua Xu <xuchenghua@loongson.cn>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jinyang He <hejinyang@loongson.cn>
Subject: Re: 回复:[PATCH v5] LoongArch: add movable attribute
Date: Fri, 5 Aug 2022 15:41:24 +0800	[thread overview]
Message-ID: <76ddfa4a-6c7c-8c67-c6cd-4d6ae0bc87a5@xen0n.name> (raw)
In-Reply-To: <e036009e-f650-32ec-c752-fde32fddacca@loongson.cn>

On 2022/8/5 15:19, Lulu Cheng wrote:
>
>
> 在 2022/8/5 下午2:03, Xi Ruoyao 写道:
>> On Fri, 2022-08-05 at 12:01 +0800, Lulu Cheng wrote:
>>> 在 2022/8/5 上午11:45, Xi Ruoyao 写道:
>>>
>>>> On Fri, 2022-08-05 at 11:34 +0800, Xi Ruoyao via Gcc-patches wrote:
>>>>
>>>>> Or maybe we should just use a PC-relative addressing with 4 instructions
>>>>> instead of GOT for -fno-PIC?
>>>> Not possible, Glibc does not support R_LARCH_PCALA* relocations in
>>>> ld.so.  So we still need a -mno-got (or something) option to disable GOT
>>>> for special cases like the kernel.
>>>>
>>>>> Both way consumes 16 bytes (4 instructions
>>>>> for PC-relative, 2 instructions and a 64-bit GOT entry for GOT) and PC-
>>>>> relative may be more cache friendly.   But such a major change cannot be
>>>>> backported for 12.2 IMO.
>>> I'm very sorry, my understanding of the precpu variable is wrong,
>>> I just read the code of the kernel you submitted, this precpu variable
>>> not only has a large offset but also has an uncertain address when compiling,
>>> so no matter whether it is addressed with pcrel Still got addressing needs
>>> dynamic relocation when loading. It seems that accessing through the got table
>>> is a better choice.
>>>
>>> The name movable is also very vivid to describe this function in the kernel,
>>> indicating that the address of the variable can be changed at will.
>>>
>>> But this name is more difficult to understand in gcc, I have no opinion on other,
>>> can this name be changed?
>> Yes, we don't need to be compatible with old vendor compiler IMO.
>>
>>
>> "force_got_access" as Xuerui suggested?
> Compared with these names, I think addr_global is better.

Actually if "model(...)" can be implemented I'd prefer a descriptive 
word/phrase inside model(). Because it may well be the case that more 
peculiar ways of accessing some special data will have to be supported 
in the future, and all of them are kind of "data models" so we'd be able 
to nicely group them with model(...).

Otherwise I actually don't have a particularly strong opinion, aside 
from "movable" which IMO should definitely not be taken.


  reply	other threads:[~2022-08-05  7:41 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-29 14:22 [PATCH] LoongArch: add addr_global attribute Xi Ruoyao
2022-07-29 15:31 ` [PATCH v2] " Xi Ruoyao
2022-07-29 17:17   ` [PATCH v3] " Xi Ruoyao
2022-07-30  3:13     ` Lulu Cheng
2022-07-30  6:03       ` Huacai Chen
2022-07-31  9:05     ` Chenghua Xu
2022-08-01 10:04       ` [PATCH v4] LoongArch: add movable attribute Xi Ruoyao
2022-08-01 10:07         ` [PATCH v5] " Xi Ruoyao
2022-08-03  1:36           ` Xi Ruoyao
2022-08-03  2:59             ` WANG Xuerui
2022-08-03  3:15               ` Xi Ruoyao
     [not found]             ` <-2muj1c-68saz6jhkcyw3jo1xp-1mgcvnkbqi2wjp6tue-qsso54-emxgu3-k85590-kpgox7-w67u6h3cai1l-5bi887dsgzsu-g4d7i7-wl316qxrucx4kv4on7-mnna36-iremg8-nwc5ot-9041t2-hu8nsl.1659495047941@email.android.com>
2022-08-03  3:10               ` 回复:[PATCH " Xi Ruoyao
2022-08-04  7:47                 ` Xi Ruoyao
2022-08-05  1:05                   ` Lulu Cheng
2022-08-05  1:28                     ` Xi Ruoyao
2022-08-05  2:38                       ` Lulu Cheng
2022-08-05  2:51                         ` Xi Ruoyao
2022-08-05  3:34                           ` Xi Ruoyao
2022-08-05  3:45                             ` Xi Ruoyao
2022-08-05  4:01                               ` Lulu Cheng
2022-08-05  6:03                                 ` Xi Ruoyao
2022-08-05  7:19                                   ` Lulu Cheng
2022-08-05  7:41                                     ` WANG Xuerui [this message]
2022-08-05  7:58                                       ` Lulu Cheng
2022-08-05  9:53                                         ` Xi Ruoyao
2022-08-08  4:53                                           ` Lulu Cheng
2022-08-09 11:30                                             ` Xi Ruoyao
2022-08-09 13:03                                               ` Lulu Cheng
2022-08-09 14:04                                                 ` Xi Ruoyao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=76ddfa4a-6c7c-8c67-c6cd-4d6ae0bc87a5@xen0n.name \
    --to=i@xen0n.name \
    --cc=chenglulu@loongson.cn \
    --cc=chenhuacai@kernel.org \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=hejinyang@loongson.cn \
    --cc=tangyouling@loongson.cn \
    --cc=xry111@xry111.site \
    --cc=xuchenghua@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).