From 91820145ac2b104e93c7e1ac6b30a38efa5eec44 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 25 Sep 2021 21:33:02 +0200 Subject: [PATCH] adjust the code with cyclades removal --- debian/patches/remove-cyclades.diff | 110 ++++++++++++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 111 insertions(+) create mode 100644 debian/patches/remove-cyclades.diff diff --git a/debian/patches/remove-cyclades.diff b/debian/patches/remove-cyclades.diff new file mode 100644 index 00000000..a97f7913 --- /dev/null +++ b/debian/patches/remove-cyclades.diff @@ -0,0 +1,110 @@ +commit 68d5235cb58f988c71b403334cd9482d663841ab +Author: Tamar Christina +Date: Thu May 20 18:55:11 2021 +0100 + + libsanitizer: Remove cyclades inclusion in sanitizer + + The Linux kernel has removed the interface to cyclades from + the latest kernel headers[1] due to them being orphaned for the + past 13 years. + + libsanitizer uses this header when compiling against glibc, but + glibcs itself doesn't seem to have any references to cyclades. + + Further more it seems that the driver is broken in the kernel and + the firmware doesn't seem to be available anymore. + + As such since this is breaking the build of libsanitizer (and so the + GCC bootstrap[2]) I propose to remove this. + + [1] https://lkml.org/lkml/2021/3/2/153 + [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 + + Reviewed By: eugenis + + Differential Revision: https://reviews.llvm.org/D102059 + +Index: llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +=================================================================== +--- llvm-toolchain-11-11.1.0.orig/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc ++++ llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +@@ -366,15 +366,6 @@ static void ioctl_table_fill() { + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE +- _(CYGETDEFTHRESH, WRITE, sizeof(int)); +- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); +- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); +- _(CYGETTHRESH, WRITE, sizeof(int)); +- _(CYGETTIMEOUT, WRITE, sizeof(int)); +- _(CYSETDEFTHRESH, NONE, 0); +- _(CYSETDEFTIMEOUT, NONE, 0); +- _(CYSETTHRESH, NONE, 0); +- _(CYSETTIMEOUT, NONE, 0); + _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); + _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); + _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); +Index: llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +=================================================================== +--- llvm-toolchain-11-11.1.0.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -130,7 +130,6 @@ typedef struct user_fpregs elf_fpregset_ + # include + #endif + #include +-#include + #include + #include + #include +@@ -444,7 +443,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); +- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); + #if EV_VERSION > (0x010000) + unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); + #else +@@ -810,15 +808,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; +- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; +- unsigned IOCTL_CYGETMON = CYGETMON; +- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; +- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; +- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; +- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; +- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; +- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; + unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; + unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; + unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; +Index: llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +=================================================================== +--- llvm-toolchain-11-11.1.0.orig/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h ++++ llvm-toolchain-11-11.1.0/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -981,7 +981,6 @@ extern unsigned struct_vt_mode_sz; + + #if SANITIZER_LINUX && !SANITIZER_ANDROID + extern unsigned struct_ax25_parms_struct_sz; +-extern unsigned struct_cyclades_monitor_sz; + extern unsigned struct_input_keymap_entry_sz; + extern unsigned struct_ipx_config_data_sz; + extern unsigned struct_kbdiacrs_sz; +@@ -1326,15 +1325,6 @@ extern unsigned IOCTL_VT_WAITACTIVE; + #endif // SANITIZER_LINUX + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +-extern unsigned IOCTL_CYGETDEFTHRESH; +-extern unsigned IOCTL_CYGETDEFTIMEOUT; +-extern unsigned IOCTL_CYGETMON; +-extern unsigned IOCTL_CYGETTHRESH; +-extern unsigned IOCTL_CYGETTIMEOUT; +-extern unsigned IOCTL_CYSETDEFTHRESH; +-extern unsigned IOCTL_CYSETDEFTIMEOUT; +-extern unsigned IOCTL_CYSETTHRESH; +-extern unsigned IOCTL_CYSETTIMEOUT; + extern unsigned IOCTL_EQL_EMANCIPATE; + extern unsigned IOCTL_EQL_ENSLAVE; + extern unsigned IOCTL_EQL_GETMASTRCFG; diff --git a/debian/patches/series b/debian/patches/series index 81267735..a436aca5 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -146,3 +146,4 @@ scan-build-py-fix-analyze-path.diff D91833-bpftrace-fix-code-gen.diff scan-build-py-fix-default-bin.diff mesa-texture-failure.patch +remove-cyclades.diff