From c1937d6a5e694e73944380a5f1f96b8cc884a2b1 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Mon, 6 Apr 1998 09:26:20 +0000 Subject: [PATCH] (unexec): Account for possible padding before the old .bss section. --- src/unexelf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/unexelf.c b/src/unexelf.c index 799052baf52..341147a576d 100644 --- a/src/unexelf.c +++ b/src/unexelf.c @@ -799,7 +799,9 @@ unexec (new_name, old_name, data_start, bss_start, entry_address) if (n < 0) fatal ("Couldn't find segment next to .bss in %s\n", old_name, 0); - NEW_PROGRAM_H (n).p_filesz += new_data2_size; + /* Make sure that the size includes any padding before the old .bss + section. */ + NEW_PROGRAM_H (n).p_filesz = new_bss_addr - NEW_PROGRAM_H (n).p_vaddr; NEW_PROGRAM_H (n).p_memsz = NEW_PROGRAM_H (n).p_filesz; #if 0 /* Maybe allow section after data2 - does this ever happen? */ -- 2.39.2