strace: drop obsolete versions

strace aims to be backwards compatible with older kernels so we don't
actually need to have every strace version. The 4.15-4.26 versions were
technically in a ct-ng release so they were obsoleted. Now that the
1.25.0 release is out we can remove these versions.

Going forward we will obsolete the version that is in the latest ct-ng
release and simply remove intervening strace versions as they are
released.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit is contained in:
Chris Packham 2022-05-08 14:13:16 +12:00
parent 6d5227b63b
commit c693d62b12
29 changed files with 0 additions and 528 deletions

View File

@ -1,148 +0,0 @@
---
Makefile.am | 14 ++++++++++++--
Makefile.in | 14 ++++++++++++--
ioctl_iocdef.c | 43 +++++++++++++++++++++++++++++++++++++++++++
ioctlsort.c | 3 ++-
4 files changed, 69 insertions(+), 5 deletions(-)
--- /dev/null
+++ b/ioctl_iocdef.c
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2017 Alexey Neyman <stilor@att.net>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * This file is *PREPROCESSED*, not *COMPILED* for host and the result
+ * is included into ioctlsort (which is compiled for build). Since some
+ * of these values are used in structure initializers, they cannot be
+ * defined as 'const unsigned int' - instead, they have to be macros.
+ * Hence, the result of preprocessing will be run through sed to change
+ * 'DEFINE' into '#define'
+ */
+#include <linux/ioctl.h>
+
+DEFINE HOST_IOC_NONE _IOC_NONE
+DEFINE HOST_IOC_READ _IOC_READ
+DEFINE HOST_IOC_WRITE _IOC_WRITE
+
+DEFINE HOST_IOC_SIZESHIFT _IOC_SIZESHIFT
+DEFINE HOST_IOC_DIRSHIFT _IOC_DIRSHIFT
--- a/ioctlsort.c
+++ b/ioctlsort.c
@@ -33,7 +33,8 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <linux/ioctl.h>
+
+#include "ioctl_iocdef.h"
struct ioctlent {
const char *info;
--- a/Makefile.am
+++ b/Makefile.am
@@ -298,6 +298,7 @@
debian/watch \
errnoent.sh \
generate_sen.sh \
+ ioctl_iocdef.c \
ioctlsort.c \
linux/32/ioctls_inc.h \
linux/32/ioctls_inc_align16.h \
@@ -815,10 +816,19 @@
ioctlent%.h: ioctlsort%
./$< > $@
+# Need to pick up <linux/ioctl.h> definitions *for host* while compiling
+# ioctlsort *for build*, hence this magic.
+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c
+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@
+
+ioctl_iocdef.h: ioctl_iocdef.i
+ sed -n 's/^DEFINE HOST/#define /p' $< > $@
+
ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o
$(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@
-ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c
+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c
$(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c
ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h
@@ -826,7 +836,7 @@
BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) \
native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h .version
-CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \
+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) ioctl_iocdef.h $(mpers_preproc_files) \
native_printer_decls.h native_printer_defs.h printers.h sen.h sys_func.h
DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h
--- a/Makefile.in
+++ b/Makefile.in
@@ -1036,6 +1036,7 @@
debian/watch \
errnoent.sh \
generate_sen.sh \
+ ioctl_iocdef.c \
ioctlsort.c \
linux/32/ioctls_inc.h \
linux/32/ioctls_inc_align16.h \
@@ -1514,7 +1515,7 @@
BUILT_SOURCES = $(ioctl_redefs_h) $(ioctlent_h) native_printer_decls.h \
native_printer_defs.h printers.h sen.h sys_func.h .version \
$(am__append_7) $(am__append_11)
-CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) $(mpers_preproc_files) \
+CLEANFILES = $(ioctl_redefs_h) $(ioctlent_h) octl_iocdef.h $(mpers_preproc_files) \
native_printer_decls.h native_printer_defs.h printers.h sen.h \
sys_func.h $(am__append_8) $(am__append_12)
DISTCLEANFILES = gnu/stubs-32.h gnu/stubs-x32.h
@@ -6177,13 +6178,22 @@
rm -f $<-t
mv $@-t $@
+# Need to pick up <linux/ioctl.h> definitions *for host* while compiling
+# ioctlsort *for build*, hence this magic.
+ioctl_iocdef.i: $(srcdir)/ioctl_iocdef.c
+ $(CPP) -P $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(strace_CPPFLAGS) $(CPPFLAGS) $< -o $@
+
+ioctl_iocdef.h: ioctl_iocdef.i
+ sed -n 's/^DEFINE HOST/#define /p' $< > $@
+
ioctlent%.h: ioctlsort%
./$< > $@
ioctlsort%$(BUILD_EXEEXT): ioctlsort%.o
$(ioctlsort_CC) $(ioctlsort_CFLAGS) $(ioctlsort_LDFLAGS) $< -o $@
-ioctlsort%.o: ioctls_all%.h $(srcdir)/ioctlsort.c
+ioctlsort%.o: ioctls_all%.h ioctl_iocdef.h $(srcdir)/ioctlsort.c
$(ioctlsort_CC) $(ioctlsort_DEFS) $(ioctlsort_INCLUDES) $(ioctlsort_CPPFLAGS) $(ioctlsort_CFLAGS) -DIOCTLSORT_INC=\"$<\" -c -o $@ $(srcdir)/ioctlsort.c
ioctls_all%.h: $(srcdir)/$(OS)/$(ARCH)/ioctls_inc%.h $(srcdir)/$(OS)/$(ARCH)/ioctls_arch%.h

