Date: Fri, 11 May 2018 14:45:38 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Ed Maste <emaste@freebsd.org> Cc: Bruce Evans <brde@optusnet.com.au>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r333461 - head/sys/amd64/amd64 Message-ID: <20180511114538.GH6887@kib.kiev.ua> In-Reply-To: <CAPyFy2BC_iC9PMaM08fHhs_iAUG=Kjw=ojQtBP1JCEyeS5XJnQ@mail.gmail.com> References: <201805101501.w4AF1iI0039082@repo.freebsd.org> <20180511012309.V3949@besplex.bde.org> <20180510193816.GF6887@kib.kiev.ua> <CAPyFy2BC_iC9PMaM08fHhs_iAUG=Kjw=ojQtBP1JCEyeS5XJnQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 10, 2018 at 10:17:06PM -0400, Ed Maste wrote: > On 10 May 2018 at 15:38, Konstantin Belousov <kostikbel@gmail.com> wrote: > > > > Yes, I already noted and mjg noted that ifuncs are directed through PLT. > > I remember that it was not the case when I did it the first time, but then > > both compiler and linker were different. > > I'm trying to find evidence of non-PLT ifuncs, but have been > unsuccessful so far. > > >From ifunc.txt at https://sites.google.com/site/x32abi/documents: > | All references to a STT_GNU_IFUNC symbol, including function call and > | function pointer, will go through a PLT slot, which jumps to the address > | stored in the GOT entry. If the STT_GNU_IFUNC symbol is locally defined, > | a R_*_IRELATIVE relocation will be applied to the GOT entry at load time. > | Otherwise, dynamic linker will lookup the symbol at the first call to the > | function and update the GOT entry. This applies to all usages of > | STT_GNU_IFUNC symbols in shared library, dynamic executable and static > | executable. I very well can misremember. I suspect that I could have looked at the amd64 modules, which are not finally linked. This would explain it.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180511114538.GH6887>