diff --git a/SOURCES/strace-b89a69dec27cf638df0e17db80ed937c3e1abf77.patch b/SOURCES/strace-b89a69dec27cf638df0e17db80ed937c3e1abf77.patch new file mode 100644 index 0000000..34e3ad0 --- /dev/null +++ b/SOURCES/strace-b89a69dec27cf638df0e17db80ed937c3e1abf77.patch @@ -0,0 +1,71 @@ +diff -Naurp a/xlat/v4l2_control_id_bases.h b/xlat/v4l2_control_id_bases.h +--- a/xlat/v4l2_control_id_bases.h 2018-08-14 00:44:25.000000000 +0000 ++++ b/xlat/v4l2_control_id_bases.h 2019-05-23 12:21:15.396137688 +0000 +@@ -31,12 +31,16 @@ DIAG_POP_IGNORE_TAUTOLOGICAL_COMPARE + #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 @@ const struct xlat v4l2_control_id_bases[ + 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), +diff -Naurp a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in +--- a/xlat/v4l2_control_id_bases.in 2018-05-06 15:34:41.000000000 +0000 ++++ b/xlat/v4l2_control_id_bases.in 2019-05-23 12:21:01.146061843 +0000 +@@ -2,7 +2,22 @@ V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | + 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) diff --git a/SPECS/strace.spec b/SPECS/strace.spec index ab40667..8fe7054 100644 --- a/SPECS/strace.spec +++ b/SPECS/strace.spec @@ -13,6 +13,8 @@ Patch2: strace-rhbz1610774-0001-tests-check-tracing-of-looping-threads.patch Patch3: strace-rhbz1610774-0002-Add-a-generic-list-implementation.patch Patch4: strace-rhbz1610774-0003-Implement-queueing-of-threads-before-dispatching-the.patch +Patch9999: strace-b89a69dec27cf638df0e17db80ed937c3e1abf77.patch + # We no longer need to build a separate strace32 binary, but we don't want # to break existing strace32 users' workflows. %define strace32_arches ppc64 s390x @@ -61,6 +63,10 @@ received by a process. %patch3 -p1 %patch4 -p1 +%ifarch %{arm} +%patch9999 -p1 +%endif + chmod a+x tests/*.test echo -n %version-%release > .tarball-version @@ -101,12 +107,15 @@ wait %check %{buildroot}%{_bindir}/strace -V +# some test fail in armhfp due to missing debuginfo, skip testing +%ifnarch %{arm} make %{?_smp_mflags} -k check VERBOSE=1 TIMEOUT_DURATION=1800 echo 'BEGIN OF TEST SUITE INFORMATION' tail -n 99999 -- tests*/test-suite.log tests*/ksysent.log find tests* -type f -name '*.log' -print0 | xargs -r0 grep -H '^KERNEL BUG:' -- ||: echo 'END OF TEST SUITE INFORMATION' +%endif %files %maybe_use_defattr @@ -119,6 +128,9 @@ echo 'END OF TEST SUITE INFORMATION' %{_mandir}/man1/* %changelog +* Thu May 23 2019 Pablo Greco - 4.24-3 +- Fix build on armhfp + * Mon Dec 17 2018 Eugene Syromiatnikov - 4.24-3 - Add current version of the thread handling unfairness fix.