View File

@ -1,4 +0,0 @@
md5 strace-4.15.tar.xz 1ff96209fec19914c920608ed0791864
sha1 strace-4.15.tar.xz 18fbaeb07d089023764f618f179091b663a0d21e
sha256 strace-4.15.tar.xz c0cdc094d6141fd9dbf6aaad605142d651ae10998b660fda57fc61f7ad583ca9
sha512 strace-4.15.tar.xz 15e96c31d901c94dc40de67a65365c6cc9a7b7b2bf96a735f5d20cbd54dc75d941e0c1da206aa76f6e98d1013bfeecb42800b23c9e146eaf756775d525fe1b66

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,4 +0,0 @@
md5 strace-4.16.tar.xz 2873366cac98770efcbed6e748d5ef23
sha1 strace-4.16.tar.xz b780a8cd2e60ea836cfd3468e0f81623a346d180
sha256 strace-4.16.tar.xz 98487cb5178ec1259986cc9f6e2a844f50e5d1208c112cc22431a1e4d9adf0ef
sha512 strace-4.16.tar.xz d1a7b782cb8196eb95b431b66f9b0eff7886869a7e3a4618d985f73b2eed7590ba73150b9c33e55ee5c65fc8f863588b64c5611dca7b5d7a4183110eaf4451d5

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,4 +0,0 @@
md5 strace-4.17.tar.xz 8d7eb10eba68bad83a269197e634b626
sha1 strace-4.17.tar.xz a60558a10757e41a39ee9e357d1d03d91d5d94d8
sha256 strace-4.17.tar.xz 81f35b085fbb3cfa806eb521a8522ac3406deaccfe121ce35064bad268237419
sha512 strace-4.17.tar.xz dab376d9c5ac7db98e864f3cfb165eeec714e3ea492f32ee873cebe01fbd3a0793db09983af1da6530480666a59973ccd9855d348e754be1eead9c0a5d524029

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,4 +0,0 @@
md5 strace-4.18.tar.xz 3579b3266bb096cebaefbe2cdb1a3a78
sha1 strace-4.18.tar.xz ac2e6f746260dd71f6d22920d9ca8f4bfbe708a8
sha256 strace-4.18.tar.xz 89ad887c1e6226bdbca8da31d589cadea4be0744b142eb47b768086c937fca08
sha512 strace-4.18.tar.xz 4fcabc11ef8055c09a5a4777e66f006dd9d67d74740dc0d6e31eb16fa8496062b848c1f21adeeeba7895f57af851103a384c19000ac15cd2f5521e78a5e7a8ad

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,36 +0,0 @@
commit d45f27147f7d95eb209463dc03dc039ea3f15b59
Author: Baruch Siach <baruch@tkos.co.il>
Date: Fri Sep 8 12:12:57 2017 +0300
error_prints: fix potential program_invocation_name type conflict
uClibc-ng declares program_invocation_name as const.
This causes the build failure below:
error_prints.c:40:14: error: conflicting types for program_invocation_name
extern char *program_invocation_name;
^~~~~~~~~~~~~~~~~~~~~~~
In file included from error_prints.c:32:0:
.../output/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/errno.h:54:20: note: previous declaration of program_invocation_name was here
extern const char *program_invocation_name, *program_invocation_short_name;
^~~~~~~~~~~~~~~~~~~~~~~
* error_prints.c (program_invocation_name): Declare only in case
of [!HAVE_PROGRAM_INVOCATION_NAME].
---
error_prints.c | 2 ++
1 file changed, 2 insertions(+)
--- a/error_prints.c
+++ b/error_prints.c
@@ -37,7 +37,9 @@
#include "error_prints.h"
+#ifndef HAVE_PROGRAM_INVOCATION_NAME
extern char *program_invocation_name;
+#endif
static void
verror_msg(int err_no, const char *fmt, va_list p)

