gnu: Remove unused patches.
* gnu/packages/patches/gcc-libiberty-printf-decl.patch, gnu/packages/patches/grub-CVE-2015-8370.patch, gnu/packages/patches/grub-freetype.patch, gnu/packages/patches/grub-gets-undeclared.patch, gnu/packages/patches/guile-arm-fixes.patch, gnu/packages/patches/mplayer2-theora-fix.patch, gnu/packages/patches/soprano-find-clucene.patch, gnu/packages/patches/util-linux-CVE-2017-2616.patch, gnu/packages/patches/xf86-video-intel-compat-api.patch, gnu/packages/patches/xf86-video-intel-glibc-2.20.patch: Delete files. * gnu/local.mk (dist_patch_DATA): Remove them.
This commit is contained in:
parent
904c6c42eb
commit
04b9067991
10
gnu/local.mk
10
gnu/local.mk
|
@ -578,7 +578,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/gcc-arm-bug-71399.patch \
|
%D%/packages/patches/gcc-arm-bug-71399.patch \
|
||||||
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
|
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
|
||||||
%D%/packages/patches/gcc-cross-environment-variables.patch \
|
%D%/packages/patches/gcc-cross-environment-variables.patch \
|
||||||
%D%/packages/patches/gcc-libiberty-printf-decl.patch \
|
|
||||||
%D%/packages/patches/gcc-libvtv-runpath.patch \
|
%D%/packages/patches/gcc-libvtv-runpath.patch \
|
||||||
%D%/packages/patches/gcc-strmov-store-file-names.patch \
|
%D%/packages/patches/gcc-strmov-store-file-names.patch \
|
||||||
%D%/packages/patches/gcc-4.9.3-mingw-gthr-default.patch \
|
%D%/packages/patches/gcc-4.9.3-mingw-gthr-default.patch \
|
||||||
|
@ -624,12 +623,8 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch \
|
%D%/packages/patches/graphite2-fix-32-bit-wrap-arounds.patch \
|
||||||
%D%/packages/patches/graphite2-non-linear-classes-even-number.patch \
|
%D%/packages/patches/graphite2-non-linear-classes-even-number.patch \
|
||||||
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
||||||
%D%/packages/patches/grub-CVE-2015-8370.patch \
|
|
||||||
%D%/packages/patches/grub-gets-undeclared.patch \
|
|
||||||
%D%/packages/patches/grub-freetype.patch \
|
|
||||||
%D%/packages/patches/gsl-test-i686.patch \
|
%D%/packages/patches/gsl-test-i686.patch \
|
||||||
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||||
%D%/packages/patches/guile-arm-fixes.patch \
|
|
||||||
%D%/packages/patches/guile-default-utf8.patch \
|
%D%/packages/patches/guile-default-utf8.patch \
|
||||||
%D%/packages/patches/guile-linux-syscalls.patch \
|
%D%/packages/patches/guile-linux-syscalls.patch \
|
||||||
%D%/packages/patches/guile-present-coding.patch \
|
%D%/packages/patches/guile-present-coding.patch \
|
||||||
|
@ -784,7 +779,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
%D%/packages/patches/mhash-keygen-test-segfault.patch \
|
||||||
%D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \
|
%D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \
|
||||||
%D%/packages/patches/mpc123-initialize-ao.patch \
|
%D%/packages/patches/mpc123-initialize-ao.patch \
|
||||||
%D%/packages/patches/mplayer2-theora-fix.patch \
|
|
||||||
%D%/packages/patches/module-init-tools-moduledir.patch \
|
%D%/packages/patches/module-init-tools-moduledir.patch \
|
||||||
%D%/packages/patches/mozjs17-aarch64-support.patch \
|
%D%/packages/patches/mozjs17-aarch64-support.patch \
|
||||||
%D%/packages/patches/mozjs24-aarch64-support.patch \
|
%D%/packages/patches/mozjs24-aarch64-support.patch \
|
||||||
|
@ -932,7 +926,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/slim-reset.patch \
|
%D%/packages/patches/slim-reset.patch \
|
||||||
%D%/packages/patches/slim-login.patch \
|
%D%/packages/patches/slim-login.patch \
|
||||||
%D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
|
%D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
|
||||||
%D%/packages/patches/soprano-find-clucene.patch \
|
|
||||||
%D%/packages/patches/spice-CVE-2016-9577.patch \
|
%D%/packages/patches/spice-CVE-2016-9577.patch \
|
||||||
%D%/packages/patches/spice-CVE-2016-9578-1.patch \
|
%D%/packages/patches/spice-CVE-2016-9578-1.patch \
|
||||||
%D%/packages/patches/spice-CVE-2016-9578-2.patch \
|
%D%/packages/patches/spice-CVE-2016-9578-2.patch \
|
||||||
|
@ -981,7 +974,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/unzip-remove-build-date.patch \
|
%D%/packages/patches/unzip-remove-build-date.patch \
|
||||||
%D%/packages/patches/ustr-fix-build-with-gcc-5.patch \
|
%D%/packages/patches/ustr-fix-build-with-gcc-5.patch \
|
||||||
%D%/packages/patches/util-linux-tests.patch \
|
%D%/packages/patches/util-linux-tests.patch \
|
||||||
%D%/packages/patches/util-linux-CVE-2017-2616.patch \
|
|
||||||
%D%/packages/patches/upower-builddir.patch \
|
%D%/packages/patches/upower-builddir.patch \
|
||||||
%D%/packages/patches/valgrind-enable-arm.patch \
|
%D%/packages/patches/valgrind-enable-arm.patch \
|
||||||
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
|
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
|
||||||
|
@ -1012,8 +1004,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/xf86-video-ast-remove-mibstore.patch \
|
%D%/packages/patches/xf86-video-ast-remove-mibstore.patch \
|
||||||
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
|
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
|
||||||
%D%/packages/patches/xf86-video-i128-remove-mibstore.patch \
|
%D%/packages/patches/xf86-video-i128-remove-mibstore.patch \
|
||||||
%D%/packages/patches/xf86-video-intel-compat-api.patch \
|
|
||||||
%D%/packages/patches/xf86-video-intel-glibc-2.20.patch \
|
|
||||||
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
|
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
|
||||||
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
|
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
|
||||||
%D%/packages/patches/xfce4-panel-plugins.patch \
|
%D%/packages/patches/xfce4-panel-plugins.patch \
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
This patch makes the exeception specifier of libiberty's 'asprintf'
|
|
||||||
and 'vasprintf' declarations match those of glibc to work around the
|
|
||||||
problem described at <https://gcc.gnu.org/ml/gcc-help/2016-04/msg00039.html>.
|
|
||||||
|
|
||||||
The problem in part stems from the fact that libiberty is configured
|
|
||||||
without _GNU_SOURCE (thus, it sets HAVE_DECL_ASPRINTF to 0), whereas libcc1
|
|
||||||
is configured and built with _GNU_SOURCE, hence the conflicting declarations.
|
|
||||||
|
|
||||||
--- gcc-5.3.0/include/libiberty.h 2016-04-23 22:45:46.262709079 +0200
|
|
||||||
+++ gcc-5.3.0/include/libiberty.h 2016-04-23 22:45:37.110635439 +0200
|
|
||||||
@@ -625,7 +625,7 @@ extern int pwait (int, int *, int);
|
|
||||||
/* Like sprintf but provides a pointer to malloc'd storage, which must
|
|
||||||
be freed by the caller. */
|
|
||||||
|
|
||||||
-extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
|
|
||||||
+extern int asprintf (char **, const char *, ...) __THROWNL ATTRIBUTE_PRINTF_2;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Like asprintf but allocates memory without fail. This works like
|
|
||||||
@@ -637,7 +637,7 @@ extern char *xasprintf (const char *, ..
|
|
||||||
/* Like vsprintf but provides a pointer to malloc'd storage, which
|
|
||||||
must be freed by the caller. */
|
|
||||||
|
|
||||||
-extern int vasprintf (char **, const char *, va_list) ATTRIBUTE_PRINTF(2,0);
|
|
||||||
+extern int vasprintf (char **, const char *, va_list) __THROWNL ATTRIBUTE_PRINTF(2,0);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Like vasprintf but allocates memory without fail. This works like
|
|
|
@ -1,45 +0,0 @@
|
||||||
From 88c9657960a6c5d3673a25c266781e876c181add Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hector Marco-Gisbert <hecmargi@upv.es>
|
|
||||||
Date: Fri, 13 Nov 2015 16:21:09 +0100
|
|
||||||
Subject: [PATCH] Fix security issue when reading username and password
|
|
||||||
|
|
||||||
This patch fixes two integer underflows at:
|
|
||||||
* grub-core/lib/crypto.c
|
|
||||||
* grub-core/normal/auth.c
|
|
||||||
|
|
||||||
Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
|
|
||||||
Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
|
|
||||||
---
|
|
||||||
grub-core/lib/crypto.c | 2 +-
|
|
||||||
grub-core/normal/auth.c | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
|
|
||||||
index 010e550..524a3d8 100644
|
|
||||||
--- a/grub-core/lib/crypto.c
|
|
||||||
+++ b/grub-core/lib/crypto.c
|
|
||||||
@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned buf_size)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (key == '\b')
|
|
||||||
+ if (key == '\b' && cur_len)
|
|
||||||
{
|
|
||||||
cur_len--;
|
|
||||||
continue;
|
|
||||||
diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
|
|
||||||
index c6bd96e..5782ec5 100644
|
|
||||||
--- a/grub-core/normal/auth.c
|
|
||||||
+++ b/grub-core/normal/auth.c
|
|
||||||
@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned buf_size)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (key == '\b')
|
|
||||||
+ if (key == '\b' && cur_len)
|
|
||||||
{
|
|
||||||
cur_len--;
|
|
||||||
grub_printf ("\b");
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
commit fd0df6d098b1e6a4f60275c48a3ec88d15ba1fbb
|
|
||||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
|
||||||
Date: Fri Nov 29 12:19:36 2013 +0000
|
|
||||||
|
|
||||||
Fix build with FreeType 2.5.1
|
|
||||||
|
|
||||||
* util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
|
|
||||||
<freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
|
|
||||||
* util/grub-gen-widthspec.c: Likewise.
|
|
||||||
* util/grub-mkfont.c: Likewise.
|
|
||||||
|
|
||||||
diff --git a/util/grub-mkfont.c b/util/grub-mkfont.c
|
|
||||||
index 0d8eb78..242dd01 100644
|
|
||||||
--- a/util/grub-mkfont.c
|
|
||||||
+++ b/util/grub-mkfont.c
|
|
||||||
@@ -43,7 +43,7 @@
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_TRUETYPE_TAGS_H
|
|
||||||
#include FT_TRUETYPE_TABLES_H
|
|
||||||
-#include <freetype/ftsynth.h>
|
|
||||||
+#include FT_SYNTHESIS_H
|
|
||||||
|
|
||||||
#undef __FTERRORS_H__
|
|
||||||
#define FT_ERROR_START_LIST const char *ft_errmsgs[] = {
|
|
|
@ -1,42 +0,0 @@
|
||||||
This patch is needed to allow builds with newer versions of
|
|
||||||
the GNU libc (2.16+).
|
|
||||||
|
|
||||||
|
|
||||||
commit 66712c23388e93e5c518ebc8515140fa0c807348
|
|
||||||
Author: Eric Blake <eblake@redhat.com>
|
|
||||||
Date: Thu Mar 29 13:30:41 2012 -0600
|
|
||||||
|
|
||||||
stdio: don't assume gets any more
|
|
||||||
|
|
||||||
Gnulib intentionally does not have a gets module, and now that C11
|
|
||||||
and glibc have dropped it, we should be more proactive about warning
|
|
||||||
any user on a platform that still has a declaration of this dangerous
|
|
||||||
interface.
|
|
||||||
|
|
||||||
* m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
|
|
||||||
support.
|
|
||||||
* modules/stdio (Makefile.am): Likewise.
|
|
||||||
* lib/stdio-read.c (gets): Likewise.
|
|
||||||
* tests/test-stdio-c++.cc: Likewise.
|
|
||||||
* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
|
|
||||||
* lib/stdio.in.h (gets): Make warning occur in more places.
|
|
||||||
* doc/posix-functions/gets.texi (gets): Update documentation.
|
|
||||||
Reported by Christer Solskogen.
|
|
||||||
|
|
||||||
Signed-off-by: Eric Blake <eblake@redhat.com>
|
|
||||||
|
|
||||||
--- grub-2.00/grub-core/gnulib/stdio.in.h 2013-02-10 16:17:09.000000000 +0100
|
|
||||||
+++ grub-2.00/grub-core/gnulib/stdio.in.h 2013-02-10 16:17:11.000000000 +0100
|
|
||||||
@@ -137,12 +137,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
|
|
||||||
"use gnulib module fflush for portable POSIX compliance");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-/* It is very rare that the developer ever has full control of stdin,
|
|
||||||
- so any use of gets warrants an unconditional warning. Assume it is
|
|
||||||
- always declared, since it is required by C89. */
|
|
||||||
-#undef gets
|
|
||||||
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
|
||||||
-
|
|
||||||
#if @GNULIB_FOPEN@
|
|
||||||
# if @REPLACE_FOPEN@
|
|
||||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
|
|
@ -1,203 +0,0 @@
|
||||||
Apply fixes for ARM to Guile.
|
|
||||||
|
|
||||||
From df8c52e93dfa3965e4714275f4b8cea2c8e0170b Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
|
|
||||||
Date: Fri, 4 Jul 2014 15:35:06 +0200
|
|
||||||
Subject: [PATCH] Recognize arm-* target triplets.
|
|
||||||
|
|
||||||
Reported by Sylvain Beucler <beuc@beuc.net>.
|
|
||||||
|
|
||||||
* module/system/base/target.scm (cpu-endianness): Add case where CPU is
|
|
||||||
"arm".
|
|
||||||
* test-suite/tests/asm-to-bytecode.test ("cross-compilation")["arm-unknown-linux-androideabi"]:
|
|
||||||
New test.
|
|
||||||
---
|
|
||||||
module/system/base/target.scm | 4 +++-
|
|
||||||
test-suite/tests/asm-to-bytecode.test | 5 ++++-
|
|
||||||
2 files changed, 7 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/module/system/base/target.scm b/module/system/base/target.scm
|
|
||||||
index c74ae67..cefa951 100644
|
|
||||||
--- a/module/system/base/target.scm
|
|
||||||
+++ b/module/system/base/target.scm
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
;;; Compilation targets
|
|
||||||
|
|
||||||
-;; Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
|
|
||||||
+;; Copyright (C) 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
;; This library is free software; you can redistribute it and/or
|
|
||||||
;; modify it under the terms of the GNU Lesser General Public
|
|
||||||
@@ -72,6 +72,8 @@
|
|
||||||
(endianness big))
|
|
||||||
((string-match "^arm.*el" cpu)
|
|
||||||
(endianness little))
|
|
||||||
+ ((string=? "arm" cpu) ;ARMs are LE by default
|
|
||||||
+ (endianness little))
|
|
||||||
(else
|
|
||||||
(error "unknown CPU endianness" cpu)))))
|
|
||||||
|
|
||||||
diff --git a/test-suite/tests/asm-to-bytecode.test b/test-suite/tests/asm-to-bytecode.test
|
|
||||||
index 6d2f20e..62ea0ed 100644
|
|
||||||
--- a/test-suite/tests/asm-to-bytecode.test
|
|
||||||
+++ b/test-suite/tests/asm-to-bytecode.test
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
;;;; Assembly to bytecode compilation -*- mode: scheme; coding: utf-8; -*-
|
|
||||||
;;;;
|
|
||||||
-;;;; Copyright (C) 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
|
|
||||||
+;;;; Copyright (C) 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
|
|
||||||
;;;;
|
|
||||||
;;;; This library is free software; you can redistribute it and/or
|
|
||||||
;;;; modify it under the terms of the GNU Lesser General Public
|
|
||||||
@@ -205,6 +205,9 @@
|
|
||||||
(test-target "x86_64-unknown-linux-gnux32" ; x32 ABI (Debian tuplet)
|
|
||||||
(endianness little) 4)
|
|
||||||
|
|
||||||
+ (test-target "arm-unknown-linux-androideabi"
|
|
||||||
+ (endianness little) 4)
|
|
||||||
+
|
|
||||||
(pass-if-exception "unknown target"
|
|
||||||
exception:miscellaneous-error
|
|
||||||
(call-with-values (lambda ()
|
|
||||||
--
|
|
||||||
2.1.2
|
|
||||||
|
|
||||||
From ffd3e55cfd12a3559621e3130d613d319243512d Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
|
|
||||||
Date: Fri, 4 Jul 2014 17:26:41 +0200
|
|
||||||
Subject: [PATCH] Recognize more ARM targets.
|
|
||||||
|
|
||||||
Suggested by Dale P. Smith.
|
|
||||||
|
|
||||||
* module/system/base/target.scm (cpu-endianness): Add cases for
|
|
||||||
"arm.*eb", "^aarch64.*be", and "aarch64". Change "arm" case to
|
|
||||||
"arm.*".
|
|
||||||
(triplet-pointer-size): Allow underscore as in 'aarch64_be'.
|
|
||||||
* test-suite/tests/asm-to-bytecode.test ("cross-compilation")["armeb-unknown-linux-gnu",
|
|
||||||
"aarch64-linux-gnu", "aarch64_be-linux-gnu"]: New tests.
|
|
||||||
---
|
|
||||||
module/system/base/target.scm | 10 ++++++++--
|
|
||||||
test-suite/tests/asm-to-bytecode.test | 6 ++++++
|
|
||||||
2 files changed, 14 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/module/system/base/target.scm b/module/system/base/target.scm
|
|
||||||
index cefa951..31e3fea 100644
|
|
||||||
--- a/module/system/base/target.scm
|
|
||||||
+++ b/module/system/base/target.scm
|
|
||||||
@@ -72,7 +72,13 @@
|
|
||||||
(endianness big))
|
|
||||||
((string-match "^arm.*el" cpu)
|
|
||||||
(endianness little))
|
|
||||||
- ((string=? "arm" cpu) ;ARMs are LE by default
|
|
||||||
+ ((string-match "^arm.*eb" cpu)
|
|
||||||
+ (endianness big))
|
|
||||||
+ ((string-prefix? "arm" cpu) ;ARMs are LE by default
|
|
||||||
+ (endianness little))
|
|
||||||
+ ((string-match "^aarch64.*be" cpu)
|
|
||||||
+ (endianness big))
|
|
||||||
+ ((string=? "aarch64" cpu)
|
|
||||||
(endianness little))
|
|
||||||
(else
|
|
||||||
(error "unknown CPU endianness" cpu)))))
|
|
||||||
@@ -97,7 +103,7 @@
|
|
||||||
((string-match "^x86_64-.*-gnux32" triplet) 4) ; x32
|
|
||||||
|
|
||||||
((string-match "64$" cpu) 8)
|
|
||||||
- ((string-match "64[lbe][lbe]$" cpu) 8)
|
|
||||||
+ ((string-match "64_?[lbe][lbe]$" cpu) 8)
|
|
||||||
((member cpu '("sparc" "powerpc" "mips" "mipsel")) 4)
|
|
||||||
((string-match "^arm.*" cpu) 4)
|
|
||||||
(else (error "unknown CPU word size" cpu)))))
|
|
||||||
diff --git a/test-suite/tests/asm-to-bytecode.test b/test-suite/tests/asm-to-bytecode.test
|
|
||||||
index 62ea0ed..8aeba84 100644
|
|
||||||
--- a/test-suite/tests/asm-to-bytecode.test
|
|
||||||
+++ b/test-suite/tests/asm-to-bytecode.test
|
|
||||||
@@ -207,6 +207,12 @@
|
|
||||||
|
|
||||||
(test-target "arm-unknown-linux-androideabi"
|
|
||||||
(endianness little) 4)
|
|
||||||
+ (test-target "armeb-unknown-linux-gnu"
|
|
||||||
+ (endianness big) 4)
|
|
||||||
+ (test-target "aarch64-linux-gnu"
|
|
||||||
+ (endianness little) 8)
|
|
||||||
+ (test-target "aarch64_be-linux-gnu"
|
|
||||||
+ (endianness big) 8)
|
|
||||||
|
|
||||||
(pass-if-exception "unknown target"
|
|
||||||
exception:miscellaneous-error
|
|
||||||
--
|
|
||||||
2.1.2
|
|
||||||
|
|
||||||
From a85c78ea1393985fdb6e6678dea19135c553d341 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark H Weaver <mhw@netris.org>
|
|
||||||
Date: Fri, 19 Sep 2014 21:18:09 -0400
|
|
||||||
Subject: [PATCH] VM: ASM_MUL for ARM: Add earlyclobber constraint to the SMULL
|
|
||||||
outputs.
|
|
||||||
|
|
||||||
Reported by Rob Browning <rlb@defaultvalue.org>.
|
|
||||||
|
|
||||||
* libguile/vm-i-scheme.c (ASM_MUL)[ARM]: Add earlyclobber (&) constraint
|
|
||||||
to the SMULL output registers.
|
|
||||||
---
|
|
||||||
libguile/vm-i-scheme.c | 5 ++---
|
|
||||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
|
|
||||||
index 587aa95..162efab 100644
|
|
||||||
--- a/libguile/vm-i-scheme.c
|
|
||||||
+++ b/libguile/vm-i-scheme.c
|
|
||||||
@@ -1,5 +1,4 @@
|
|
||||||
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013,
|
|
||||||
- * 2014 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 2001, 2009-2014 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -363,7 +362,7 @@ VM_DEFINE_FUNCTION (149, ge, "ge?", 2)
|
|
||||||
{ \
|
|
||||||
scm_t_signed_bits rlo, rhi; \
|
|
||||||
asm ("smull %0, %1, %2, %3\n" \
|
|
||||||
- : "=r" (rlo), "=r" (rhi) \
|
|
||||||
+ : "=&r" (rlo), "=&r" (rhi) \
|
|
||||||
: "r" (SCM_UNPACK (x) - scm_tc2_int), \
|
|
||||||
"r" (SCM_I_INUM (y))); \
|
|
||||||
if (SCM_LIKELY (SCM_SRS (rlo, 31) == rhi)) \
|
|
||||||
--
|
|
||||||
2.1.2
|
|
||||||
|
|
||||||
From bed025bd2569b1c033f24d7d9e660e39ebf65cac Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mark H Weaver <mhw@netris.org>
|
|
||||||
Date: Sat, 20 Sep 2014 03:59:51 -0400
|
|
||||||
Subject: [PATCH] VM: Allow the C compiler to choose FP_REG on ARM.
|
|
||||||
|
|
||||||
Reported by Rob Browning <rlb@defaultvalue.org>.
|
|
||||||
|
|
||||||
* libguile/vm-engine.h (IP_REG)[__arm__]: Remove explicit register
|
|
||||||
choice ("r7") for FP_REG, which was reported to cause compilation
|
|
||||||
failures on ARM.
|
|
||||||
---
|
|
||||||
libguile/vm-engine.h | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libguile/vm-engine.h b/libguile/vm-engine.h
|
|
||||||
index 46d4cff..e618be7 100644
|
|
||||||
--- a/libguile/vm-engine.h
|
|
||||||
+++ b/libguile/vm-engine.h
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-/* Copyright (C) 2001, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
|
||||||
+/* Copyright (C) 2001, 2009-2012, 2014 Free Software Foundation, Inc.
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
|
||||||
@@ -81,7 +81,7 @@
|
|
||||||
#ifdef __arm__
|
|
||||||
#define IP_REG asm("r9")
|
|
||||||
#define SP_REG asm("r8")
|
|
||||||
-#define FP_REG asm("r7")
|
|
||||||
+#define FP_REG
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
--
|
|
||||||
2.1.2
|
|
||||||
|
|
|
@ -1,286 +0,0 @@
|
||||||
Fix libtheora linking issue with modern theora versions.
|
|
||||||
|
|
||||||
Adapted from:
|
|
||||||
http://git.buildroot.net/buildroot/commit/?id=46b71cb0be27c0e6b7c93afb49fc80779bf310e3
|
|
||||||
|
|
||||||
--- a/libmpcodecs/vd_theora.c
|
|
||||||
+++ b/libmpcodecs/vd_theora.c
|
|
||||||
@@ -39,22 +39,23 @@
|
|
||||||
|
|
||||||
LIBVD_EXTERN(theora)
|
|
||||||
|
|
||||||
-#include <theora/theora.h>
|
|
||||||
+#include <theora/theoradec.h>
|
|
||||||
|
|
||||||
#define THEORA_NUM_HEADER_PACKETS 3
|
|
||||||
|
|
||||||
typedef struct theora_struct_st {
|
|
||||||
- theora_state st;
|
|
||||||
- theora_comment cc;
|
|
||||||
- theora_info inf;
|
|
||||||
+ th_setup_info *tsi;
|
|
||||||
+ th_dec_ctx *tctx;
|
|
||||||
+ th_comment tc;
|
|
||||||
+ th_info ti;
|
|
||||||
} theora_struct_t;
|
|
||||||
|
|
||||||
/** Convert Theora pixelformat to the corresponding IMGFMT_ */
|
|
||||||
-static uint32_t theora_pixelformat2imgfmt(theora_pixelformat fmt){
|
|
||||||
+static uint32_t theora_pixelformat2imgfmt(th_pixel_fmt fmt){
|
|
||||||
switch(fmt) {
|
|
||||||
- case OC_PF_420: return IMGFMT_YV12;
|
|
||||||
- case OC_PF_422: return IMGFMT_422P;
|
|
||||||
- case OC_PF_444: return IMGFMT_444P;
|
|
||||||
+ case TH_PF_420: return IMGFMT_YV12;
|
|
||||||
+ case TH_PF_422: return IMGFMT_422P;
|
|
||||||
+ case TH_PF_444: return IMGFMT_444P;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
@@ -64,7 +65,7 @@
|
|
||||||
theora_struct_t *context = sh->context;
|
|
||||||
switch(cmd) {
|
|
||||||
case VDCTRL_QUERY_FORMAT:
|
|
||||||
- if (*(int*)arg == theora_pixelformat2imgfmt(context->inf.pixelformat))
|
|
||||||
+ if (*(int*)arg == theora_pixelformat2imgfmt(context->ti.pixel_fmt))
|
|
||||||
return CONTROL_TRUE;
|
|
||||||
return CONTROL_FALSE;
|
|
||||||
}
|
|
||||||
@@ -88,8 +89,9 @@
|
|
||||||
if (!context)
|
|
||||||
goto err_out;
|
|
||||||
|
|
||||||
- theora_info_init(&context->inf);
|
|
||||||
- theora_comment_init(&context->cc);
|
|
||||||
+ th_info_init(&context->ti);
|
|
||||||
+ th_comment_init(&context->tc);
|
|
||||||
+ context->tsi = NULL;
|
|
||||||
|
|
||||||
/* Read all header packets, pass them to theora_decode_header. */
|
|
||||||
for (i = 0; i < THEORA_NUM_HEADER_PACKETS; i++)
|
|
||||||
@@ -109,7 +111,7 @@
|
|
||||||
op.b_o_s = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if ( (errorCode = theora_decode_header (&context->inf, &context->cc, &op)) )
|
|
||||||
+ if ( (errorCode = th_decode_headerin (&context->ti, &context->tc, &context->tsi, &op)) < 0)
|
|
||||||
{
|
|
||||||
mp_msg(MSGT_DECVIDEO, MSGL_ERR, "Broken Theora header; errorCode=%i!\n", errorCode);
|
|
||||||
goto err_out;
|
|
||||||
@@ -117,23 +119,25 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
/* now init codec */
|
|
||||||
- errorCode = theora_decode_init (&context->st, &context->inf);
|
|
||||||
- if (errorCode)
|
|
||||||
+ context->tctx = th_decode_alloc (&context->ti, context->tsi);
|
|
||||||
+ if (!context->tctx)
|
|
||||||
{
|
|
||||||
- mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode init failed: %i \n", errorCode);
|
|
||||||
+ mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode init failed\n");
|
|
||||||
goto err_out;
|
|
||||||
}
|
|
||||||
+ /* free memory used for decoder setup information */
|
|
||||||
+ th_setup_free(context->tsi);
|
|
||||||
|
|
||||||
- if(sh->aspect==0.0 && context->inf.aspect_denominator!=0)
|
|
||||||
+ if(sh->aspect==0.0 && context->ti.aspect_denominator!=0)
|
|
||||||
{
|
|
||||||
- sh->aspect = ((double)context->inf.aspect_numerator * context->inf.width)/
|
|
||||||
- ((double)context->inf.aspect_denominator * context->inf.height);
|
|
||||||
+ sh->aspect = ((double)context->ti.aspect_numerator * context->ti.frame_width)/
|
|
||||||
+ ((double)context->ti.aspect_denominator * context->ti.frame_height);
|
|
||||||
}
|
|
||||||
|
|
||||||
mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: Theora video init ok!\n");
|
|
||||||
- mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Frame: %dx%d, Picture %dx%d, Offset [%d,%d]\n", context->inf.width, context->inf.height, context->inf.frame_width, context->inf.frame_height, context->inf.offset_x, context->inf.offset_y);
|
|
||||||
+ mp_msg(MSGT_DECVIDEO,MSGL_INFO,"Frame: %dx%d, Picture %dx%d, Offset [%d,%d]\n", context->ti.frame_width, context->ti.frame_height, context->ti.pic_width, context->ti.pic_height, context->ti.pic_x, context->ti.pic_y);
|
|
||||||
|
|
||||||
- return mpcodecs_config_vo (sh,context->inf.width,context->inf.height,theora_pixelformat2imgfmt(context->inf.pixelformat));
|
|
||||||
+ return mpcodecs_config_vo (sh,context->ti.frame_width,context->ti.frame_height,theora_pixelformat2imgfmt(context->ti.pixel_fmt));
|
|
||||||
|
|
||||||
err_out:
|
|
||||||
free(context);
|
|
||||||
@@ -150,9 +154,9 @@
|
|
||||||
|
|
||||||
if (context)
|
|
||||||
{
|
|
||||||
- theora_info_clear(&context->inf);
|
|
||||||
- theora_comment_clear(&context->cc);
|
|
||||||
- theora_clear (&context->st);
|
|
||||||
+ th_info_clear(&context->ti);
|
|
||||||
+ th_comment_clear(&context->tc);
|
|
||||||
+ th_decode_free (context->tctx);
|
|
||||||
free (context);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -165,7 +169,7 @@
|
|
||||||
theora_struct_t *context = sh->context;
|
|
||||||
int errorCode = 0;
|
|
||||||
ogg_packet op;
|
|
||||||
- yuv_buffer yuv;
|
|
||||||
+ th_ycbcr_buffer ycbcrbuf;
|
|
||||||
mp_image_t* mpi;
|
|
||||||
|
|
||||||
// no delayed frames
|
|
||||||
@@ -177,31 +181,31 @@
|
|
||||||
op.packet = data;
|
|
||||||
op.granulepos = -1;
|
|
||||||
|
|
||||||
- errorCode = theora_decode_packetin (&context->st, &op);
|
|
||||||
- if (errorCode)
|
|
||||||
+ errorCode = th_decode_packetin (context->tctx, &op, NULL);
|
|
||||||
+ if (errorCode < 0)
|
|
||||||
{
|
|
||||||
mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode packetin failed: %i \n",
|
|
||||||
errorCode);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
- errorCode = theora_decode_YUVout (&context->st, &yuv);
|
|
||||||
- if (errorCode)
|
|
||||||
+ errorCode = th_decode_ycbcr_out (context->tctx, ycbcrbuf);
|
|
||||||
+ if (errorCode < 0)
|
|
||||||
{
|
|
||||||
mp_msg(MSGT_DECVIDEO,MSGL_ERR,"Theora decode YUVout failed: %i \n",
|
|
||||||
errorCode);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
- mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, yuv.y_width, yuv.y_height);
|
|
||||||
+ mpi = mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, 0, ycbcrbuf[0].width, ycbcrbuf[0].height);
|
|
||||||
if(!mpi) return NULL;
|
|
||||||
|
|
||||||
- mpi->planes[0]=yuv.y;
|
|
||||||
- mpi->stride[0]=yuv.y_stride;
|
|
||||||
- mpi->planes[1]=yuv.u;
|
|
||||||
- mpi->stride[1]=yuv.uv_stride;
|
|
||||||
- mpi->planes[2]=yuv.v;
|
|
||||||
- mpi->stride[2]=yuv.uv_stride;
|
|
||||||
+ mpi->planes[0]=ycbcrbuf[0].data;
|
|
||||||
+ mpi->stride[0]=ycbcrbuf[0].stride;
|
|
||||||
+ mpi->planes[1]=ycbcrbuf[1].data;
|
|
||||||
+ mpi->stride[1]=ycbcrbuf[1].stride;
|
|
||||||
+ mpi->planes[2]=ycbcrbuf[2].data;
|
|
||||||
+ mpi->stride[2]=ycbcrbuf[2].stride;
|
|
||||||
|
|
||||||
return mpi;
|
|
||||||
}
|
|
||||||
--- a/libmpdemux/demux_ogg.c
|
|
||||||
+++ b/libmpdemux/demux_ogg.c
|
|
||||||
@@ -49,21 +49,21 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_OGGTHEORA
|
|
||||||
-#include <theora/theora.h>
|
|
||||||
-int _ilog (unsigned int); /* defined in many places in theora/lib/ */
|
|
||||||
+#include <theora/theoradec.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BLOCK_SIZE 4096
|
|
||||||
|
|
||||||
/* Theora decoder context : we won't be able to interpret granule positions
|
|
||||||
- * without using theora_granule_time with the theora_state of the stream.
|
|
||||||
+ * without using th_granule_time with the th_dec_ctx of the stream.
|
|
||||||
* This is duplicated in `vd_theora.c'; put this in a common header?
|
|
||||||
*/
|
|
||||||
#ifdef CONFIG_OGGTHEORA
|
|
||||||
typedef struct theora_struct_st {
|
|
||||||
- theora_state st;
|
|
||||||
- theora_comment cc;
|
|
||||||
- theora_info inf;
|
|
||||||
+ th_setup_info *tsi;
|
|
||||||
+ th_dec_ctx *tctx;
|
|
||||||
+ th_comment tc;
|
|
||||||
+ th_info ti;
|
|
||||||
} theora_struct_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -116,7 +116,7 @@
|
|
||||||
float samplerate; /// granulpos 2 time
|
|
||||||
int64_t lastpos;
|
|
||||||
int32_t lastsize;
|
|
||||||
- int keyframe_frequency_force;
|
|
||||||
+ int keyframe_granule_shift;
|
|
||||||
|
|
||||||
// Logical stream state
|
|
||||||
ogg_stream_state stream;
|
|
||||||
@@ -299,11 +299,10 @@
|
|
||||||
have theora_state st, until all header packets were passed to the
|
|
||||||
decoder. */
|
|
||||||
if (!pack->bytes || !(*data&0x80)) {
|
|
||||||
- int keyframe_granule_shift = _ilog(os->keyframe_frequency_force - 1);
|
|
||||||
- int64_t iframemask = (1 << keyframe_granule_shift) - 1;
|
|
||||||
+ int64_t iframemask = (1 << os->keyframe_granule_shift) - 1;
|
|
||||||
|
|
||||||
if (pack->granulepos >= 0) {
|
|
||||||
- os->lastpos = pack->granulepos >> keyframe_granule_shift;
|
|
||||||
+ os->lastpos = pack->granulepos >> os->keyframe_granule_shift;
|
|
||||||
os->lastpos += pack->granulepos & iframemask;
|
|
||||||
*flags = (pack->granulepos & iframemask) == 0;
|
|
||||||
} else {
|
|
||||||
@@ -892,14 +891,15 @@
|
|
||||||
#ifdef CONFIG_OGGTHEORA
|
|
||||||
} else if (pack.bytes >= 7 && !strncmp (&pack.packet[1], "theora", 6)) {
|
|
||||||
int errorCode = 0;
|
|
||||||
- theora_info inf;
|
|
||||||
- theora_comment cc;
|
|
||||||
+ th_info ti;
|
|
||||||
+ th_comment tc;
|
|
||||||
+ th_setup_info *tsi = NULL;
|
|
||||||
|
|
||||||
- theora_info_init (&inf);
|
|
||||||
- theora_comment_init (&cc);
|
|
||||||
+ th_info_init (&ti);
|
|
||||||
+ th_comment_init (&tc);
|
|
||||||
|
|
||||||
- errorCode = theora_decode_header (&inf, &cc, &pack);
|
|
||||||
- if (errorCode) {
|
|
||||||
+ errorCode = th_decode_headerin(&ti, &tc, &tsi, &pack);
|
|
||||||
+ if (errorCode < 0) {
|
|
||||||
mp_msg(MSGT_DEMUX, MSGL_ERR,
|
|
||||||
"Theora header parsing failed: %i \n", errorCode);
|
|
||||||
} else {
|
|
||||||
@@ -908,30 +908,32 @@
|
|
||||||
sh_v->bih = calloc(1, sizeof(*sh_v->bih));
|
|
||||||
sh_v->bih->biSize = sizeof(*sh_v->bih);
|
|
||||||
sh_v->bih->biCompression = sh_v->format = FOURCC_THEORA;
|
|
||||||
- sh_v->fps = ((double)inf.fps_numerator) / (double)inf.fps_denominator;
|
|
||||||
- sh_v->frametime = ((double)inf.fps_denominator) / (double)inf.fps_numerator;
|
|
||||||
- sh_v->disp_w = sh_v->bih->biWidth = inf.frame_width;
|
|
||||||
- sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height;
|
|
||||||
+ sh_v->fps = ((double)ti.fps_numerator) / (double)ti.fps_denominator;
|
|
||||||
+ sh_v->frametime = ((double)ti.fps_denominator) / (double)ti.fps_numerator;
|
|
||||||
+ sh_v->i_bps = ti.target_bitrate / 8;
|
|
||||||
+ sh_v->disp_w = sh_v->bih->biWidth = ti.frame_width;
|
|
||||||
+ sh_v->disp_h = sh_v->bih->biHeight = ti.frame_height;
|
|
||||||
sh_v->bih->biBitCount = 24;
|
|
||||||
sh_v->bih->biPlanes = 3;
|
|
||||||
sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount / 8) * sh_v->bih->biWidth * sh_v->bih->biHeight);
|
|
||||||
ogg_d->subs[ogg_d->num_sub].samplerate = sh_v->fps;
|
|
||||||
ogg_d->subs[ogg_d->num_sub].theora = 1;
|
|
||||||
- ogg_d->subs[ogg_d->num_sub].keyframe_frequency_force = inf.keyframe_frequency_force;
|
|
||||||
+ ogg_d->subs[ogg_d->num_sub].keyframe_granule_shift = ti.keyframe_granule_shift;
|
|
||||||
ogg_d->subs[ogg_d->num_sub].id = n_video;
|
|
||||||
n_video++;
|
|
||||||
mp_msg(MSGT_DEMUX, MSGL_INFO,
|
|
||||||
"[Ogg] stream %d: video (Theora v%d.%d.%d), -vid %d\n",
|
|
||||||
ogg_d->num_sub,
|
|
||||||
- (int)inf.version_major,
|
|
||||||
- (int)inf.version_minor,
|
|
||||||
- (int)inf.version_subminor,
|
|
||||||
+ (int)ti.version_major,
|
|
||||||
+ (int)ti.version_minor,
|
|
||||||
+ (int)ti.version_subminor,
|
|
||||||
n_video - 1);
|
|
||||||
if (mp_msg_test(MSGT_HEADER, MSGL_V))
|
|
||||||
print_video_header(sh_v->bih, MSGL_V);
|
|
||||||
}
|
|
||||||
- theora_comment_clear(&cc);
|
|
||||||
- theora_info_clear(&inf);
|
|
||||||
+ th_comment_clear(&tc);
|
|
||||||
+ th_info_clear(&ti);
|
|
||||||
+ th_setup_free(tsi);
|
|
||||||
#endif /* CONFIG_OGGTHEORA */
|
|
||||||
} else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], "fLaC", 4)) {
|
|
||||||
sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio, NULL);
|
|
|
@ -1,15 +0,0 @@
|
||||||
Search for clucene include file in the clucene include directory.
|
|
||||||
|
|
||||||
diff -u -r soprano-2.9.4.orig/cmake/modules/FindCLucene.cmake soprano-2.9.4/cmake/modules/FindCLucene.cmake
|
|
||||||
--- soprano-2.9.4.orig/cmake/modules/FindCLucene.cmake 2013-10-09 19:22:28.000000000 +0200
|
|
||||||
+++ soprano-2.9.4/cmake/modules/FindCLucene.cmake 2014-04-28 20:08:11.000000000 +0200
|
|
||||||
@@ -77,7 +77,8 @@
|
|
||||||
|
|
||||||
get_filename_component(TRIAL_LIBRARY_DIR ${CLUCENE_LIBRARY} PATH)
|
|
||||||
find_path(CLUCENE_LIBRARY_DIR
|
|
||||||
- NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_DIR} ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} NO_DEFAULT_PATH)
|
|
||||||
+ NAMES CLucene/clucene-config.h PATHS ${TRIAL_LIBRARY_DIR} ${TRIAL_LIBRARY_PATHS} ${TRIAL_INCLUDE_PATHS} ${CLUCENE_INCLUDE_DIR} NO_DEFAULT_PATH)
|
|
||||||
+message (STATUS "XXX ${CLUCENE_LIBRARY_DIR}")
|
|
||||||
if(CLUCENE_LIBRARY_DIR)
|
|
||||||
message(STATUS "Found CLucene library dir: ${CLUCENE_LIBRARY_DIR}")
|
|
||||||
file(READ ${CLUCENE_LIBRARY_DIR}/CLucene/clucene-config.h CLCONTENT)
|
|
|
@ -1,65 +0,0 @@
|
||||||
Fix CVE-2017-2616:
|
|
||||||
|
|
||||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-2616
|
|
||||||
http://seclists.org/oss-sec/2017/q1/474
|
|
||||||
|
|
||||||
Patch copied from upstream source repository:
|
|
||||||
|
|
||||||
https://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=dffab154d29a288aa171ff50263ecc8f2e14a891
|
|
||||||
|
|
||||||
From b018571132cb8c9fece3d75ed240cc74cdb5f0f7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Karel Zak <kzak@redhat.com>
|
|
||||||
Date: Wed, 1 Feb 2017 11:58:09 +0100
|
|
||||||
Subject: [PATCH] su: properly clear child PID
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Reported-by: Tobias Stöckmann <tobias@stoeckmann.org>
|
|
||||||
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
||||||
---
|
|
||||||
login-utils/su-common.c | 14 ++++++++++----
|
|
||||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/login-utils/su-common.c b/login-utils/su-common.c
|
|
||||||
index 0ea4e40bd..b1720f037 100644
|
|
||||||
--- a/login-utils/su-common.c
|
|
||||||
+++ b/login-utils/su-common.c
|
|
||||||
@@ -376,6 +376,9 @@ create_watching_parent (void)
|
|
||||||
}
|
|
||||||
else
|
|
||||||
status = WEXITSTATUS (status);
|
|
||||||
+
|
|
||||||
+ /* child is gone, don't use the PID anymore */
|
|
||||||
+ child = (pid_t) -1;
|
|
||||||
}
|
|
||||||
else if (caught_signal)
|
|
||||||
status = caught_signal + 128;
|
|
||||||
@@ -385,7 +388,7 @@ create_watching_parent (void)
|
|
||||||
else
|
|
||||||
status = 1;
|
|
||||||
|
|
||||||
- if (caught_signal)
|
|
||||||
+ if (caught_signal && child != (pid_t)-1)
|
|
||||||
{
|
|
||||||
fprintf (stderr, _("\nSession terminated, killing shell..."));
|
|
||||||
kill (child, SIGTERM);
|
|
||||||
@@ -395,9 +398,12 @@ create_watching_parent (void)
|
|
||||||
|
|
||||||
if (caught_signal)
|
|
||||||
{
|
|
||||||
- sleep (2);
|
|
||||||
- kill (child, SIGKILL);
|
|
||||||
- fprintf (stderr, _(" ...killed.\n"));
|
|
||||||
+ if (child != (pid_t)-1)
|
|
||||||
+ {
|
|
||||||
+ sleep (2);
|
|
||||||
+ kill (child, SIGKILL);
|
|
||||||
+ fprintf (stderr, _(" ...killed.\n"));
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* Let's terminate itself with the received signal.
|
|
||||||
*
|
|
||||||
--
|
|
||||||
2.11.1
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
This patch was copied from Debian.
|
|
||||||
|
|
||||||
--- xserver-xorg-video-intel-2.21.15.orig/src/compat-api.h
|
|
||||||
+++ xserver-xorg-video-intel-2.21.15/src/compat-api.h
|
|
||||||
@@ -158,4 +158,8 @@
|
|
||||||
if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
|
|
||||||
+#define DamageUnregister(d, dd) DamageUnregister(dd)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#endif
|
|
|
@ -1,15 +0,0 @@
|
||||||
Allow builds with glibc 2.20.
|
|
||||||
Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
|
|
||||||
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
|
|
||||||
|
|
||||||
--- xf86-video-intel-2.21.15/src/intel_device.c.~1~ 2013-08-09 16:58:48.000000000 -0400
|
|
||||||
+++ xf86-video-intel-2.21.15/src/intel_device.c 2014-12-18 00:03:54.700759577 -0500
|
|
||||||
@@ -33,6 +33,8 @@
|
|
||||||
|
|
||||||
#include <sys/ioctl.h>
|
|
||||||
|
|
||||||
+#include <xorg-server.h>
|
|
||||||
+
|
|
||||||
#include <pciaccess.h>
|
|
||||||
#include <xf86.h>
|
|
||||||
#include <xf86drm.h>
|
|
Loading…
Reference in New Issue