|
@@ -232,6 +232,7 @@ static int read_object_code(u64 addr, size_t len, u8 cpumode,
|
|
|
u64 objdump_addr;
|
|
|
const char *objdump_name;
|
|
|
char decomp_name[KMOD_DECOMP_LEN];
|
|
|
+ bool decomp = false;
|
|
|
int ret;
|
|
|
|
|
|
pr_debug("Reading object code for memory address: %#"PRIx64"\n", addr);
|
|
@@ -305,6 +306,7 @@ static int read_object_code(u64 addr, size_t len, u8 cpumode,
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
+ decomp = true;
|
|
|
objdump_name = decomp_name;
|
|
|
}
|
|
|
|
|
@@ -312,7 +314,7 @@ static int read_object_code(u64 addr, size_t len, u8 cpumode,
|
|
|
objdump_addr = map__rip_2objdump(al.map, al.addr);
|
|
|
ret = read_via_objdump(objdump_name, objdump_addr, buf2, len);
|
|
|
|
|
|
- if (dso__needs_decompress(al.map->dso))
|
|
|
+ if (decomp)
|
|
|
unlink(objdump_name);
|
|
|
|
|
|
if (ret > 0) {
|