View File

@ -1,4 +0,0 @@
md5 strace-4.19.tar.xz 846a9a26e74e797f42d77a0348104072
sha1 strace-4.19.tar.xz 43091b8a07c227a6ffafd6d0f9536917c9447011
sha256 strace-4.19.tar.xz 7c93ebc6c29280f47c24a0eb86873a99ccb2cac6512c60a60ba4ef99ab807281
sha512 strace-4.19.tar.xz 91d57f58ac0e70ff4dcd69fda3cb835de7f40a9152817427e9c264773f99015badbad7bab047ce7f69001b689b1ce54af9522a9738060823de8873bee1e0c629

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,4 +0,0 @@
md5 strace-4.20.tar.xz f2271ab0fac49ebee9cbd7f3469227cb
sha1 strace-4.20.tar.xz 9cebc754af3434e4027a07745770892f685c0316
sha256 strace-4.20.tar.xz 5bf3148dd17306a42566f7da17368fdd781afa147db05ea63a4ca2b50f58c523
sha512 strace-4.20.tar.xz 869b3b9c48401619073a021e20e80cce37d8884f615bdb52dac9e6a2903df11507d7a0cb0ccad75bcc03d8dfafead0e68d14267e663503e94849079c9a2ebd4c

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,4 +0,0 @@
md5 strace-4.21.tar.xz 785b679a75e9758ebeb66816f315b9fe
sha1 strace-4.21.tar.xz c7d2a8f9d48a70792fafab77cb2e63fa7f976d6c
sha256 strace-4.21.tar.xz 5c7688db44073e94c59a5627744e5699454419824cc8166e8bcfd7ec58375c37
sha512 strace-4.21.tar.xz d3b0393f1f727530e2e5b4490c80a905d251223167a61f9a86884a4b8a4f25522c46c465961968ca25013f321e561e217cb6e8f15be31d4d371274030526187d

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,4 +0,0 @@
md5 strace-4.22.tar.xz 7a2a7d7715da6e6834bc65bd09bace1c
sha1 strace-4.22.tar.xz 3d28228aecbd90f4ffc94b57473da4332313d467
sha256 strace-4.22.tar.xz 068cd09264c95e4d591bbcd3ea08f99a693ed8663cd5169b0fdad72eb5bdb39d
sha512 strace-4.22.tar.xz 624c3f27921b6df2eb8ff409a35fa9153c4571cd5f703e6cac18f024bccd5ff4acb81f88ca33f81d1046d9718dec7b2705e8940e80bb8447ec3e62a6fd5f8350

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,96 +0,0 @@
commit b89a69dec27cf638df0e17db80ed937c3e1abf77
Author: Dmitry V. Levin <ldv@altlinux.org>
Date: Sat Aug 18 07:22:47 2018 +0000
xlat: workaround V4L2_CID_USER_IMX_BASE Linux kernel ABI breakage
Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48
has changed the value of V4L2_CID_USER_IMX_BASE constant introduced
by commit v4.13-rc1~141^2~121 because the old value was already used
by V4L2_CID_USER_MAX217X_BASE.
This is of course an ABI breakage that affects Linux kernels starting
with 4.13 and up to 4.18, as well as their LTS derivatives.
Since the imx driver didn't provide any public control ID definitions,
it looks like the best way to handle this situation is to pretend that
the old value of V4L2_CID_USER_IMX_BASE didn't exist.
* xlat/v4l2_control_id_bases.in (V4L2_CID_USER_IMX_BASE): Redefine.
Co-Authored-by: Eugene Syromyatnikov <evgsyr@gmail.com>
---
xlat/v4l2_control_id_bases.h | 23 +++++++++++++++++++++--
xlat/v4l2_control_id_bases.in | 17 ++++++++++++++++-
2 files changed, 37 insertions(+), 3 deletions(-)
--- a/xlat/v4l2_control_id_bases.in
+++ b/xlat/v4l2_control_id_bases.in
@@ -2,7 +2,22 @@
V4L2_CID_USER_MEYE_BASE (V4L2_CID_BASE + 0x1000)
V4L2_CID_USER_BTTV_BASE (V4L2_CID_BASE + 0x1010)
V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050)
-V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090)
+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+/*
+ * Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48
+ * has changed the value of V4L2_CID_USER_IMX_BASE constant introduced
+ * by commit v4.13-rc1~141^2~121 because the old value was already used
+ * by V4L2_CID_USER_MAX217X_BASE.
+ * This is of course an ABI breakage that affects Linux kernels starting
+ * with 4.13 and up to 4.18, as well as their LTS derivatives.
+ * Since the imx driver didn't provide any public control ID definitions,
+ * it looks like the best way to handle this situation is to pretend that
+ * the old value of V4L2_CID_USER_IMX_BASE didn't exist.
+ */
+# undef V4L2_CID_USER_IMX_BASE
+#endif
+V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0)
V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100)
--- a/xlat/v4l2_control_id_bases.h
+++ b/xlat/v4l2_control_id_bases.h
@@ -31,12 +31,16 @@
#else
# define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050)
#endif
+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+# undef V4L2_CID_USER_IMX_BASE
+#endif
#if defined(V4L2_CID_USER_IMX_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_IMX_BASE) && HAVE_DECL_V4L2_CID_USER_IMX_BASE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
-static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x1090)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x1090)");
+static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x10b0)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x10b0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
-# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090)
+# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0)
#endif
#if defined(V4L2_CID_MPEG_BASE) || (defined(HAVE_DECL_V4L2_CID_MPEG_BASE) && HAVE_DECL_V4L2_CID_MPEG_BASE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
@@ -146,6 +150,21 @@
XLAT(V4L2_CID_USER_MEYE_BASE),
XLAT(V4L2_CID_USER_BTTV_BASE),
XLAT(V4L2_CID_USER_TI_VPE_BASE),
+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+/*
+* Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48
+* has changed the value of V4L2_CID_USER_IMX_BASE constant introduced
+* by commit v4.13-rc1~141^2~121 because the old value was already used
+* by V4L2_CID_USER_MAX217X_BASE.
+* This is of course an ABI breakage that affects Linux kernels starting
+* with 4.13 and up to 4.18, as well as their LTS derivatives.
+* Since the imx driver didn't provide any public control ID definitions,
+* it looks like the best way to handle this situation is to pretend that
+* the old value of V4L2_CID_USER_IMX_BASE didn't exist.
+*/
+# undef V4L2_CID_USER_IMX_BASE
+#endif
XLAT(V4L2_CID_USER_IMX_BASE),
XLAT(V4L2_CID_MPEG_BASE),
XLAT(V4L2_CID_MPEG_CX2341X_BASE),

