mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-05 03:39:38 +00:00
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)
This commit is contained in:
parent
f69bd7954f
commit
3ace730947
1 changed files with 5 additions and 5 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue