@@ -119,11 +119,6 @@ static int __dso__cmp_short_name(const char *short_name, struct dso_id *id, stru
return rc ?: dso_id__cmp(id, &b->id);
}
-static int dso__cmp_short_name(struct dso *a, struct dso *b)
-{
- return __dso__cmp_short_name(a->short_name, &a->id, b);
-}
-
static int dsos__cmp_long_name_id_short_name(const void *va, const void *vb)
{
const struct dso *a = *((const struct dso **)va);
@@ -143,20 +138,21 @@ static int dsos__cmp_long_name_id_short_name(const void *va, const void *vb)
* Either one of the dso or name parameter must be non-NULL or the
* function will not work.
*/
-struct dso *__dsos__findnew_link_by_longname_id(struct dsos *dsos,
- struct dso *dso,
- const char *name,
- struct dso_id *id,
- bool write_locked)
+static struct dso *__dsos__find_by_longname_id(struct dsos *dsos,
+ const char *name,
+ struct dso_id *id,
+ bool write_locked)
{
int low = 0, high = dsos->cnt - 1;
if (!dsos->sorted) {
if (!write_locked) {
+ struct dso *dso;
+
up_read(&dsos->lock);
down_write(&dsos->lock);
- dso = __dsos__findnew_link_by_longname_id(dsos, dso, name, id,
- /*write_locked=*/true);
+ dso = __dsos__find_by_longname_id(dsos, name, id,
+ /*write_locked=*/true);
up_write(&dsos->lock);
down_read(&dsos->lock);
return dso;
@@ -166,9 +162,6 @@ struct dso *__dsos__findnew_link_by_longname_id(struct dsos *dsos,
dsos->sorted = true;
}
- if (!name)
- name = dso->long_name;
-
/*
* Find node with the matching name
*/
@@ -178,31 +171,13 @@ struct dso *__dsos__findnew_link_by_longname_id(struct dsos *dsos,
int rc = __dso__cmp_long_name(name, id, this);
if (rc == 0) {
- /*
- * In case the new DSO is a duplicate of an existing
- * one, print a one-time warning & put the new entry
- * at the end of the list of duplicates.
- */
- if (!dso || (dso == this))
- return dso__get(this); /* Find matching dso */
- /*
- * The core kernel DSOs may have duplicated long name.
- * In this case, the short name should be different.
- * Comparing the short names to differentiate the DSOs.
- */
- rc = dso__cmp_short_name(dso, this);
- if (rc == 0) {
- pr_err("Duplicated dso name: %s\n", name);
- return NULL;
- }
+ return dso__get(this); /* Find matching dso */
}
if (rc < 0)
high = mid - 1;
else
low = mid + 1;
}
- if (dso)
- __dsos__add(dsos, dso);
return NULL;
}
@@ -240,12 +215,6 @@ int dsos__add(struct dsos *dsos, struct dso *dso)
return ret;
}
-static struct dso *__dsos__findnew_by_longname_id(struct dsos *dsos, const char *name,
- struct dso_id *id, bool write_locked)
-{
- return __dsos__findnew_link_by_longname_id(dsos, NULL, name, id, write_locked);
-}
-
struct dsos__find_id_cb_args {
const char *name;
struct dso_id *id;
@@ -279,7 +248,7 @@ static struct dso *__dsos__find_id(struct dsos *dsos, const char *name, struct d
__dsos__for_each_dso(dsos, dsos__find_id_cb, &args);
return args.res;
}
- res = __dsos__findnew_by_longname_id(dsos, name, id, write_locked);
+ res = __dsos__find_by_longname_id(dsos, name, id, write_locked);
return res;
}
@@ -36,12 +36,6 @@ struct dso *dsos__findnew_id(struct dsos *dsos, const char *name, struct dso_id
bool dsos__read_build_ids(struct dsos *dsos, bool with_hits);
-struct dso *__dsos__findnew_link_by_longname_id(struct dsos *dsos,
- struct dso *dso,
- const char *name,
- struct dso_id *id,
- bool write_locked);
-
size_t dsos__fprintf_buildid(struct dsos *dsos, FILE *fp,
bool (skip)(struct dso *dso, int parm), int parm);
size_t dsos__fprintf(struct dsos *dsos, FILE *fp);