Don't annotate symbol name with @soname for main binary
diff --git a/ltrace-elf.c b/ltrace-elf.c
index 7cfd7f1..c8da4b4 100644
--- a/ltrace-elf.c
+++ b/ltrace-elf.c
@@ -568,10 +568,17 @@
if (addr != naddr)
naddr += lte->bias;
- char *full_name = malloc(strlen(name) + 1 + lib_len + 1);
- if (full_name == NULL)
- goto fail;
- sprintf(full_name, "%s@%s", name, lib->soname);
+ char *full_name;
+ if (lib->type != LT_LIBTYPE_MAIN) {
+ full_name = malloc(strlen(name) + 1 + lib_len + 1);
+ if (full_name == NULL)
+ goto fail;
+ sprintf(full_name, "%s@%s", name, lib->soname);
+ } else {
+ full_name = strdup(name);
+ if (full_name == NULL)
+ goto fail;
+ }
/* Look whether we already have a symbol for this
* address. If not, add this one. */