[PATCH] Mark _PROCEDURE_LINKAGE_TABLE_ as code instead of data
Alan Modra
amodra@gmail.com
Tue Feb 18 12:01:02 GMT 2025
On Mon, Feb 17, 2025 at 03:11:36PM +0800, Yu-Cheng Liang wrote:
> Because .plt won't be disassembled properly as follows if
> _PROCEDURE_LINKAGE_TABLE_ is set to STT_OBJECT.
It disassembles OK for riscv64 .so files. So your claim isn't 100%
true. You might like to investigate why. I think there is a much
simpler fix for riscv than changing _PROCEDURE_LINKAGE_TABLE_ for
every target.
> Actual Result:
> Disassembly of section .plt:
>
> 0000000000010630 <_PROCEDURE_LINKAGE_TABLE_>:
> 10630: 97 23 00 00 33 03 c3 41 03 be 03 9d 13 03 43 fd
> .#..3..A......C.
> 10640: 93 82 03 9d 13 53 13 00 83 b2 82 00 67 00 0e 00
> .....S......g...
>
> -------------------------------------------------------------------------------------
> Expected Result:
> Disassembly of section .plt:
>
> 0000000000010630 <_PROCEDURE_LINKAGE_TABLE_>:
> 10630: 00002397 auipc t2,0x2
> 10634: 41c30333 sub t1,t1,t3
> 10638: 9d03be03 ld t3,-1584(t2) # 0x19d0 <.text+0x19d0>
> 1063c: fd430313 addi t1,t1,-44
> 10640: 9d038293 addi t0,t2,-1584
> 10644: 00135313 srli t1,t1,0x1
> 10648: 0082b283 ld t0,8(t0)
> 1064c: 000e0067 jr t3
>
> Yu-Cheng
>
> On Mon, Feb 10, 2025 at 6:14 PM Alan Modra <amodra@gmail.com> wrote:
> >
> > On Mon, Feb 10, 2025 at 04:17:45PM +0800, Yu-Cheng Liang wrote:
> > > The .plt section should be treated as code instead of data.
> >
> > Why do you think _PROCEDURE_LINKAGE_TABLE_ should be STT_FUNC?
> >
> > --
> > Alan Modra
--
Alan Modra
More information about the Binutils
mailing list