Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Sep 2019 15:06:29 -0400
From:      Mark Johnston <markj@freebsd.org>
To:        Conrad Meyer <cem@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r352623 - in head/sys: amd64/amd64 kern
Message-ID:  <20190923190629.GD15061@raichu>
In-Reply-To: <CAG6CVpUFeSTCH85NWsVXJ4Tq26R3SZn_syq2mLAc76BzgZTSTw@mail.gmail.com>
References:  <201909231414.x8NEEh9e040728@repo.freebsd.org> <CAG6CVpUFeSTCH85NWsVXJ4Tq26R3SZn_syq2mLAc76BzgZTSTw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 23, 2019 at 11:28:52AM -0700, Conrad Meyer wrote:
> Hi Mark,
> 
> On Mon, Sep 23, 2019 at 7:14 AM Mark Johnston <markj@freebsd.org> wrote:
> >
> > Author: markj
> > Date: Mon Sep 23 14:14:43 2019
> > New Revision: 352623
> > URL: https://svnweb.freebsd.org/changeset/base/352623
> >
> > Log:
> >   Use elf_relocaddr() when handling R_X86_64_RELATIVE relocations.
> >
> >   This is required for DPCPU and VNET data variable definitions to work when
> >   KLDs are linked as DSOs.  R_X86_64_RELATIVE relocations should not appear
> >   in object files, so assert this in elf_relocaddr().
> 
> Is the goal to eventually link amd64 KLDs as DSOs?  I might be
> confusing the terminology, but I believe amd64 .ko's today are
> unlinked ordinary object files, rather than shared objects.  (I
> believe they use kern/link_elf_obj.c rather than kern/link_elf.c
> today.)
>
> If so: great!

That's right, and that is indeed my goal.  At least, I would like to
make the option available; with my patch set, it is possible to specify
the format at both the per-module and global levels.  There are several
in-tree modules (some of the HighPoint RAID drivers, if you're curious)
that cannot be linked as DSOs because they contain a non-PIC blob, and
for now lld refuses to link them into a DSO.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190923190629.GD15061>