Thu 31 Mar 2016 02:52:17 AM UTC, original submission:
Building grub2 for armv7a arch would fail with the following errors.
| build-grub-module-verifier: error: unsupported relocation 0x2b.
| make[3]: *** [disk.mod] Error 1
| make[3]: *** Waiting for unfinished jobs....
| build-grub-module-verifier: error: unsupported relocation 0x2b.
| make[3]: *** [cat.mod] Error 1
| build-grub-module-verifier: error: unsupported relocation 0x2b.
| make[3]: *** [cmp.mod] Error 1
I'm using gcc 5.3 for cross compilation.
"arm-poky-linux-gnueabi-gcc -march=armv7-a -marm -mfpu=vfp -mfloat-abi=softfp ...."
I've looked at the codes of grub-module-verifier. The problem seems to be that the above relocation is not allowed for 'arm' arch. Add the relocations for arm arch would solve the build failure but I really don't know whether it's appropriate.
diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
index e217dcd..a249713 100644
--- a/util/grub-module-verifier.c
+++ b/util/grub-module-verifier.c
@@ -97,6 +97,8 @@ struct grub_module_verifier_arch archs[] = {
R_ARM_THM_CALL,
R_ARM_THM_JUMP24,
R_ARM_V4BX,
+ R_ARM_MOVW_ABS_NC,
+ R_ARM_MOVT_ABS,
R_ARM_THM_MOVW_ABS_NC,
R_ARM_THM_MOVT_ABS,
R_ARM_THM_JUMP19,
--
1.9.1
To summarise, is the above patch appropriate or armv7a is not yet supported?
|