xorg-server: Changes to 'ubuntu'
debian/changelog | 1
debian/patches/135_rethrow_signals.patch | 78 ++++++++++++++++---------------
debian/patches/series | 2
3 files changed, 43 insertions(+), 38 deletions(-)
New commits:
commit 20290e8ed1e12e97403422514c1b66801d30ed5b
Author: Bryce Harrington <bryce@bryceharrington.org>
Date: Thu Dec 3 14:40:09 2009 -0800
Refresh patch 135, which we still need for apport to catch crashes
diff --git a/debian/changelog b/debian/changelog
index 65a2329..9e422bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -58,7 +58,6 @@ xorg-server (2:1.7.2-2ubuntu1) UNRELEASED; urgency=low
- 185_dix_badwindow.patch: Upstream.
- 186_autoconfig_geode.patch: Upstream.
* Patches disabled for now, need a review/refresh or both:
- - 135_rethrow_signals.patch - TODO: Refresh
- 190_cache-xkbcomp_output_for_fast_start_up.patch
* 189_xserver_1.5.0_bg_none_root.patch: Fetched a new version.
* control, local/64-xorg-xkb.rules: Don't depend on keyboard-configuration
diff --git a/debian/patches/135_rethrow_signals.patch b/debian/patches/135_rethrow_signals.patch
index 863abd4..271ff49 100644
--- a/debian/patches/135_rethrow_signals.patch
+++ b/debian/patches/135_rethrow_signals.patch
@@ -1,23 +1,27 @@
-# Return from the signal handler, in order to have the newly raised
-# signal actually get processed. This now rethrows the originally
-# caught signal instead of just aborting, so that apport now actually
-# works. (LP: #226668)
-diff -Nurp patched/hw/xfree86/common/xf86Events.c working/hw/xfree86/common/xf86Events.c
---- patched/hw/xfree86/common/xf86Events.c 2008-12-16 18:28:54.000000000 -0800
-+++ working/hw/xfree86/common/xf86Events.c 2008-12-16 18:36:41.000000000 -0800
-@@ -362,6 +362,8 @@ xf86InterceptSigIll(void (*sigillhandler
- void
- xf86SigHandler(int signo)
+When the X server aborts with a signal, also re-raise that signal. This
+allows crash handlers like apport a chance to listen for and act on the
+signal appropriately. Apport uses this to capture a backtrace and post
+a bug report.
+
+Signed-off-by: Bryce Harrington <bryce@canonical.com>
+
+diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c
+index 8cd765a..d2fb1a4 100644
+--- a/hw/xfree86/common/xf86Events.c
++++ b/hw/xfree86/common/xf86Events.c
+@@ -355,6 +355,8 @@ xf86InterceptSigIll(void (*sigillhandler)(void))
+ int
+ xf86SigWrapper(int signo)
{
+ static Bool beenhere = FALSE;
+
if ((signo == SIGILL) && xf86SigIllHandler) {
(*xf86SigIllHandler)();
- /* Re-arm handler just in case we unexpectedly return here */
-@@ -384,6 +386,41 @@ xf86SigHandler(int signo)
-
- xorg_backtrace();
-
+ return 0; /* continue */
+@@ -377,6 +379,41 @@ void
+ xf86PrintBacktrace(void)
+ {
+ xorg_backtrace();
+ switch (signo) {
+ case SIGSEGV:
+ case SIGBUS:
@@ -53,13 +57,14 @@ diff -Nurp patched/hw/xfree86/common/xf86Events.c working/hw/xfree86/common/xf86
+ return;
+ }
+
- FatalError("Caught signal %d. Server aborting\n", signo);
}
-diff -Nurp patched/hw/xfree86/common/xf86Init.c working/hw/xfree86/common/xf86Init.c
---- patched/hw/xfree86/common/xf86Init.c 2008-12-16 18:16:50.000000000 -0800
-+++ working/hw/xfree86/common/xf86Init.c 2008-12-16 18:34:38.000000000 -0800
-@@ -1375,14 +1375,17 @@ OsVendorInit()
+ #define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7)))
+diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
+index d3de670..dc3eff5 100644
+--- a/hw/xfree86/common/xf86Init.c
++++ b/hw/xfree86/common/xf86Init.c
+@@ -1174,14 +1174,17 @@ OsVendorInit(void)
}
/*
@@ -74,12 +79,12 @@ diff -Nurp patched/hw/xfree86/common/xf86Init.c working/hw/xfree86/common/xf86In
*/
void
--ddxGiveUp()
+-ddxGiveUp(void)
+ddxSigGiveUp(int signo)
{
int i;
-@@ -1410,24 +1413,47 @@ ddxGiveUp()
+@@ -1207,24 +1210,47 @@ ddxGiveUp(void)
xf86CloseConsole();
@@ -126,12 +131,12 @@ diff -Nurp patched/hw/xfree86/common/xf86Init.c working/hw/xfree86/common/xf86In
*/
void
--AbortDDX()
+-AbortDDX(void)
+SigAbortDDX(int signo)
{
int i;
-@@ -1459,7 +1485,20 @@ AbortDDX()
+@@ -1255,7 +1281,20 @@ AbortDDX(void)
* This is needed for an abnormal server exit, since the normal exit stuff
* MUST also be performed (i.e. the vt must be left in a defined state)
*/
@@ -153,16 +158,17 @@ diff -Nurp patched/hw/xfree86/common/xf86Init.c working/hw/xfree86/common/xf86In
}
void
-diff -Nurp patched/include/os.h working/include/os.h
---- patched/include/os.h 2008-12-16 18:28:54.000000000 -0800
-+++ working/include/os.h 2008-12-16 18:17:00.000000000 -0800
-@@ -437,7 +437,9 @@ typedef struct {
- extern CallbackListPtr FlushCallback;
-
- extern void AbortDDX(void);
-+extern void SigAbortDDX(int signo);
- extern void ddxGiveUp(void);
-+extern void ddxSigGiveUp(int signo);
- extern int TimeSinceLastInputEvent(void);
+diff --git a/include/os.h b/include/os.h
+index 2f6b0c0..d58be5e 100644
+--- a/include/os.h
++++ b/include/os.h
+@@ -434,7 +434,9 @@ typedef struct {
+ /* stuff for FlushCallback */
+ extern _X_EXPORT CallbackListPtr FlushCallback;
+
++extern _X_EXPORT void SigAbortDDX(int signo);
+ extern _X_EXPORT void AbortDDX(void);
++extern _X_EXPORT void ddxSigGiveUp(int signo);
+ extern _X_EXPORT void ddxGiveUp(void);
+ extern _X_EXPORT int TimeSinceLastInputEvent(void);
- /* strcasecmp.c */
diff --git a/debian/patches/series b/debian/patches/series
index cf89cad..cf6c761 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,7 +11,7 @@
#104_nvidia_autodetect.patch
#105_fglrx_autodetect.patch
121_only_switch_vt_when_active.diff
-#135_rethrow_signals.patch
+135_rethrow_signals.patch
#143_default_to_vesa.patch
#156_exevents_copykeyclass_nullptrcheck.patch
157_check_null_modes.patch
Reply to: