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 <fran...@linux.ibm.com> --- dump/dump.c | 52 ++++++++++++++++------------------------------------ 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/dump/dump.c b/dump/dump.c index 88c2dbb466..78654b9c27 100644 --- a/dump/dump.c +++ b/dump/dump.c @@ -554,52 +554,32 @@ static void dump_begin(DumpState *s, Error **errp) return; } - if (dump_is_64bit(s)) { - /* write all PT_LOAD to vmcore */ - write_elf_loads(s, &local_err); + /* write all PT_LOAD to vmcore */ + write_elf_loads(s, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + + /* write section to vmcore */ + if (s->shdr_num) { + write_elf_section(s, 1, &local_err); if (local_err) { error_propagate(errp, local_err); return; } + } - /* write section to vmcore */ - if (s->shdr_num) { - write_elf_section(s, 1, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - } - + if (dump_is_64bit(s)) { /* write notes to vmcore */ write_elf64_notes(fd_write_vmcore, s, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } } else { - /* write all PT_LOAD to vmcore */ - write_elf_loads(s, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - - /* write section to vmcore */ - if (s->shdr_num) { - write_elf_section(s, 0, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - } - /* write notes to vmcore */ write_elf32_notes(fd_write_vmcore, s, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } + } + if (local_err) { + error_propagate(errp, local_err); + return; } } -- 2.32.0