From 66d30f269e354cf16e1af995336288adf54ce074 Mon Sep 17 00:00:00 2001 From: Namhyung Kim Date: Wed, 21 Nov 2012 13:49:44 +0100 Subject: [PATCH] --- yaml --- r: 349884 b: refs/heads/master c: 3843b05d6ef20acbd4b0043e4ab7536602eb10ae h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/tools/perf/util/symbol-elf.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 8f0454d2e4f7..f6d7adade430 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c0d246b85fc7d42688d7a5d999ea671777caf65b +refs/heads/master: 3843b05d6ef20acbd4b0043e4ab7536602eb10ae diff --git a/trunk/tools/perf/util/symbol-elf.c b/trunk/tools/perf/util/symbol-elf.c index db0cc92cf2ea..f63557b59c06 100644 --- a/trunk/tools/perf/util/symbol-elf.c +++ b/trunk/tools/perf/util/symbol-elf.c @@ -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)