debian/changelog | 12 debian/patches/100_rethrow_signals.patch | 390 ------------------------------- debian/patches/series | 1 3 files changed, 10 insertions(+), 393 deletions(-)
New commits: commit dcf056997a1efb0601552550613528611d628be4 Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Wed Aug 8 11:52:19 2012 +0200 Release to quantal, synced from quantal-proposed package. diff --git a/debian/changelog b/debian/changelog index bb4f3cc..1be628f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ -xorg-server (2:1.12.99.902-1) UNRELEASED; urgency=low +xorg-server (2:1.12.99.902-0ubuntu1) quantal-proposed; urgency=low + [ Maarten Lankhorst ] * New upstream release snapshot (on the way to 1.13). - Fixes QT5 app segfaults (LP: #1015292) * Bump minimum required abi, randr, dri2 and gl protos. @@ -13,7 +14,14 @@ xorg-server (2:1.12.99.902-1) UNRELEASED; urgency=low - 514-Xi-drop-forced-unpairing-when-changing-the-hierarchy.patch - 515-dix-disable-all-devices-before-shutdown.patch - -- Maarten Lankhorst <maarten.lankho...@canonical.com> Thu, 12 Jul 2012 13:54:50 +0200 + [ Christopher James Halse Rogers ] + * debian/patches/100_rethrow_signals.patch: + - Drop, in favour of getting LightDM to pass -core to the server. This + upstream mechanism is significantly more reliable at dumping core in + my testing. We may later wish to improve this with some processing in + the apport hook. + + -- Christopher James Halse Rogers <r...@ubuntu.com> Wed, 25 Jul 2012 16:54:16 +1000 xorg-server (2:1.12.1.902-1ubuntu1) quantal-proposed; urgency=medium diff --git a/debian/patches/100_rethrow_signals.patch b/debian/patches/100_rethrow_signals.patch deleted file mode 100644 index f273fec..0000000 --- a/debian/patches/100_rethrow_signals.patch +++ /dev/null @@ -1,390 +0,0 @@ ---- a/hw/dmx/dmxinit.c -+++ b/hw/dmx/dmxinit.c -@@ -864,7 +864,7 @@ - * We must ensure that backend and console state is restored in the - * event the server shutdown wasn't clean. */ - void --AbortDDX(enum ExitCode error) -+SigAbortDDX(int signo, enum ExitCode error) - { - int i; - -@@ -884,6 +884,12 @@ - } - #endif - -+void -+AbortDDX(enum ExitCode error) -+{ -+ SigAbortDDX(0, error); -+} -+ - /** This function is called in Xserver/dix/main.c from \a main() when - * dispatchException & DE_TERMINATE (which is the only way to exit the - * main loop without an interruption. */ ---- a/hw/kdrive/src/kdrive.c -+++ b/hw/kdrive/src/kdrive.c -@@ -222,7 +222,7 @@ - } - - void --AbortDDX(enum ExitCode error) -+SigAbortDDX(int signo, enum ExitCode error) - { - KdDisableScreens(); - if (kdOsFuncs) { -@@ -237,6 +237,11 @@ - OsAbort(); - } - -+AbortDDX(enum ExitCode error) -+{ -+ SigAbortDDX(0, error); -+} -+ - void - ddxGiveUp(enum ExitCode error) - { ---- a/hw/vfb/InitOutput.c -+++ b/hw/vfb/InitOutput.c -@@ -201,11 +201,17 @@ - } - - void --AbortDDX(enum ExitCode error) -+SigAbortDDX(int signo, enum ExitCode error) - { - ddxGiveUp(error); - } - -+void -+AbortDDX(enum ExitCode error) -+{ -+ SigAbortDDX(0, error); -+} -+ - #ifdef __APPLE__ - void - DarwinHandleGUI(int argc, char *argv[]) ---- a/hw/xfree86/common/xf86Events.c -+++ b/hw/xfree86/common/xf86Events.c -@@ -348,6 +348,8 @@ - int - xf86SigWrapper(int signo) - { -+ static Bool beenhere = FALSE; -+ - if ((signo == SIGILL) && xf86SigIllHandler) { - (*xf86SigIllHandler) (); - return 0; /* continue */ ---- a/hw/xfree86/common/xf86Init.c -+++ b/hw/xfree86/common/xf86Init.c -@@ -1019,14 +1019,17 @@ - } - - /* -- * ddxGiveUp -- -+ * ddxSigGiveUp -- - * Device dependent cleanup. Called by by dix before normal server death. - * For SYSV386 we must switch the terminal back to normal mode. No error- - * checking here, since there should be restored as much as possible. -+ * -+ * If a non-zero signo is passed, re-raise that signal rather than -+ * calling abort(). - */ - - void --ddxGiveUp(enum ExitCode error) -+ddxSigGiveUp(int signo, enum ExitCode error) - { - int i; - -@@ -1053,22 +1056,46 @@ - if (xorgHWOpenConsole) - xf86CloseConsole(); - -+ ErrorF(" ddxSigGiveUp: Closing log\n"); -+ - xf86CloseLog(error); - - /* If an unexpected signal was caught, dump a core for debugging */ -- if (xf86Info.caughtSignal) -- OsAbort(); -+ if (xf86Info.caughtSignal) { -+ if (signo != 0) { -+ raise(signo); -+ } -+ else { -+ OsAbort(); -+ } -+ } - } - - /* -- * AbortDDX -- -+ * ddxGiveUp -- -+ * Device dependent cleanup. Called by by dix before normal server death. -+ * For SYSV386 we must switch the terminal back to normal mode. No error- -+ * checking here, since there should be restored as much as possible. -+ */ -+ -+void -+ddxGiveUp(enum ExitCode error) -+{ -+ ddxSigGiveUp(0, error); -+} -+ -+/* -+ * SigAbortDDX -- - * DDX - specific abort routine. Called by AbortServer(). The attempt is - * made to restore all original setting of the displays. Also all devices - * are closed. -+ * -+ * If a non-zero signo is passed, re-raise that signal rather than calling -+ * abort() - */ - - void --AbortDDX(enum ExitCode error) -+SigAbortDDX(int signo, enum ExitCode error) - { - int i; - -@@ -1101,7 +1128,20 @@ - * 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) - */ -- ddxGiveUp(error); -+ ddxSigGiveUp(signo, error); -+} -+ -+/* -+ * AbortDDX -- -+ * DDX - specific abort routine. The attempt is made to restore -+ * all original setting of the displays. Also all devices are -+ * closed. -+ */ -+ -+void -+AbortDDX(enum ExitCode error) -+{ -+ SigAbortDDX(0, error); - } - - void ---- a/hw/xnest/Init.c -+++ b/hw/xnest/Init.c -@@ -115,12 +115,18 @@ - * DDX - specific abort routine. Called by AbortServer(). - */ - void --AbortDDX(enum ExitCode error) -+SigAbortDDX(int signo, enum ExitCode error) - { - xnestDoFullGeneration = True; - xnestCloseDisplay(); - } - -+void -+AbortDDX(enum ExitCode error) -+{ -+ SigAbortDDX(0, error); -+} -+ - /* Called by GiveUp(). */ - void - ddxGiveUp(enum ExitCode error) ---- a/hw/xquartz/darwin.c -+++ b/hw/xquartz/darwin.c -@@ -855,15 +855,22 @@ - } - - /* -- * AbortDDX -- -+ * [Sig]AbortDDX -- - * DDX - specific abort routine. Called by AbortServer(). The attempt is - * made to restore all original setting of the displays. Also all devices - * are closed. - */ - _X_NORETURN - void --AbortDDX(enum ExitCode error) -+SigAbortDDX(int signo, enum ExitCode error) - { - ErrorF(" AbortDDX\n"); - OsAbort(); - } -+ -+_X_NORETURN -+void -+AbortDDX(enum ExitCode error) -+{ -+ SigAbortDDX(0, error); -+} -\ No newline at end of file ---- a/hw/xwin/InitOutput.c -+++ b/hw/xwin/InitOutput.c -@@ -233,7 +233,7 @@ - - /* See Porting Layer Definition - p. 57 */ - void --AbortDDX(enum ExitCode error) -+SigAbortDDX(int signo, enum ExitCode error) - { - #if CYGDEBUG - winDebug("AbortDDX\n"); -@@ -241,6 +241,12 @@ - ddxGiveUp(error); - } - -+void -+AbortDDX(enum ExitCode error) -+{ -+ SigAbortDDX(0, error); -+} -+ - #ifdef __CYGWIN__ - /* hasmntopt is currently not implemented for cygwin */ - static const char * ---- a/include/os.h -+++ b/include/os.h -@@ -532,8 +532,12 @@ - }; - - extern _X_EXPORT void -+SigAbortDDX(int signo, enum ExitCode error); -+extern _X_EXPORT void - AbortDDX(enum ExitCode error); - extern _X_EXPORT void -+ddxSigGiveUp(int signo, enum ExitCode error); -+extern _X_EXPORT void - ddxGiveUp(enum ExitCode error); - extern _X_EXPORT int - TimeSinceLastInputEvent(void); ---- a/os/log.c -+++ b/os/log.c -@@ -86,6 +86,8 @@ - #include <stdarg.h> - #include <stdlib.h> /* for malloc() */ - -+#include <signal.h> /* for raise() */ -+ - #include "input.h" - #include "site.h" - #include "opaque.h" -@@ -619,9 +621,12 @@ - void - AbortServer(void) - _X_NORETURN; -+void -+SigAbortServer(int signo) -+ _X_NORETURN; - - void --AbortServer(void) -+SigAbortServer(int signo) - { - #ifdef XF86BIGFONT - XF86BigfontCleanup(); -@@ -629,11 +634,23 @@ - CloseWellKnownConnections(); - OsCleanup(TRUE); - CloseDownDevices(); -- AbortDDX(EXIT_ERR_ABORT); -+ SigAbortDDX(signo, EXIT_ERR_ABORT); - fflush(stderr); -- if (CoreDump) -- OsAbort(); -- exit(1); -+ if (CoreDump) { -+ if (signo != 0) -+ raise(signo); -+ else -+ OsAbort(); -+ } -+ else { -+ exit(1); -+ } -+} -+ -+void -+AbortServer() -+{ -+ SigAbortServer(0); - } - - #define AUDIT_PREFIX "AUDIT: %s: %ld: " -@@ -735,6 +752,55 @@ - free(prefix); - } - -+static void -+FatalSignal2(int signo, const char *f, ...) -+{ -+ va_list args; -+ va_list args2; -+ static Bool beenhere = FALSE; -+ -+ if (beenhere) -+ ErrorF("\nFatalSignal re-entered, aborting\n"); -+ else -+ ErrorF("\nCaught signal %d (%s). Server aborting\n", -+ signo, strsignal(signo)); -+ -+ va_start(args, f); -+ -+ /* Make a copy for OsVendorFatalError */ -+ va_copy(args2, args); -+ -+#ifdef __APPLE__ -+ { -+ va_list apple_args; -+ -+ va_copy(apple_args, args); -+ (void)vsnprintf(__crashreporter_info_buff__, -+ sizeof(__crashreporter_info_buff__), f, apple_args); -+ va_end(apple_args); -+ } -+#endif -+ VErrorF(f, args); -+ va_end(args); -+ ErrorF("\n"); -+ if (!beenhere) -+ OsVendorFatalError(f, args2); -+ va_end(args2); -+ if (!beenhere) { -+ beenhere = TRUE; -+ SigAbortServer(signo); -+ } -+ else -+ OsAbort(); -+ /*NOTREACHED*/} -+ -+void -+FatalSignal(int signo) -+{ -+ FatalSignal2(signo, "Caught signal %d (%s). Server aborting\n", -+ signo, strsignal(signo)); -+ /*NOTREACHED*/} -+ - void - FatalError(const char *f, ...) - { ---- a/os/osinit.c -+++ b/os/osinit.c -@@ -138,13 +138,13 @@ - case SIGBUS: - case SIGILL: - case SIGFPE: -+ signal(signo, SIG_DFL); - ErrorFSigSafe("%s at address %p\n", strsignal(signo), sip->si_addr); - } - } - #endif - -- FatalError("Caught signal %d (%s). Server aborting\n", -- signo, strsignal(signo)); -+ FatalSignal(signo); - } - - void diff --git a/debian/patches/series b/debian/patches/series index 847685c..217edd7 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,7 +5,6 @@ #13_debian_add_xkbpath_env_variable.diff # Ubuntu patches -100_rethrow_signals.patch 105_nvidia_fglrx_autodetect.patch 111_armel-drv-fallbacks.patch 122_xext_fix_card32_overflow_in_xauth.patch -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1sz2wj-00086w...@vasks.debian.org