fusefs-kmod does not work on 8-STABLE?

Dimitry Andric dim at FreeBSD.org
Tue Apr 16 11:21:46 UTC 2013


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 at 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.


More information about the freebsd-stable mailing list