all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#8267: unexec FIXME in src/emacs.c
@ 2011-03-17  0:13 Paul Eggert
       [not found] ` <handler.8267.B.130032084229748.ack@debbugs.gnu.org>
  2011-03-17 17:33 ` bug#8267: unexec FIXME in src/emacs.c Andreas Schwab
  0 siblings, 2 replies; 7+ messages in thread
From: Paul Eggert @ 2011-03-17  0:13 UTC (permalink / raw)
  To: 8267

Severity: minor

There's a longstanding FIXME in src/emacs.c that gcc 4.5.2 is also
warning about.  I'd like to install the following to address the
problem.  This fix adds a file src/unexec.h, which contains just the
declaration for unexec.  Another plausible fix would be to put the
unexec declaration into lisp.h and have the unexec modules that don't
already include lisp.h, include lisp.h.  Either way would work fine,
but this way is a tad cleaner.

=== modified file 'src/ChangeLog'
--- src/ChangeLog	2011-03-16 21:47:59 +0000
+++ src/ChangeLog	2011-03-17 00:03:31 +0000
@@ -1,5 +1,14 @@
  2011-03-16  Paul Eggert  <eggert@cs.ucla.edu>
  
+	New file unexec.h, the (simple) interface for unexec.
+	* unexec.h: New file.
+	* deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
+	(unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
+	Depend on unexec.h.
+	* emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
+	* unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
+	* unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
+
  	* syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
  	shadowing.
  	(back_comment, skip_chars): Mark vars as initialized.

=== modified file 'src/deps.mk'
--- src/deps.mk	2011-03-13 06:43:00 +0000
+++ src/deps.mk	2011-03-16 23:59:54 +0000
@@ -93,7 +93,7 @@
  emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
     termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) lisp.h $(config_h) \
     globals.h ../lib/unistd.h window.h dispextern.h keyboard.h keymap.h \
-   frame.h coding.h gnutls.h msdos.h
+   frame.h coding.h gnutls.h msdos.h unexec.h
  fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \
     coding.h msdos.h blockinput.h atimer.h lisp.h $(config_h) frame.h \
     commands.h globals.h ../lib/unistd.h
@@ -200,15 +200,15 @@
  tparam.o: tparam.c tparam.h lisp.h $(config_h)
  undo.o: undo.c buffer.h commands.h window.h dispextern.h msdos.h \
     lisp.h globals.h $(config_h)
-unexaix.o: unexaix.c lisp.h $(config_h)
+unexaix.o: unexaix.c lisp.h unexec.h $(config_h)
  unexalpha.o: unexalpha.c $(config_h)
-unexcw.o: unexcw.c lisp.h $(config_h)
-unexcoff.o: unexcoff.c lisp.h $(config_h)
-unexelf.o: unexelf.c ../lib/unistd.h $(config_h)
-unexhp9k800.o: unexhp9k800.c $(config_h)
-unexmacosx.o: unexmacosx.c $(config_h)
-unexsol.o: unexsol.c lisp.h $(config_h)
-unexw32.o: unexw32.c $(config_h)
+unexcw.o: unexcw.c lisp.h unexec.h $(config_h)
+unexcoff.o: unexcoff.c lisp.h unexec.h $(config_h)
+unexelf.o: unexelf.c unexec.h ../lib/unistd.h $(config_h)
+unexhp9k800.o: unexhp9k800.c unexec.h $(config_h)
+unexmacosx.o: unexmacosx.c unexec.h $(config_h)
+unexsol.o: unexsol.c lisp.h unexec.h $(config_h)
+unexw32.o: unexw32.c unexec.h $(config_h)
  w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
     msdos.h buffer.h charset.h coding.h composite.h lisp.h $(config_h)
  widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \

=== modified file 'src/emacs.c'
--- src/emacs.c	2011-03-14 05:36:36 +0000
+++ src/emacs.c	2011-03-16 23:59:54 +0000
@@ -2085,9 +2085,7 @@
  \f
  #ifndef CANNOT_DUMP
  