View File

@ -1,4 +0,0 @@
md5 strace-4.23.tar.xz fad4bba0947553cef34d46a9fd78f039
sha1 strace-4.23.tar.xz a40a46f4861deb122da45dcc715fb39fd68f9120
sha256 strace-4.23.tar.xz 7860a6965f1dd832747bd8281a04738274398d32c56e9fbd0a68b1bb9ec09aad
sha512 strace-4.23.tar.xz b54df972dc86e27668784ea4619e8c55230816b249e0a7fcca99a37b7f9ec37710742aca08c9e39b508522accb654a83c98207bab9ccac1197bb8e73e51ab116

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,96 +0,0 @@
commit b89a69dec27cf638df0e17db80ed937c3e1abf77
Author: Dmitry V. Levin <ldv@altlinux.org>
Date: Sat Aug 18 07:22:47 2018 +0000
xlat: workaround V4L2_CID_USER_IMX_BASE Linux kernel ABI breakage
Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48
has changed the value of V4L2_CID_USER_IMX_BASE constant introduced
by commit v4.13-rc1~141^2~121 because the old value was already used
by V4L2_CID_USER_MAX217X_BASE.
This is of course an ABI breakage that affects Linux kernels starting
with 4.13 and up to 4.18, as well as their LTS derivatives.
Since the imx driver didn't provide any public control ID definitions,
it looks like the best way to handle this situation is to pretend that
the old value of V4L2_CID_USER_IMX_BASE didn't exist.
* xlat/v4l2_control_id_bases.in (V4L2_CID_USER_IMX_BASE): Redefine.
Co-Authored-by: Eugene Syromyatnikov <evgsyr@gmail.com>
---
xlat/v4l2_control_id_bases.h | 23 +++++++++++++++++++++--
xlat/v4l2_control_id_bases.in | 17 ++++++++++++++++-
2 files changed, 37 insertions(+), 3 deletions(-)
--- a/xlat/v4l2_control_id_bases.in
+++ b/xlat/v4l2_control_id_bases.in
@@ -2,7 +2,22 @@
V4L2_CID_USER_MEYE_BASE (V4L2_CID_BASE + 0x1000)
V4L2_CID_USER_BTTV_BASE (V4L2_CID_BASE + 0x1010)
V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050)
-V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090)
+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+/*
+ * Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48
+ * has changed the value of V4L2_CID_USER_IMX_BASE constant introduced
+ * by commit v4.13-rc1~141^2~121 because the old value was already used
+ * by V4L2_CID_USER_MAX217X_BASE.
+ * This is of course an ABI breakage that affects Linux kernels starting
+ * with 4.13 and up to 4.18, as well as their LTS derivatives.
+ * Since the imx driver didn't provide any public control ID definitions,
+ * it looks like the best way to handle this situation is to pretend that
+ * the old value of V4L2_CID_USER_IMX_BASE didn't exist.
+ */
+# undef V4L2_CID_USER_IMX_BASE
+#endif
+V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0)
V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100)
--- a/xlat/v4l2_control_id_bases.h
+++ b/xlat/v4l2_control_id_bases.h
@@ -31,12 +31,16 @@
#else
# define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_BASE + 0x1050)
#endif
+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+# undef V4L2_CID_USER_IMX_BASE
+#endif
#if defined(V4L2_CID_USER_IMX_BASE) || (defined(HAVE_DECL_V4L2_CID_USER_IMX_BASE) && HAVE_DECL_V4L2_CID_USER_IMX_BASE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
-static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x1090)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x1090)");
+static_assert((V4L2_CID_USER_IMX_BASE) == ((V4L2_CID_BASE + 0x10b0)), "V4L2_CID_USER_IMX_BASE != (V4L2_CID_BASE + 0x10b0)");
DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE
#else
-# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x1090)
+# define V4L2_CID_USER_IMX_BASE (V4L2_CID_BASE + 0x10b0)
#endif
#if defined(V4L2_CID_MPEG_BASE) || (defined(HAVE_DECL_V4L2_CID_MPEG_BASE) && HAVE_DECL_V4L2_CID_MPEG_BASE)
DIAG_PUSH_IGNORE_TAUTOLOGICAL_COMPARE
@@ -146,6 +150,21 @@
XLAT(V4L2_CID_USER_MEYE_BASE),
XLAT(V4L2_CID_USER_BTTV_BASE),
XLAT(V4L2_CID_USER_TI_VPE_BASE),
+#ifndef STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+# define STRACE_WORKAROUND_FOR_V4L2_CID_USER_IMX_BASE
+/*
+* Linux kernel commit v4.18-rc2-106-g421860b9d47053badce4b247576fa48df9ab4c48
+* has changed the value of V4L2_CID_USER_IMX_BASE constant introduced
+* by commit v4.13-rc1~141^2~121 because the old value was already used
+* by V4L2_CID_USER_MAX217X_BASE.
+* This is of course an ABI breakage that affects Linux kernels starting
+* with 4.13 and up to 4.18, as well as their LTS derivatives.
+* Since the imx driver didn't provide any public control ID definitions,
+* it looks like the best way to handle this situation is to pretend that
+* the old value of V4L2_CID_USER_IMX_BASE didn't exist.
+*/
+# undef V4L2_CID_USER_IMX_BASE
+#endif
XLAT(V4L2_CID_USER_IMX_BASE),
XLAT(V4L2_CID_MPEG_BASE),
XLAT(V4L2_CID_MPEG_CX2341X_BASE),

