From: Richard M. Stallman Date: Thu, 16 Jun 1994 23:45:41 +0000 (+0000) Subject: (make_hdr): Handle case of no "additional header". X-Git-Tag: emacs-19.34~7922 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dcceb381ab25d112997e5e4bdd10993dfe5f42ea;p=emacs.git (make_hdr): Handle case of no "additional header". --- diff --git a/src/unexec.c b/src/unexec.c index d91644519f1..2de8b20b588 100644 --- a/src/unexec.c +++ b/src/unexec.c @@ -490,6 +490,7 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) block_copy_start += sizeof (f_ohdr); } /* Loop through section headers, copying them in */ + lseek (a_out, sizeof (f_hdr) + f_hdr.f_opthdr, 0); for (scns = f_hdr.f_nscns; scns > 0; scns--) { if (read (a_out, &scntemp, sizeof (scntemp)) != sizeof (scntemp)) { @@ -657,7 +658,9 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) * will not adjust the file pointer for that section correctly. */ - lseek (a_out, sizeof (f_hdr) + sizeof (f_ohdr), 0); + /* This used to use sizeof (f_ohdr) instead of .f_opthdr. + .f_opthdr is said to be right when there is no optional header. */ + lseek (a_out, sizeof (f_hdr) + f_hdr.f_opthdr, 0); for (scns = f_hdr.f_nscns; scns > 0; scns--) {