klp_find_callback() stops the search when sympos is not defined and a second symbol of the same name is found. It means that the current error message about the unresolvable ambiguity always prints "(2 matches)". Let's remove this information. The total number of occurrences is not much helpful. The author of the patch still must put a non-trivial effort into searching the right position in the object file. [jkosina@suse.cz: fixed grammar as suggested by Josh] Signed-off-by: Petr Mladek <pmladek@suse.com> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Acked-by: Chris J Arges <chris.j.arges@canonical.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Unified · Split
| @@ -190,8 +190,8 @@ static int klp_find_object_symbol(const char *objname, const char *name, · 189 unmodified lines | ||
| 190 | 190 | if (args.addr == 0) |
| 191 | 191 | pr_err("symbol '%s' not found in symbol table\n", name); |
| 192 | 192 | else if (args.count > 1 && sympos == 0) { |
| 193 | − pr_err("unresolvable ambiguity (%lu matches) on symbol '%s' in object '%s'\n", | |
| 194 | − args.count, name, objname); | |
| 193 | + pr_err("unresolvable ambiguity for symbol '%s' in object '%s'\n", | |
| 194 | + name, objname); | |
| 195 | 195 | } else if (sympos != args.count && sympos > 0) { |
| 196 | 196 | pr_err("symbol position %lu for symbol '%s' in object '%s' not found\n", |
| 197 | 197 | sympos, name, objname ? objname : "vmlinux"); |