-/* FIXME: maybe this should go into header file, config.h seems the
-   only one appropriate. */
-extern int unexec (const char *, const char *);
+#include "unexec.h"
  
  DEFUN ("dump-emacs", Fdump_emacs, Sdump_emacs, 2, 2, 0,
         doc: /* Dump current state of Emacs into executable file FILENAME.

=== modified file 'src/unexaix.c'
--- src/unexaix.c	2011-01-25 04:08:28 +0000
+++ src/unexaix.c	2011-03-16 23:59:54 +0000
@@ -40,6 +40,8 @@
   */
  
  #include <config.h>
+#include "unexec.h"
+
  #define PERROR(file) report_error (file, new)
  #include <a.out.h>
  /* Define getpagesize () if the system does not.

=== modified file 'src/unexcoff.c'
--- src/unexcoff.c	2011-01-25 04:08:28 +0000
+++ src/unexcoff.c	2011-03-16 23:59:54 +0000
@@ -50,6 +50,8 @@
   */
  
  #include <config.h>
+#include "unexec.h"
+
  #define PERROR(file) report_error (file, new)
  
  #ifndef CANNOT_DUMP  /* all rest of file!  */

=== modified file 'src/unexcw.c'
--- src/unexcw.c	2011-01-25 04:08:28 +0000
+++ src/unexcw.c	2011-03-16 23:59:54 +0000
@@ -19,6 +19,8 @@
  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
  
  #include <config.h>
+#include "unexec.h"
+
  #include <setjmp.h>
  #include <lisp.h>
  #include <stdio.h>
@@ -299,4 +301,3 @@
  
    return (0);
  }
-

=== added file 'src/unexec.h'
--- src/unexec.h	1970-01-01 00:00:00 +0000
+++ src/unexec.h	2011-03-17 00:03:31 +0000
@@ -0,0 +1,1 @@
+void unexec (const char *, const char *);

=== modified file 'src/unexelf.c'
--- src/unexelf.c	2011-01-25 04:08:28 +0000
+++ src/unexelf.c	2011-03-16 23:59:54 +0000
@@ -386,6 +386,8 @@
     Instead we read the whole file, modify it, and write it out.  */
  
  #include <config.h>
+#include <unexec.h>
+
  extern void fatal (const char *msgid, ...);
  
  #include <sys/types.h>

=== modified file 'src/unexhp9k800.c'
--- src/unexhp9k800.c	2011-01-15 23:16:57 +0000
+++ src/unexhp9k800.c	2011-03-16 23:59:54 +0000
@@ -50,6 +50,8 @@
  */
  \f
  #include <config.h>
+#include "unexec.h"
+
  #include <stdio.h>
  #include <fcntl.h>
  #include <errno.h>
@@ -319,4 +321,3 @@
  	  hdr->unloadable_sp_location, hdr->unloadable_sp_size);
  }
  #endif /* DEBUG */
-

=== modified file 'src/unexmacosx.c'
--- src/unexmacosx.c	2011-03-12 19:19:47 +0000
+++ src/unexmacosx.c	2011-03-16 23:59:54 +0000
@@ -95,6 +95,9 @@
  #undef malloc
  #undef realloc
  #undef free
+
+#include "unexec.h"
+
  #include <stdio.h>
  #include <fcntl.h>
  #include <stdarg.h>

=== modified file 'src/unexsol.c'
--- src/unexsol.c	2011-01-15 23:16:57 +0000
+++ src/unexsol.c	2011-03-16 23:59:54 +0000
@@ -1,6 +1,8 @@
  /* Trivial unexec for Solaris.  */
  
  #include <config.h>
+#include "unexec.h"
+
  #include <dlfcn.h>
  #include <setjmp.h>
  

=== modified file 'src/unexw32.c'
--- src/unexw32.c	2011-01-25 04:08:28 +0000
+++ src/unexw32.c	2011-03-16 23:59:54 +0000
@@ -21,6 +21,7 @@
  */
  
  #include <config.h>
+#include "unexec.h"
  
  #include <stdio.h>
  #include <fcntl.h>






^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-03-17 20:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-17  0:13 bug#8267: unexec FIXME in src/emacs.c Paul Eggert
     [not found] ` <handler.8267.B.130032084229748.ack@debbugs.gnu.org>
2011-03-17 16:54   ` bug#8267: Acknowledgement (unexec FIXME in src/emacs.c) Paul Eggert
2011-03-17 18:02     ` Ken Brown
2011-03-17 18:45       ` Paul Eggert
2011-03-17 19:01         ` Ken Brown
2011-03-17 20:20           ` Paul Eggert
2011-03-17 17:33 ` bug#8267: unexec FIXME in src/emacs.c Andreas Schwab

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.