summaryrefslogtreecommitdiffstats
path: root/dump
diff options
context:
space:
mode:
authorJanosch Frank2022-03-30 14:35:58 +0200
committerMarc-André Lureau2022-04-22 11:36:03 +0200
commit344107e07bd81546474a54ab83800158ca953059 (patch)
treead583d4f2e2242f1d902c9dcf2a5041c1e7dc73e /dump
parentdump: Introduce shdr_num to decrease complexity (diff)
downloadqemu-344107e07bd81546474a54ab83800158ca953059.tar.gz
qemu-344107e07bd81546474a54ab83800158ca953059.tar.xz
qemu-344107e07bd81546474a54ab83800158ca953059.zip
dump: Remove the section if when calculating the memory offset
When s->shdr_num is 0 we'll add 0 bytes of section headers which is equivalent to not adding section headers but with the multiplication we can remove a if/else. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20220330123603.107120-5-frankja@linux.ibm.com>
Diffstat (limited to 'dump')
-rw-r--r--dump/dump.c24
1 files changed, 8 insertions, 16 deletions
diff --git a/dump/dump.c b/dump/dump.c
index 285ed4475b..9c80680eb2 100644
--- a/dump/dump.c
+++ b/dump/dump.c
@@ -1817,23 +1817,15 @@ static void dump_init(DumpState *s, int fd, bool has_format,
}
if (s->dump_info.d_class == ELFCLASS64) {
- if (s->shdr_num) {
- s->memory_offset = sizeof(Elf64_Ehdr) +
- sizeof(Elf64_Phdr) * s->phdr_num +
- sizeof(Elf64_Shdr) * s->shdr_num + s->note_size;
- } else {
- s->memory_offset = sizeof(Elf64_Ehdr) +
- sizeof(Elf64_Phdr) * s->phdr_num + s->note_size;
- }
+ s->memory_offset = sizeof(Elf64_Ehdr) +
+ sizeof(Elf64_Phdr) * s->phdr_num +
+ sizeof(Elf64_Shdr) * s->shdr_num +
+ s->note_size;
} else {
- if (s->shdr_num) {
- s->memory_offset = sizeof(Elf32_Ehdr) +
- sizeof(Elf32_Phdr) * s->phdr_num +
- sizeof(Elf32_Shdr) * s->shdr_num + s->note_size;
- } else {
- s->memory_offset = sizeof(Elf32_Ehdr) +
- sizeof(Elf32_Phdr) * s->phdr_num + s->note_size;
- }
+ s->memory_offset = sizeof(Elf32_Ehdr) +
+ sizeof(Elf32_Phdr) * s->phdr_num +
+ sizeof(Elf32_Shdr) * s->shdr_num +
+ s->note_size;
}
return;