mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-04-22 01:51:06 +00:00
Merge pull request #1105 from stilor/fix-uclibc
Fix a couple of regressions after recent checkins
This commit is contained in:
commit
03b29ba5b0
94
packages/strace/4.23/0001-v4l2-kernel-abi-breakage.patch
vendored
Normal file
94
packages/strace/4.23/0001-v4l2-kernel-abi-breakage.patch
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
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>
|
||||
|
||||
diff --git a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in
|
||||
index a0359be9..f3fd9255 100644
|
||||
--- a/xlat/v4l2_control_id_bases.in
|
||||
+++ b/xlat/v4l2_control_id_bases.in
|
||||
@@ -2,7 +2,22 @@ V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
|
||||
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 -urpN a/xlat/v4l2_control_id_bases.h b/xlat/v4l2_control_id_bases.h
|
||||
--- a/xlat/v4l2_control_id_bases.h
|
||||
+++ b/xlat/v4l2_control_id_bases.h
|
||||
@@ -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),
|
94
packages/strace/4.24/0001-v4l2-kernel-abi-breakage.patch
vendored
Normal file
94
packages/strace/4.24/0001-v4l2-kernel-abi-breakage.patch
vendored
Normal file
@ -0,0 +1,94 @@
|
||||
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>
|
||||
|
||||
diff --git a/xlat/v4l2_control_id_bases.in b/xlat/v4l2_control_id_bases.in
|
||||
index a0359be9..f3fd9255 100644
|
||||
--- a/xlat/v4l2_control_id_bases.in
|
||||
+++ b/xlat/v4l2_control_id_bases.in
|
||||
@@ -2,7 +2,22 @@ V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
|
||||
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 -urpN a/xlat/v4l2_control_id_bases.h b/xlat/v4l2_control_id_bases.h
|
||||
--- a/xlat/v4l2_control_id_bases.h
|
||||
+++ b/xlat/v4l2_control_id_bases.h
|
||||
@@ -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),
|
@ -1,4 +1,4 @@
|
||||
repository='git https://git.code.sf.net/p/strace/code'
|
||||
repository='git https://github.com/strace/strace.git'
|
||||
bootstrap='./bootstrap'
|
||||
mirrors='https://strace.io/files/${CT_STRACE_VERSION}'
|
||||
archive_formats='.tar.xz'
|
||||
|
@ -45,7 +45,7 @@ moxiebox_main()
|
||||
CT_DoExecLog ALL cp -v "${CT_LIB_DIR}/packages/moxiebox/"sha*.[ch] ./
|
||||
CT_DoExecLog ALL "${CT_HOST}-gcc" -c sha256_wrap.c -O2 -Wall
|
||||
CT_DoExecLog ALL "${CT_HOST}-ar" cru libcrypto.a sha256_wrap.o
|
||||
CT_Popd
|
||||
CT_Popd
|
||||
|
||||
# Moxiebox includes a VM which we're building for the
|
||||
# host machine.
|
||||
|
@ -3,21 +3,21 @@
|
||||
# Licensed under the GPL v2. See COPYING in the root of this package
|
||||
|
||||
# Build and install headers and start files
|
||||
uclibc_start_files()
|
||||
uClibc_start_files()
|
||||
{
|
||||
# Start files and Headers should be configured the same way as the
|
||||
# final libc, but built and installed differently.
|
||||
uclibc_backend libc_mode=startfiles
|
||||
uClibc_backend libc_mode=startfiles
|
||||
}
|
||||
|
||||
# This function builds and install the full C library
|
||||
uclibc_main()
|
||||
uClibc_main()
|
||||
{
|
||||
uclibc_backend libc_mode=final
|
||||
uClibc_backend libc_mode=final
|
||||
}
|
||||
|
||||
# Common backend for 1st and 2nd passes.
|
||||
uclibc_backend()
|
||||
uClibc_backend()
|
||||
{
|
||||
local libc_mode
|
||||
local arg
|
||||
@ -33,13 +33,13 @@ uclibc_backend()
|
||||
esac
|
||||
|
||||
CT_mkdir_pushd "${CT_BUILD_DIR}/build-libc-${libc_mode}"
|
||||
CT_IterateMultilibs uclibc_backend_once multilib libc_mode="${libc_mode}"
|
||||
CT_IterateMultilibs uClibc_backend_once multilib libc_mode="${libc_mode}"
|
||||
CT_Popd
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
# Common backend for 1st and 2nd passes, once per multilib.
|
||||
uclibc_backend_once()
|
||||
uClibc_backend_once()
|
||||
{
|
||||
local libc_mode
|
||||
local multi_dir multi_os_dir multi_root multi_flags multi_index multi_count
|
||||
@ -48,16 +48,16 @@ uclibc_backend_once()
|
||||
local -a make_args
|
||||
local extra_cflags f cfg_cflags cf
|
||||
local hdr_install_subdir
|
||||
local uclibc_name
|
||||
local uClibc_name
|
||||
|
||||
for arg in "$@"; do
|
||||
eval "${arg// /\\ }"
|
||||
done
|
||||
|
||||
if [ "${CT_UCLIBC_USE_UCLIBC_NG_ORG}" = "y" ]; then
|
||||
uclibc_name="uClibc-ng"
|
||||
uClibc_name="uClibc-ng"
|
||||
elif [ "${CT_UCLIBC_USE_UCLIBC_ORG}" = "y" ]; then
|
||||
uclibc_name="uClibc"
|
||||
uClibc_name="uClibc"
|
||||
fi
|
||||
|
||||
CT_DoStep INFO "Building for multilib ${multi_index}/${multi_count}: '${multi_flags}'"
|
||||
@ -94,7 +94,7 @@ uclibc_backend_once()
|
||||
|
||||
# Use the default config if the user did not provide one.
|
||||
if [ -z "${CT_LIBC_UCLIBC_CONFIG_FILE}" ]; then
|
||||
CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/contrib/uClibc-defconfigs/${uclibc_name}.config"
|
||||
CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/contrib/uClibc-defconfigs/${uClibc_name}.config"
|
||||
fi
|
||||
|
||||
manage_uClibc_config "${CT_LIBC_UCLIBC_CONFIG_FILE}" .config "${multi_flags}"
|
||||
@ -403,7 +403,7 @@ manage_uClibc_config()
|
||||
CT_DoArchUClibcCflags "${dst}" "${flags}"
|
||||
}
|
||||
|
||||
uclibc_post_cc()
|
||||
uClibc_post_cc()
|
||||
{
|
||||
# uClibc and GCC disagree where the dynamic linker lives. uClibc always
|
||||
# places it in the MULTILIB_DIR, while gcc does that for *some* variants
|
||||
|
Loading…
x
Reference in New Issue
Block a user