View File

@ -1,4 +0,0 @@
md5 strace-4.24.tar.xz 8780136849c85acf76ad3a522aa4462a
sha1 strace-4.24.tar.xz 09a8c9638fd02622157af9d744ad7c7f991c75df
sha256 strace-4.24.tar.xz 1f4e59fc1edfa2bfb4adf2a748623dc25b105ec79713dd84404199f91b0b0634
sha512 strace-4.24.tar.xz 69cbf8b2c32c7ea90ebe5955bc71b454316a3494ae6975203fe61ce1f42ec539438cec5ba8ee7f529f89661d964b4aa53656712706aacff6bf018304b7a09813

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,4 +0,0 @@
md5 strace-4.25.tar.xz fa5ac841e9ce6af133061822898d49a9
sha1 strace-4.25.tar.xz 4f5c8a0c4bf08b0c012de87ab9d10c0e3b06585f
sha256 strace-4.25.tar.xz d685f8e65470b7832c3aff60c57ab4459f26ff89f07c10f92bd70ee89efac701
sha512 strace-4.25.tar.xz 1465ef5ebc77cee73ebae5e12c72ff1826f48cdb2b36bdd5116380fac3add73f3ede3ca2694358bfb0c3e3141be5b747b353749130a366c81d05709b2d7bb879

