diff --git a/lib/libpmcstat/libpmcstat_image.c b/lib/libpmcstat/libpmcstat_image.c index 9ee7097e95ec..2ba382d02c43 100644 --- a/lib/libpmcstat/libpmcstat_image.c +++ b/lib/libpmcstat/libpmcstat_image.c @@ -384,7 +384,7 @@ pmcstat_image_get_elf_params(struct pmcstat_image *image, * loaded. Additionally, for dynamically linked executables, * save the pathname to the runtime linker. */ - if (eh.e_type == ET_EXEC) { + if (eh.e_type != ET_REL) { if (elf_getphnum(e, &nph) == 0) { warnx( "WARNING: Could not determine the number of program headers in \"%s\": %s.", @@ -416,7 +416,7 @@ pmcstat_image_get_elf_params(struct pmcstat_image *image, break; case PT_LOAD: if ((ph.p_flags & PF_X) != 0 && - (ph.p_offset & (-ph.p_align)) == 0) + image->pi_vaddr == 0) image->pi_vaddr = ph.p_vaddr & (-ph.p_align); break; }