From owner-freebsd-stable@FreeBSD.ORG Tue Apr 16 11:21:46 2013 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 89B001A8 for ; Tue, 16 Apr 2013 11:21:46 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) by mx1.freebsd.org (Postfix) with ESMTP id 4DECB2ED for ; Tue, 16 Apr 2013 11:21:45 +0000 (UTC) Received: from spaceball.andric.com (spaceball.andric.com [IPv6:2001:7b8:3a7:0:204:4bff:fe01:de8a]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 360D85C44; Tue, 16 Apr 2013 13:21:37 +0200 (CEST) Message-ID: <516D343C.2050707@FreeBSD.org> Date: Tue, 16 Apr 2013 13:21:32 +0200 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Thunderbird/21.0 MIME-Version: 1.0 To: Alexey Dokuchaev , Ryan Stone Subject: Re: fusefs-kmod does not work on 8-STABLE? References: <20130410052710.GA36137@regency.nsu.ru> <20130412101746.GA68687@regency.nsu.ru> <20130412142802.GA1657@regency.nsu.ru> <20130416061406.GA31583@regency.nsu.ru> In-Reply-To: <20130416061406.GA31583@regency.nsu.ru> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Apr 2013 11:21:46 -0000 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 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.