diff options
author | Eli Zaretskii <eliz@gnu.org> | 2016-12-23 22:26:25 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2016-12-23 22:26:25 +0200 |
commit | 3ace7309476e1899a67ba2883a0003afe9d48d4d (patch) | |
tree | abb23c77151c5fcaefec53667cbbc627a173e176 | |
parent | f69bd7954f113719bb0e46e143231744c80bef34 (diff) | |
download | emacs-3ace7309476e1899a67ba2883a0003afe9d48d4d.tar.gz |
Attempt to fix 64-bit AIX build
* src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
type-casts that assumed 32-bit pointers. (Bug#25141)
-rw-r--r-- | src/unexaix.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/unexaix.c b/src/unexaix.c index c2012f77cac..5685aee5480 100644 --- a/src/unexaix.c +++ b/src/unexaix.c @@ -245,15 +245,15 @@ make_hdr (int new, int a_out, if (f_thdr == 0) { - ERROR1 ("unexec: couldn't find \"%s\" section", (int) _TEXT); + ERROR1 ("unexec: couldn't find \"%s\" section", _TEXT); } if (f_dhdr == 0) { - ERROR1 ("unexec: couldn't find \"%s\" section", (int) _DATA); + ERROR1 ("unexec: couldn't find \"%s\" section", _DATA); } if (f_bhdr == 0) { - ERROR1 ("unexec: couldn't find \"%s\" section", (int) _BSS); + ERROR1 ("unexec: couldn't find \"%s\" section", _BSS); } } else @@ -382,7 +382,7 @@ copy_text_and_data (int new) write_segment (new, ptr, end); lseek (new, data_scnptr, SEEK_SET); - ptr = (char *) f_ohdr.data_start; + ptr = (char *) (ptrdiff_t) f_ohdr.data_start; end = ptr + f_ohdr.dsize; write_segment (new, ptr, end); @@ -399,7 +399,7 @@ write_segment (int new, char *ptr, char *end) for (i = 0; ptr < end;) { /* distance to next block. */ - nwrite = (((int) ptr + UnexBlockSz) & -UnexBlockSz) - (int) ptr; + nwrite = (((ptrdiff_t) ptr + UnexBlockSz) & -UnexBlockSz) - (ptrdiff_t) ptr; /* But not beyond specified end. */ if (nwrite > end - ptr) nwrite = end - ptr; ret = write (new, ptr, nwrite); |