summaryrefslogtreecommitdiff
path: root/src/unexhp9k800.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-05-22 19:34:55 +0000
committerRichard M. Stallman <rms@gnu.org>1994-05-22 19:34:55 +0000
commitb8a0abf2def982c318bb2dc97382bdfa0146238f (patch)
treebd39e53f4df714d651646a99432efaef38ebbf3e /src/unexhp9k800.c
parent2d49d361ae7a8efb41f4e75fcd70412b2883dd63 (diff)
downloademacs-b8a0abf2def982c318bb2dc97382bdfa0146238f.tar.gz
Include config.h.
[HPUX_USE_SHLIBS]: Include dl.h. (brk_on_dump): New variable. (unexec): Set brk_on_dump. (copy_file): Change buffer size to 8192.
Diffstat (limited to 'src/unexhp9k800.c')
-rw-r--r--src/unexhp9k800.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/unexhp9k800.c b/src/unexhp9k800.c
index 0d8f1a7cf0e..76bfa1f8551 100644
--- a/src/unexhp9k800.c
+++ b/src/unexhp9k800.c
@@ -43,6 +43,26 @@
#include <a.out.h>
+#ifdef emacs
+#include <config.h>
+#endif
+
+#ifdef HPUX_USE_SHLIBS
+#include <dl.h>
+#endif
+
+/* brk value to restore, stored as a global.
+ This is really used only if we used shared libraries. */
+static long brk_on_dump = 0;
+
+/* Called from main, if we use shared libraries. */
+int
+run_time_remap (ignored)
+ char *ignored;
+{
+ brk (brk_on_dump);
+}
+
#define roundup(x,n) (((x) + ((n) - 1)) & ~((n) - 1)) /* n is power of 2 */
#define min(x,y) (((x) < (y)) ? (x) : (y))
@@ -78,6 +98,8 @@ unexec (new_name, old_name, new_end_of_text, dummy1, dummy2)
/* Read the old headers */
read_header (old, &hdr, &auxhdr);
+
+ brk_on_dump = sbrk (0);
/* Decide how large the new and old data areas are */
old_size = auxhdr.exec_dsize;
@@ -246,7 +268,7 @@ copy_file (old, new, size)
int size;
{
int len;
- int buffer[8196]; /* word aligned will be faster */
+ int buffer[8192]; /* word aligned will be faster */
for (; size > 0; size -= len)
{