[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r102488: Mark debugger related variab
From: |
Dan Nicolaescu |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r102488: Mark debugger related variables and functions as EXTERNALLY_VISIBLE |
Date: |
Tue, 23 Nov 2010 10:47:23 -0800 |
User-agent: |
Bazaar (2.0.3) |
------------------------------------------------------------
revno: 102488
committer: Dan Nicolaescu <address@hidden>
branch nick: trunk
timestamp: Tue 2010-11-23 10:47:23 -0800
message:
Mark debugger related variables and functions as EXTERNALLY_VISIBLE
so that they do not get optimized away.
* configure.in (EXTERNALLY_VISIBLE): New definition.
* src/emacs.c (gdb_use_union, gdb_valbits,gdb_gctypebits)
(gdb_data_seg_bits, gdb_array_mark_flag, PVEC_FLAG)
(gdb_pvec_type):
* src/print.c (print_output_debug_flag):
* src/lisp.h (debug_print): Mark as EXTERNALLY_VISIBLE.
(safe_debug_print): New declaration.
modified:
ChangeLog
configure.in
src/ChangeLog
src/config.in
src/emacs.c
src/lisp.h
src/print.c
=== modified file 'ChangeLog'
--- a/ChangeLog 2010-11-23 18:09:55 +0000
+++ b/ChangeLog 2010-11-23 18:47:23 +0000
@@ -1,6 +1,7 @@
2010-11-23 Dan Nicolaescu <address@hidden>
* configure.in <AC_CHECK_HEADERS>: Remove sys/ioctl.h.
+ (EXTERNALLY_VISIBLE): New definition.
2010-11-21 Dan Nicolaescu <address@hidden>
=== modified file 'configure.in'
--- a/configure.in 2010-11-23 18:09:55 +0000
+++ b/configure.in 2010-11-23 18:47:23 +0000
@@ -3633,6 +3633,12 @@
#define NO_INLINE
#endif
+#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1))
+#define EXTERNALLY_VISIBLE __attribute__((externally_visible))
+#else
+#define EXTERNALLY_VISIBLE
+#endif
+
/* Some versions of GNU/Linux define noinline in their headers. */
#ifdef noinline
#undef noinline
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2010-11-23 18:09:55 +0000
+++ b/src/ChangeLog 2010-11-23 18:47:23 +0000
@@ -1,5 +1,12 @@
2010-11-23 Dan Nicolaescu <address@hidden>
+ * emacs.c (gdb_use_union, gdb_valbits,gdb_gctypebits)
+ (gdb_data_seg_bits, gdb_array_mark_flag, PVEC_FLAG)
+ (gdb_pvec_type):
+ * print.c (print_output_debug_flag):
+ * lisp.h (debug_print): Mark as EXTERNALLY_VISIBLE.
+ (safe_debug_print): New declaration.
+
* xterm.c:
* systty.h:
* sound.c: Include <sys/ioctl.h> unconditionally.
=== modified file 'src/config.in'
--- a/src/config.in 2010-11-23 18:09:55 +0000
+++ b/src/config.in 2010-11-23 18:47:23 +0000
@@ -1197,6 +1197,12 @@
#define NO_INLINE
#endif
+#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1))
+#define EXTERNALLY_VISIBLE __attribute__((externally_visible))
+#else
+#define EXTERNALLY_VISIBLE
+#endif
+
/* Some versions of GNU/Linux define noinline in their headers. */
#ifdef noinline
#undef noinline
=== modified file 'src/emacs.c'
--- a/src/emacs.c 2010-11-21 05:39:01 +0000
+++ b/src/emacs.c 2010-11-23 18:47:23 +0000
@@ -100,27 +100,27 @@
/* Make these values available in GDB, which doesn't see macros. */
#ifdef USE_LSB_TAG
-int gdb_use_lsb = 1;
+int gdb_use_lsb EXTERNALLY_VISIBLE = 1;
#else
-int gdb_use_lsb = 0;
+int gdb_use_lsb EXTERNALLY_VISIBLE = 0;
#endif
#ifndef USE_LISP_UNION_TYPE
-int gdb_use_union = 0;
+int gdb_use_union EXTERNALLY_VISIBLE = 0;
#else
-int gdb_use_union = 1;
+int gdb_use_union EXTERNALLY_VISIBLE = 1;
#endif
-EMACS_INT gdb_valbits = VALBITS;
-EMACS_INT gdb_gctypebits = GCTYPEBITS;
+EMACS_INT gdb_valbits EXTERNALLY_VISIBLE = VALBITS;
+EMACS_INT gdb_gctypebits EXTERNALLY_VISIBLE = GCTYPEBITS;
#if defined (DATA_SEG_BITS) && ! defined (USE_LSB_TAG)
-EMACS_INT gdb_data_seg_bits = DATA_SEG_BITS;
+EMACS_INT gdb_data_seg_bits EXTERNALLY_VISIBLE = DATA_SEG_BITS;
#else
-EMACS_INT gdb_data_seg_bits = 0;
+EMACS_INT gdb_data_seg_bits EXTERNALLY_VISIBLE = 0;
#endif
-EMACS_INT PVEC_FLAG = PSEUDOVECTOR_FLAG;
-EMACS_INT gdb_array_mark_flag = ARRAY_MARK_FLAG;
+EMACS_INT PVEC_FLAG EXTERNALLY_VISIBLE = PSEUDOVECTOR_FLAG;
+EMACS_INT gdb_array_mark_flag EXTERNALLY_VISIBLE = ARRAY_MARK_FLAG;
/* GDB might say "No enum type named pvec_type" if we don't have at
least one symbol with that type, and then xbacktrace could fail. */
-enum pvec_type gdb_pvec_type = PVEC_TYPE_MASK;
+enum pvec_type gdb_pvec_type EXTERNALLY_VISIBLE = PVEC_TYPE_MASK;
/* Command line args from shell, as list of strings. */
Lisp_Object Vcommand_line_args;
=== modified file 'src/lisp.h'
--- a/src/lisp.h 2010-11-18 21:45:03 +0000
+++ b/src/lisp.h 2010-11-23 18:47:23 +0000
@@ -2832,7 +2832,8 @@
/* Defined in print.c */
extern Lisp_Object Vprin1_to_string_buffer;
extern Lisp_Object Vprint_level, Vprint_length;
-extern void debug_print (Lisp_Object);
+extern void debug_print (Lisp_Object) EXTERNALLY_VISIBLE;
+extern void safe_debug_print (Lisp_Object) EXTERNALLY_VISIBLE;
EXFUN (Fprin1, 2);
EXFUN (Fprin1_to_string, 2);
EXFUN (Fprinc, 2);
=== modified file 'src/print.c'
--- a/src/print.c 2010-10-14 14:32:27 +0000
+++ b/src/print.c 2010-11-23 18:47:23 +0000
@@ -163,7 +163,7 @@
void print_interval (INTERVAL interval, Lisp_Object printcharfun);
/* GDB resets this to zero on W32 to disable OutputDebugString calls. */
-int print_output_debug_flag = 1;
+int print_output_debug_flag EXTERNALLY_VISIBLE = 1;
/* Low level output routines for characters and strings */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r102488: Mark debugger related variables and functions as EXTERNALLY_VISIBLE,
Dan Nicolaescu <=