View File

@ -1 +0,0 @@
obsolete='yes'

View File

@ -1,92 +0,0 @@
commit 2c8b6de913973274e877639658e9e7273a012adb
Author: Dmitry V. Levin <ldv@altlinux.org>
Date: Tue Jan 8 19:23:44 2019 +0000
mips o32: fix build
Commit 917c2ccf3a67 "Refactor stack pointers" moved mips_REG_* macros
from linux/mips/arch_regs.h to linux/mips/arch_regs.c because these
macros are no longer used outside syscall.c or files included by
syscall.c, but this caused a build regression on mips o32 because
decode_syscall_subcall() uses mips_REG_SP prior to its definition.
* syscall.c (decode_syscall_subcall): Move ...
* linux/mips/get_syscall_args.c: ... here.
* NEWS: Mention this fix.
Reported-by: Baruch Siach <baruch@tkos.co.il>
Fixes: v4.26~61 "Refactor stack pointers"
---
linux/mips/get_syscall_args.c | 26 ++++++++++++++++++++++++++
syscall.c | 27 ++-------------------------
2 files changed, 28 insertions(+), 25 deletions(-)
--- a/linux/mips/get_syscall_args.c
+++ b/linux/mips/get_syscall_args.c
@@ -37,3 +37,29 @@
#endif
return 1;
}
+
+#ifdef SYS_syscall_subcall
+static void
+decode_syscall_subcall(struct tcb *tcp)
+{
+ if (!scno_is_valid(tcp->u_arg[0]))
+ return;
+ tcp->scno = tcp->u_arg[0];
+ tcp->qual_flg = qual_flags(tcp->scno);
+ tcp->s_ent = &sysent[tcp->scno];
+ memmove(&tcp->u_arg[0], &tcp->u_arg[1],
+ sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0]));
+ /*
+ * Fetching the last arg of 7-arg syscalls (fadvise64_64
+ * and sync_file_range) requires additional code,
+ * see linux/mips/get_syscall_args.c
+ */
+ if (tcp->s_ent->nargs == MAX_ARGS) {
+ if (umoven(tcp,
+ mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]),
+ sizeof(tcp->u_arg[0]),
+ &tcp->u_arg[MAX_ARGS - 1]) < 0)
+ tcp->u_arg[MAX_ARGS - 1] = 0;
+ }
+}
+#endif /* SYS_syscall_subcall */
--- a/syscall.c
+++ b/syscall.c
@@ -349,31 +349,8 @@
#endif /* SYS_ipc_subcall */
#ifdef SYS_syscall_subcall
-static void
-decode_syscall_subcall(struct tcb *tcp)
-{
- if (!scno_is_valid(tcp->u_arg[0]))
- return;
- tcp->scno = tcp->u_arg[0];
- tcp->qual_flg = qual_flags(tcp->scno);
- tcp->s_ent = &sysent[tcp->scno];
- memmove(&tcp->u_arg[0], &tcp->u_arg[1],
- sizeof(tcp->u_arg) - sizeof(tcp->u_arg[0]));
-# ifdef LINUX_MIPSO32
- /*
- * Fetching the last arg of 7-arg syscalls (fadvise64_64
- * and sync_file_range) requires additional code,
- * see linux/mips/get_syscall_args.c
- */
- if (tcp->s_ent->nargs == MAX_ARGS) {
- if (umoven(tcp,
- mips_REG_SP + MAX_ARGS * sizeof(tcp->u_arg[0]),
- sizeof(tcp->u_arg[0]),
- &tcp->u_arg[MAX_ARGS - 1]) < 0)
- tcp->u_arg[MAX_ARGS - 1] = 0;
- }
-# endif /* LINUX_MIPSO32 */
-}
+/* The implementation is architecture specific. */
+static void decode_syscall_subcall(struct tcb *);
#endif /* SYS_syscall_subcall */
static void

View File

@ -1,4 +0,0 @@
md5 strace-4.26.tar.xz daa51acc0c7c696221ec03cf0b30a7af
sha1 strace-4.26.tar.xz b4a054adb74563fc121bcd19b158f58955a20a33
sha256 strace-4.26.tar.xz 7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c
sha512 strace-4.26.tar.xz cce153246802fcdb1547bc11164784066101a2e672e2a264cb742593b559e579aa4bedc749d87fdd1fc2045f4f79b54d419bb50c823074d2cca6f3c75ccf2290

View File

@ -1 +0,0 @@
obsolete='yes'