Hi,

We are bulding grub with clang that use -mretpoline option. This leads to 
symbols __llvm_retpoline_[eax/ecx/edx, etc.] generated into binaries. And 
caused  duplicates error during moddep.lst creation.
I'm not sure if this fix will be a bit project specific?

diff --git a/grub-core/genmoddep.awk b/grub-core/genmoddep.awk
index 2474363..f859854 100644
--- a/grub-core/genmoddep.awk
+++ b/grub-core/genmoddep.awk
@@ -18,7 +18,7 @@ BEGIN {
{
if ($1 == "defined") {
- if ($3 !~ /^\.refptr\./ && $3 in symtab) {
+ if ($3 !~ /__llvm_retpoline_.*/ && $3 !~ /^\.refptr\./ && $3 in symtab) {
printf "%s in %s is duplicated in %s\n", $3, $2, symtab[$3] >"/dev/stderr";
error++;
}

Regards,
Oleksiy
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel
  • ... Oleksiy Obitotskyi -X (oobitots - GLOBALLOGIC INC at Cisco) via Grub-devel
    • ... Daniel Kiper
    • ... Vladimir 'phcoder' Serbinenko

Reply via email to