[yocto] Problems with building out-of-tree modules in morty
Khem Raj
raj.khem at gmail.com
Tue Jan 24 11:22:59 PST 2017
On 1/24/17 7:16 AM, Bogusz Brodziński wrote:
> Hi,
>
> TL;DR after migrating from jethro to morty my out-of-tree modules do not
> load.
>
> Long version:
> Im developing uio driver for a custom FPGA. The base is xilinx zu15
> (note: as the explanation will go on I *think* it will be clear that
> this is not related to meta-xilinx).
> It's basically a debug interface that generates IRQ-like events on files
> (poll) for newly developed/tested features. The initial structure was
> poky jethro, meta-xilinx with linux-xlnx 4.4 for aarch64. The module is
> basically uio driver, but creates individual uio for each signal. The
> makefile is straight from
> https://www.yoctoproject.org/docs/2.2/kernel-dev/kernel-dev.html and the
> recipee inherits from module.
> When using jethro the module got built out-of-tree with no problem and I
> could load it. After migrating to morty (I also bumped meta-xilinx rev,
> but I use the same kernel SRCREV and project layer) I still can build
> the module, but when loading it I get:
>
> $ modprobe uio_pdrv_testirq
> [ 79.059558] module uio_pdrv_testirq: unsupported RELA relocation: 275
> modprobe: can't load module uio_pdrv_testirq
> (testirq/uio_pdrv_testirq.ko): invalid module format
>
> $ modinfo uio_pdrv_testirq
> filename: testirq/uio_pdrv_testirq.ko
> license: GPL v2
> author: BB
> description: Userspace I/O test driver irq handler
> depends:
> vermagic: 4.4.0-xilinx SMP preempt mod_unload modversions aarch64
>
> I looked for a solution and found this
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/375429.html
> thread
> I checked that I have all the ERRATUM enabled (with emphasys on
> ARM64_ERRATUM_843419):
> CONFIG_ARM64_ERRATUM_826319=y
> CONFIG_ARM64_ERRATUM_827319=y
> CONFIG_ARM64_ERRATUM_824069=y
> CONFIG_ARM64_ERRATUM_819472=y
> CONFIG_ARM64_ERRATUM_832075=y
> CONFIG_ARM64_ERRATUM_845719=y
> CONFIG_ARM64_ERRATUM_843419=y
>
> and I added
> CFLAGS_MODULE += -mcmodel=large
>
> Result: no change; testirq still fails to load.
>
> I would be grateful for any suggestions where to look or what to do next.
>
Backport
https://github.com/torvalds/linux/commit/df057cc7b4fa59e9b55f07ffdb6c62bf02e99a00
https://github.com/torvalds/linux/commit/67dfa1751ce71e629aad7c438e1678ad41054677
To your kernel. Additionally you also can have gcc fix
https://github.com/kraj/gcc/commit/947be775c188312ff802d9f63dbdccd017cb4a29
hopefully these will help
> Best regards,
> Bogusz Brodzinski
>
>
>
More information about the yocto
mailing list