genmoddep: Check that no modules provide the same symbol.
authorVladimir Serbinenko <phcoder@gmail.com>
Mon, 14 Aug 2017 12:10:48 +0000 (14:10 +0200)
committerVladimir Serbinenko <phcoder@gmail.com>
Mon, 14 Aug 2017 12:10:48 +0000 (14:10 +0200)
The semantics of 2 modules providing the same symbol are undefined. So
ensure that it doesn't happen.

grub-core/genmoddep.awk

index bd98d84..8976beb 100644 (file)
@@ -18,6 +18,10 @@ BEGIN {
 
 {
   if ($1 == "defined") {
+    if ($3 in symtab) {
+      printf "%s in %s is duplicated in %s\n", $3, $2, symtab[$3] >"/dev/stderr";
+      error++;
+    }
     symtab[$3] = $2;
     modtab[$2] = "" modtab[$2]
   } else if ($1 == "undefined") {