I decided to try btrfs on one of my alphas and got a surprise - btrfs module does not load:
modprobe: ERROR: could not insert 'btrfs': Exec format error
dmesg has
module btrfs: Relocation (type 4) overflow vs btrfs_attach_transaction_barrier
Happens both natively on alpha:
binutils 2.30.0 (Gentoo 2.30 p2) and gcc version 7.3.0 (Gentoo 7.3.0-r3 p1.4)
or in cross-compiling:
binutils (GNU Binutils for Debian) 2.31.1 and gcc version 8.1.0 (Debian 8.1.0-12)
btrfs.ko has size 2939856. Build-in btrfs initializes and tests itself just fine.
This seems to have happened in the distant past:
https://www.redhat.com/archives/axp-list/2005-March/msg00060.html
Do we have a similar binutils problem again with big modules?
--
Meelis Roos <[email protected]>
On Sun, Oct 14, 2018 at 10:07:13AM +0300, Meelis Roos wrote:
> I decided to try btrfs on one of my alphas and got a surprise - btrfs module does not load:
Confirmed on a PWS 433au running 4.19.0-rc6 with latest "sid" toolchain.
--Bob
On Sun, Oct 14, 2018 at 12:33:06PM -0500, Bob Tracy wrote:
> On Sun, Oct 14, 2018 at 10:07:13AM +0300, Meelis Roos wrote:
> > I decided to try btrfs on one of my alphas and got a surprise - btrfs module does not load:
>
> Confirmed on a PWS 433au running 4.19.0-rc6 with latest "sid" toolchain.
Known and long-standing problem in the Alpha kernel module loader.
Requires extra code implmented to support loading such large modules
which no one has done. Workaround is to build the kernel with such
modules (e.g. radeon, btrfs) in-built.
Cheers
Michael.
On Mon, Oct 15, 2018 at 07:41:48AM +1300, Michael Cree wrote:
> On Sun, Oct 14, 2018 at 12:33:06PM -0500, Bob Tracy wrote:
> > On Sun, Oct 14, 2018 at 10:07:13AM +0300, Meelis Roos wrote:
> > > I decided to try btrfs on one of my alphas and got a surprise - btrfs module does not load:
> >
> > Confirmed on a PWS 433au running 4.19.0-rc6 with latest "sid" toolchain.
>
> Known and long-standing problem in the Alpha kernel module loader.
> Requires extra code implmented to support loading such large modules
> which no one has done. Workaround is to build the kernel with such
> modules (e.g. radeon, btrfs) in-built.
ACK on the workaround. Never noticed the problem with, per your
example, the radeon driver because I seldom build a driver as a
module for a piece of hardware (or filesystem type) that's present
at boot and won't be removed.
--Bob