summaryrefslogtreecommitdiff
path: root/src/unexec.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1993-02-23 05:49:12 +0000
committerRichard M. Stallman <rms@gnu.org>1993-02-23 05:49:12 +0000
commitbf760e72b439e44111cdb2be721923aa691a257e (patch)
treedcf843c17c2bf063ef81632e60d3d37f417fe7aa /src/unexec.c
parent83d901e96d1e77d0d351a4b0704ff016ddbf5749 (diff)
downloademacs-bf760e72b439e44111cdb2be721923aa691a257e.tar.gz
(Fforward_comment): New function.
(adjust_lnnoptrs): Handle symentry.n_type == 0x2400. (make_hdr) [USG_SHARED_LIBRARIES]: Set bias using bss_start.
Diffstat (limited to 'src/unexec.c')
-rw-r--r--src/unexec.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/unexec.c b/src/unexec.c
index c1dc6e33016..bd6985a349b 100644
--- a/src/unexec.c
+++ b/src/unexec.c
@@ -479,7 +479,7 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
* space.
*/
- bias = bss_end - (f_ohdr.data_start + f_dhdr.s_size);
+ bias = bss_start - (f_ohdr.data_start + f_dhdr.s_size);
#endif
@@ -1024,11 +1024,12 @@ adjust_lnnoptrs (writedesc, readdesc, new_name)
{
read (new, &auxentry, AUXESZ);
nsyms++;
- if (ISFCN (symentry.n_type)) {
- auxentry.x_sym.x_fcnary.x_fcn.x_lnnoptr += bias;
- lseek (new, -AUXESZ, 1);
- write (new, &auxentry, AUXESZ);
- }
+ if (ISFCN (symentry.n_type) || symentry.n_type == 0x2400)
+ {
+ auxentry.x_sym.x_fcnary.x_fcn.x_lnnoptr += bias;
+ lseek (new, -AUXESZ, 1);
+ write (new, &auxentry, AUXESZ);
+ }
}
}
close (new);