[21.5] incorrect types in unexelf.c

Andrey Slusar anrays at gmail.com
Mon Oct 10 14:58:42 EDT 2005


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.




More information about the XEmacs-Beta mailing list