dump: Cleanup dump_begin write functions

There's no need to have a gigantic if in there let's move the elf
32/64 bit logic into the section, segment or note code.

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-9-frankja@linux.ibm.com>
This commit is contained in:
Janosch Frank 2022-03-30 12:36:02 +00:00 committed by Marc-André Lureau
parent bc7d558017
commit 5ff2e5a3e1
1 changed files with 11 additions and 31 deletions

View File

@ -564,46 +564,26 @@ static void dump_begin(DumpState *s, Error **errp)
return;
}
if (dump_is_64bit(s)) {
/* write all PT_LOAD to vmcore */
write_elf_loads(s, errp);
/* write all PT_LOAD to vmcore */
write_elf_loads(s, errp);
if (*errp) {
return;
}
/* write section to vmcore */
if (s->shdr_num) {
write_elf_section(s, 1, errp);
if (*errp) {
return;
}
}
/* write section to vmcore */
if (s->shdr_num) {
write_elf_section(s, 1, errp);
if (*errp) {
return;
}
}
if (dump_is_64bit(s)) {
/* write notes to vmcore */
write_elf64_notes(fd_write_vmcore, s, errp);
if (*errp) {
return;
}
} else {
/* write all PT_LOAD to vmcore */
write_elf_loads(s, errp);
if (*errp) {
return;
}
/* write section to vmcore */
if (s->shdr_num) {
write_elf_section(s, 0, errp);
if (*errp) {
return;
}
}
/* write notes to vmcore */
write_elf32_notes(fd_write_vmcore, s, errp);
if (*errp) {
return;
}
}
}