在 2022/9/4 下午2:35, Xi Ruoyao 写道:
On Sun, 2022-09-04 at 11:22 +0800, Lulu Cheng wrote:
在 2022/9/4 上午10:51, Xi Ruoyao 写道:
On Sun, 2022-09-04 at 10:26 +0800, Lulu Cheng wrote:
If the above modifications are not added, the function call is:

  bl %plt(test1)

now is :

  bl test1
Regarding "%plt(...)", in the binutils code:

    /* For compatible old asm code.  */
    if (0 == strcmp (op_c_str, "plt"))
      btype = BFD_RELOC_LARCH_B26;

Link:
https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gas/config/loongarch-parse.y;h=8704687706df50aa15aff05f97e4560d7ec6fa23;hb=refs/heads/master#l131

Zhensong: does "old asm code" here mean we should remove %plt from
"new"
assembly code, i. e. stop to print %plt(...) in GCC completely?

I think '%plt' also needs to be removed from the readability of the
assembly code.:-\
I understand, but maybe we should remove %plt unconditionally, with or
without -mdirect-extern-access.  Note that for -mcmodel=medium we don't
say something like "%pc_hi20(%plt(x))" either.


I have thought about this problem. For example, there is no '%plt' in aarch64, but I think it can be added and easily distinguished at the assembly code level,

so this is not removed.

Reply via email to