Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Apr 2013 13:21:32 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Alexey Dokuchaev <danfe@nsu.ru>, Ryan Stone <rysto32@gmail.com>
Cc:        stable@freebsd.org
Subject:   Re: fusefs-kmod does not work on 8-STABLE?
Message-ID:  <516D343C.2050707@FreeBSD.org>
In-Reply-To: <20130416061406.GA31583@regency.nsu.ru>
References:  <20130410052710.GA36137@regency.nsu.ru> <20130412101746.GA68687@regency.nsu.ru> <20130412142802.GA1657@regency.nsu.ru> <CAFMmRNx3aKNYCLM8Y60-9E78STEnozMYsev9tmrcLKYpxobz4A@mail.gmail.com> <20130416061406.GA31583@regency.nsu.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2013-04-16 08:14, Alexey Dokuchaev wrote:
> On Mon, Apr 15, 2013 at 10:41:36PM -0400, Ryan Stone wrote:
>> On Fri, Apr 12, 2013 at 10:28 AM, Alexey Dokuchaev <danfe@nsu.ru> wrote:
>>> I've found the culprit: the problem is in this command of the build:
>>>
>>>      ld -Bshareable  -d -warn-common -o hello.ko.debug hello.kld
>>>
>>> I had put /usr/local/bin in my $PATH before /usr/bin for a reason I don't
>>> currently recall, and have binutils-2.23.1 installed.  As a result, ld(1)
>>> in the quoted line above was called from /usr/local/bin/ld, [...]
>>
>> Is this for i386?  When compiling modules with newer versions of ld I had
>> to add the following flags to the ld invocation to get the module to work:
>
> Yes, this is for i386.
>
>> -u __start_set_sysinit_set -u __start_set_sysuninit_set \
>> -u __start_set_sysctl_set -u __start_set_modmetadata_set \
>> -u __stop_set_sysinit_set -u __stop_set_sysuninit_set \
>> -u __stop_set_sysctl_set -u __stop_set_modmetadata_set
>
> Hmm.  Adding these does help, indeed.  How did you come up with this list?
> Is it documented anywhere, or just the result of careful readelf/objdump
> examination?  Thanks!

These are module start/stop symbols, which get optimized away by newer
versions of binutils.  We fixed it in head when binutils 2.17.50 was
imported, here:

http://svn.freebsd.org/changeset/base/215137

This fix could probably also be used for stable/8.  It is most likely
too late to get into 8.4, though.



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