Date: Wed, 02 Aug 2017 09:07:18 -0700 From: John Baldwin <jhb@freebsd.org> To: Andriy Gapon <avg@freebsd.org> Cc: "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: zfs.ko no longer loads after r320156: unresolved symbol: abd_is_linear Message-ID: <14630232.pvpQT5dAYX@ralph.baldwin.cx> In-Reply-To: <ae4900b5-97cc-112a-714f-a9140d4a1726@FreeBSD.org> References: <780A67EE-C3F1-46E5-A213-E253B710338E@gmail.com> <B16DFAFC-916B-4319-8FE1-D84C6C8D6961@gmail.com> <ae4900b5-97cc-112a-714f-a9140d4a1726@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, August 02, 2017 10:14:01 AM Andriy Gapon wrote: > On 02/08/2017 04:00, Ngie Cooper (yaneurabeya) wrote: > >=20 > >> On Aug 1, 2017, at 09:21, John Baldwin <jhb@freebsd.org> wrote: > >> > >> On Tuesday, August 01, 2017 09:47:41 AM Andriy Gapon wrote: > >>> On 01/08/2017 02:31, Ngie Cooper wrote: > >>>> Hi, > >>>> =09I tried upgrading my host from 11.1-STABLE to 12.0-CURRENT, a= nd it didn=E2=80=99t work because abd_is_linear is an undefined symbol = (it exists in sys/conf/files, but not sys/modules/zfs/Makefile). I trie= d adding abd.c to sys/modules/zfs/Makefile and it didn=E2=80=99t immedi= ately fix my compilation problem (ran into a linker error instead). > >>>> =09If it isn=E2=80=99t fixed in the next few hours I=E2=80=99ll = try my hand at fixing the problem. > >>> > >>> I am not sure what exact problem you have... > >>> abd.c should be added to the list of source files via > >>> .include "${SUNW}/uts/common/Makefile.files" > >>> > >>> Perhaps something to do with "inline"... > >> > >> Oh, yes. If you use -fno-inline-funcs or the like. I forgot to > >> send this to Andriy earlier, but here is the fix I'm using: > >> > >> https://github.com/freebsd/freebsd/commit/574dc95cf8272e16f6d44aff= 6cb4e08dede08886 > >=20 > > =09Unfortunately=E2=80=A6 this is head, verbatim, which means that = the bug still exists. > > =09This gives me an idea of where I should look though. >=20 > The URL indeed suggests that the change should be in head, but it's n= ot there as > far as I can tell. I never saw it being committed. Not yet. I'm trying to decide if 'static inline' is more correct (for = me it results in 3 separate copies of abd_is_linear in zfs.ko) vs using 'exte= rn inline'. The latter seems possibly more correct but more of a pain? I= think for that it needs to be extern in only a single file and 'inline' in th= e header? --=20 John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?14630232.pvpQT5dAYX>