From: Vladimir Serbinenko Date: Thu, 31 Dec 2015 17:30:39 +0000 (+0100) Subject: module-verifier: allow limited-range relocations on sparc64. X-Git-Tag: 2.02-beta3~136 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dcc499aaf034a5ee2f1ae11c7ec6f990ab9aea3c;p=thirdparty%2Fgrub.git module-verifier: allow limited-range relocations on sparc64. clang as incomplete mcmodel=large support. As we don't currently need full mcmodel=large support for sparc64, relax those checks. --- diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c index c027f0a0f..e217dcddc 100644 --- a/util/grub-module-verifier.c +++ b/util/grub-module-verifier.c @@ -38,7 +38,12 @@ struct grub_module_verifier_arch archs[] = { R_SPARC_LO10, R_SPARC_64, R_SPARC_OLO10, - /* R_SPARC_32, R_SPARC_HI22 are supported but shouldn't be used because of their limited range. */ + /* Following 2 relocations have limited range but unfortunately + clang generates them, as it doesn't implement mcmodel=large properly. + At least our heap and core are under 4G, so it's not a problem + usually. */ + R_SPARC_HI22, + R_SPARC_32, -1 } }, { "ia64", 8, 0, EM_IA_64, GRUB_MODULE_VERIFY_SUPPORTS_RELA, (int[]){