Hi, All!
In lisp.h:
,----
| /* Defined in unex*.c */
| #ifdef WIN32_NATIVE
| int unexec (Ibyte *, Ibyte *, uintptr_t, uintptr_t, uintptr_t);
| #else
| int unexec (Extbyte *, Extbyte *, uintptr_t, uintptr_t, uintptr_t);
| #endif
`----
In unexelf.c:
,----
| [...]
| #ifndef emacs
| #define fatal(a, b, c) fprintf (stderr, a, b, c), exit (1)
| #else
| #include <config.h>
| #include "lisp.h"
| extern DOESNT_RETURN fatal (const CIbyte *, ...);
| #endif
| [...]
| int
| unexec (Extbyte *new_name, Extbyte *old_name, unsigned int UNUSED (data_start),
| unsigned int UNUSED (bss_start), unsigned int UNUSED (entry_address))
| [...]
`----
This is not work on the FreeBSD 64bit platforms(amd64, ia64, sparc64) -
XEmacs is not compile.
Patch, fixed this problem:
--8<---------------cut here---------------start------------->8---
--- src/unexelf.c.orig Mon Oct 10 21:31:38 2005
+++ src/unexelf.c Mon Oct 10 21:33:16 2005
@@ -565,8 +565,8 @@
*
*/
int
-unexec (Extbyte *new_name, Extbyte *old_name, unsigned int UNUSED (data_start),
- unsigned int UNUSED (bss_start), unsigned int UNUSED (entry_address))
+unexec (Extbyte *new_name, Extbyte *old_name, uintptr_t UNUSED (data_start),
+ uintptr_t UNUSED (bss_start), uintptr_t UNUSED (entry_address))
{
int new_file, old_file, new_file_size;
--8<---------------cut here---------------end--------------->8---
This patch is tested on the FreeBSD clusters and commited to official
FreeBSD ports tree.
--
Regards,
Andrey.
Show replies by date