From 2353c998afdb77de42d34ecb3c1138746ec538accf1706c547d86454273c5ced Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Fri, 9 Aug 2013 15:49:52 +0000 Subject: [PATCH] Accepting request 186606 from home:eeich:branches:X11:XOrg - Delete N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch: This patch is no longer appicable. The code has been reworked completely thus the problem fixed with this most likely no longer exists. - Delete N_Use-external-tool-for-creating-backtraces-on-crashes.patch: This feature has multiple issues, there is no reason to keep the patch around. OBS-URL: https://build.opensuse.org/request/show/186606 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=455 --- ...ssing-configlayout-when-deleting-dev.patch | 42 ------ ...l-for-creating-backtraces-on-crashes.patch | 123 ------------------ xorg-x11-server.changes | 10 ++ xorg-x11-server.spec | 8 -- 4 files changed, 10 insertions(+), 173 deletions(-) delete mode 100644 N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch delete mode 100644 N_Use-external-tool-for-creating-backtraces-on-crashes.patch diff --git a/N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch b/N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch deleted file mode 100644 index a6c1be1..0000000 --- a/N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch +++ /dev/null @@ -1,42 +0,0 @@ ->From 829037395f8b93e69a30852a95e378f78c3ccd6b Mon Sep 17 00:00:00 2001 -From: Luc Verhaegen -Date: Wed, 12 Nov 2008 17:09:33 +0100 -Subject: [PATCH] Xinput: Catch missing configlayout when deleting device. - -In DeleteInputDeviceRequest (xf86Xinput.c), we access idev members -even if idev is null. This takes down the xserver hard in some cases -(kernel SIGABRT), and segfaults on other cases. -================================================================================ ---- xorg-server-1.7.99/hw/xfree86/common/xf86Xinput.c -+++ xorg-server-1.7.99/hw/xfree86/common/xf86Xinput.c -@@ -870,17 +870,20 @@ - else - xf86DeleteInput(pInfo, 0); - -- /* devices added through HAL aren't in the config layout */ -- it = xf86ConfigLayout.inputs; -- while(*it && *it != idev) -- it++; -- -- if (!(*it)) /* end of list, not in the layout */ -+ if (idev) - { -- free(idev->driver); -- free(idev->identifier); -- xf86optionListFree(idev->commonOptions); -- free(idev); -+ /* devices added through HAL aren't in the config layout */ -+ it = xf86ConfigLayout.inputs; -+ while(*it && *it != idev) -+ it++; -+ -+ if (!(*it)) /* end of list, not in the layout */ -+ { -+ free(idev->driver); -+ free(idev->identifier); -+ xf86optionListFree(idev->commonOptions); -+ free(idev); -+ } - } - } - OsReleaseSignals(); diff --git a/N_Use-external-tool-for-creating-backtraces-on-crashes.patch b/N_Use-external-tool-for-creating-backtraces-on-crashes.patch deleted file mode 100644 index 5ca0922..0000000 --- a/N_Use-external-tool-for-creating-backtraces-on-crashes.patch +++ /dev/null @@ -1,123 +0,0 @@ -From bb4e768eaf8025d3ccf369cbad9a9b8be721e7ac Mon Sep 17 00:00:00 2001 -From: Matthias Hopf -Date: Wed, 25 Aug 2010 14:12:48 +0200 -Subject: [PATCH] Use external tool for creating backtraces on crashes if available. - -This calls /usr/bin/xorg-backtrace to create reasonable commented backtraces -with gdb. On errors it falls back to the generic method. - -Signed-off-by: Matthias Hopf ---- - os/backtrace.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 files changed, 82 insertions(+), 0 deletions(-) - -diff --git a/os/backtrace.c b/os/backtrace.c -index 7ca6dab..1e3201a 100644 ---- a/os/backtrace.c -+++ b/os/backtrace.c -@@ -28,6 +28,81 @@ - #include "os.h" - #include "misc.h" - -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#define XORG_BACKTRACE "/usr/bin/xorg-backtrace" -+ -+/* Call gdb to create reasonable(!) backtrace. Returns 0 if successfull. */ -+static int xorg_backtrace_gdb(void) -+{ -+ static const char *xorg_backtrace = XORG_BACKTRACE; -+ char pidstr[12]; -+ char fdname[] = "/tmp/xorg.XXXXXX"; -+ char buf[256]; -+ pid_t pid; -+ int fd, status = -1, ret; -+ FILE *f; -+ -+ if (access (xorg_backtrace, R_OK | X_OK) != 0) { -+ ErrorF ("%s not found, using internal backtrace system\n", xorg_backtrace); -+ return 1; -+ } -+ if ( (fd = mkstemp (fdname)) == -1) { -+ ErrorF ("xorg_backtrace_gdb internal error 1\n"); -+ return 1; -+ } -+ unlink (fdname); -+ snprintf (pidstr, 12, "%d", getpid()); -+ -+ switch ( (pid = fork()) ) { -+ case 0: -+ close (0); -+ close (1); -+ close (2); -+ dup2 (fd, 1); -+ dup2 (fd, 2); -+ close (fd); -+ execl (xorg_backtrace, xorg_backtrace, pidstr, NULL); -+ exit (-1); -+ case -1: -+ close (fd); -+ return 1; -+ } -+ -+ while (waitpid (pid, &status, 0) == -1 && errno == EINTR) -+ ; -+ if (WIFEXITED (status) && WEXITSTATUS (status) == 0) -+ ret = 0; -+ else { -+ ErrorF ("%s failed with returncode %d\n", xorg_backtrace, WEXITSTATUS (status)); -+ ret = 1; -+ } -+ -+ lseek (fd, 0, SEEK_SET); -+ if (! (f = fdopen (fd, "r"))) { -+ ErrorF ("xorg_backtrace_gdb internal error 2\n"); -+ close (fd); -+ return 1; -+ } -+ status = 0; -+ while (fgets (buf, 256, f)) { -+ status++; -+ ErrorF("%s", buf); -+ } -+ fclose (f); -+ if (status < 10 && ret == 0) { -+ ErrorF ("%s only produced %d lines of output\n", xorg_backtrace, status); -+ return 1; -+ } -+ -+ return ret; -+} -+ - #ifdef HAVE_BACKTRACE - #ifndef _GNU_SOURCE - #define _GNU_SOURCE -@@ -41,6 +116,10 @@ void xorg_backtrace(void) - const char *mod; - int size, i; - Dl_info info; -+ -+ if (xorg_backtrace_gdb () == 0) -+ return; -+ - ErrorF("\nBacktrace:\n"); - size = backtrace(array, 64); - for (i = 0; i < size; i++) { -@@ -182,6 +261,9 @@ static int xorg_backtrace_pstack(void) { - - void xorg_backtrace(void) { - -+ if (xorg_backtrace_gdb () == 0) -+ return; -+ - ErrorF("\nBacktrace:\n"); - - # ifdef HAVE_PSTACK --- -1.6.0.2 - diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 827bad2..0dc2622 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Fri Aug 9 15:08:34 UTC 2013 - eich@suse.com + +- Delete N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch: + This patch is no longer appicable. The code has been reworked completely + thus the problem fixed with this most likely no longer exists. +- Delete N_Use-external-tool-for-creating-backtraces-on-crashes.patch: + This feature has multiple issues, there is no reason to keep the patch + around. + ------------------------------------------------------------------- Fri Aug 9 13:25:41 UTC 2013 - tobias.johannes.klausmann@mni.thm.de diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 326e259..17fbfdf 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -129,8 +129,6 @@ Patch106: N_randr1_1-sig11.diff # PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch112: N_fix-dpi-values.diff # PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch125: N_0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch127: N_dpms_screensaver.diff # PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch143: n_autoconf-On-Linux-give-fbdev-driver-a-higher-precedence-than-vesa.patch @@ -151,8 +149,6 @@ Patch211: N_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patc # PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch213: N_xorg-server-xdmcp.patch # PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines -Patch220: N_Use-external-tool-for-creating-backtraces-on-crashes.patch -# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch222: N_sync-fix.patch Patch226: u_vgaHW-no-legacy.patch @@ -227,8 +223,6 @@ cp %{SOURCE96} . %patch103 %patch106 -p1 %patch112 -p0 -### disabled for now -#%patch125 -p1 %patch127 -p1 %patch143 -p1 %patch145 -p0 @@ -241,8 +235,6 @@ cp %{SOURCE96} . ### disabled for now #%patch211 -p1 %patch213 -p1 -### Disable backtrace generation patch for now -#%patch220 -p1 ### patch222 might not be applicable anymore #%patch222 -p1 %patch226 -p0