|
@@ -718,6 +718,17 @@ int dso__load_sym(struct dso *dso, struct map *map,
|
|
|
sym.st_value);
|
|
|
used_opd = true;
|
|
|
}
|
|
|
+ /*
|
|
|
+ * When loading symbols in a data mapping, ABS symbols (which
|
|
|
+ * has a value of SHN_ABS in its st_shndx) failed at
|
|
|
+ * elf_getscn(). And it marks the loading as a failure so
|
|
|
+ * already loaded symbols cannot be fixed up.
|
|
|
+ *
|
|
|
+ * I'm not sure what should be done. Just ignore them for now.
|
|
|
+ * - Namhyung Kim
|
|
|
+ */
|
|
|
+ if (sym.st_shndx == SHN_ABS)
|
|
|
+ continue;
|
|
|
|
|
|
sec = elf_getscn(runtime_ss->elf, sym.st_shndx);
|
|
|
if (!sec)
|