You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.2 KiB
29 lines
1.2 KiB
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
|
From: Vladimir Serbinenko <phcoder@gmail.com> |
|
Date: Thu, 31 Dec 2015 18:30:39 +0100 |
|
Subject: [PATCH] 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. |
|
--- |
|
util/grub-module-verifier.c | 7 ++++++- |
|
1 file changed, 6 insertions(+), 1 deletion(-) |
|
|
|
diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c |
|
index c027f0a0fb1..e217dcddc07 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[]){
|
|
|