perf tools: Pass build_id object to filename__read_build_id()
Pass a build_id object to filename__read_build_id function, so it can populate the size of the build_id object. Changing filename__read_build_id() code for both ELF/non-ELF code. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Acked-by: Ian Rogers <irogers@google.com> Link: https://lore.kernel.org/r/20201013192441.1299447-3-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:

committed by
Arnaldo Carvalho de Melo

parent
0aba7f036a
commit
f766819cd5
@@ -24,7 +24,7 @@ static int run_dir(const char *d)
|
||||
{
|
||||
char filename[PATH_MAX];
|
||||
char debugfile[PATH_MAX];
|
||||
char build_id[BUILD_ID_SIZE];
|
||||
struct build_id bid;
|
||||
char debuglink[PATH_MAX];
|
||||
char expect_build_id[] = {
|
||||
0x5a, 0x0f, 0xd8, 0x82, 0xb5, 0x30, 0x84, 0x22,
|
||||
@@ -36,10 +36,10 @@ static int run_dir(const char *d)
|
||||
int ret;
|
||||
|
||||
scnprintf(filename, PATH_MAX, "%s/pe-file.exe", d);
|
||||
ret = filename__read_build_id(filename, build_id, BUILD_ID_SIZE);
|
||||
ret = filename__read_build_id(filename, &bid);
|
||||
TEST_ASSERT_VAL("Failed to read build_id",
|
||||
ret == sizeof(expect_build_id));
|
||||
TEST_ASSERT_VAL("Wrong build_id", !memcmp(build_id, expect_build_id,
|
||||
TEST_ASSERT_VAL("Wrong build_id", !memcmp(bid.data, expect_build_id,
|
||||
sizeof(expect_build_id)));
|
||||
|
||||
ret = filename__read_debuglink(filename, debuglink, PATH_MAX);
|
||||
@@ -48,10 +48,10 @@ static int run_dir(const char *d)
|
||||
!strcmp(debuglink, expect_debuglink));
|
||||
|
||||
scnprintf(debugfile, PATH_MAX, "%s/%s", d, debuglink);
|
||||
ret = filename__read_build_id(debugfile, build_id, BUILD_ID_SIZE);
|
||||
ret = filename__read_build_id(debugfile, &bid);
|
||||
TEST_ASSERT_VAL("Failed to read debug file build_id",
|
||||
ret == sizeof(expect_build_id));
|
||||
TEST_ASSERT_VAL("Wrong build_id", !memcmp(build_id, expect_build_id,
|
||||
TEST_ASSERT_VAL("Wrong build_id", !memcmp(bid.data, expect_build_id,
|
||||
sizeof(expect_build_id)));
|
||||
|
||||
dso = dso__new(filename);
|
||||
|
@@ -28,16 +28,16 @@ static int target_function(void)
|
||||
static int build_id_cache__add_file(const char *filename)
|
||||
{
|
||||
char sbuild_id[SBUILD_ID_SIZE];
|
||||
u8 build_id[BUILD_ID_SIZE];
|
||||
struct build_id bid;
|
||||
int err;
|
||||
|
||||
err = filename__read_build_id(filename, &build_id, sizeof(build_id));
|
||||
err = filename__read_build_id(filename, &bid);
|
||||
if (err < 0) {
|
||||
pr_debug("Failed to read build id of %s\n", filename);
|
||||
return err;
|
||||
}
|
||||
|
||||
build_id__sprintf(build_id, sizeof(build_id), sbuild_id);
|
||||
build_id__sprintf(bid.data, sizeof(bid.data), sbuild_id);
|
||||
err = build_id_cache__add_s(sbuild_id, filename, NULL, false, false);
|
||||
if (err < 0)
|
||||
pr_debug("Failed to add build id cache of %s\n", filename);
|
||||
|
Reference in New Issue
Block a user