So when I try to build a Xenomai patched kernel for the BeagleBone using
Thumb2 instructions, I get the following linker errors:
This has recently become more of a problem, as the default BeagleBone
kernel has switched to enabling CONFIG_THUMB2_KERNEL.
A bit of Googling turned up the following patch to fix a similar problem
on the Tegra (not Xenomai related):
http://patchwork.ozlabs.org/patch/236760/
I applied a similar if-then patch (see below) to the two Xenomai calls
that generate the linker errors, and the result is a working kernel.
Can someone more familiar with iPipeand ARM assembly review the attached
minor patch and advise on whether or not it seems OK?
As I understand things, the two bne calls in the default ipipe patch
don't work when building a kernel using the thumb instructions due to
the limited range of the conditional branch. Using the if-then
construct when THUMB2 is enabled allows for a larger addressing range in
the branch, thus avoiding the linker errors. If this seems OK, perhaps
it should be applied to the master ipipe patch set? If not, is there a
better way to avoid the linker errors when building with the thumb
instructions?
Thumb2 instructions, I get the following linker errors:
This has recently become more of a problem, as the default BeagleBone
kernel has switched to enabling CONFIG_THUMB2_KERNEL.
A bit of Googling turned up the following patch to fix a similar problem
on the Tegra (not Xenomai related):
http://patchwork.ozlabs.org/patch/236760/
I applied a similar if-then patch (see below) to the two Xenomai calls
that generate the linker errors, and the result is a working kernel.
Can someone more familiar with iPipeand ARM assembly review the attached
minor patch and advise on whether or not it seems OK?
As I understand things, the two bne calls in the default ipipe patch
don't work when building a kernel using the thumb instructions due to
the limited range of the conditional branch. Using the if-then
construct when THUMB2 is enabled allows for a larger addressing range in
the branch, thus avoiding the linker errors. If this seems OK, perhaps
it should be applied to the master ipipe patch set? If not, is there a
better way to avoid the linker errors when building with the thumb
instructions?