|
@@ -0,0 +1,123 @@
|
|
|
|
+From 29210b168cc458480f71b242ad964ecd79214e38 Mon Sep 17 00:00:00 2001
|
|
|
|
+From: Tamar Christina <tamar.christina@arm.com>
|
|
|
|
+Date: Fri, 21 May 2021 12:16:56 +0100
|
|
|
|
+Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer
|
|
|
|
+
|
|
|
|
+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
|
|
|
|
+
|
|
|
|
+libsanitizer/ChangeLog:
|
|
|
|
+
|
|
|
|
+ PR sanitizer/100379
|
|
|
|
+ * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick
|
|
|
|
+ llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135.
|
|
|
|
+ * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise.
|
|
|
|
+ * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise.
|
|
|
|
+
|
|
|
|
+Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
|
|
|
|
+---
|
|
|
|
+ .../sanitizer_common_interceptors_ioctl.inc | 9 ---------
|
|
|
|
+ .../sanitizer_platform_limits_posix.cc | 11 -----------
|
|
|
|
+ .../sanitizer_platform_limits_posix.h | 10 ----------
|
|
|
|
+ 3 files changed, 30 deletions(-)
|
|
|
|
+
|
|
|
|
+diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
|
|
|
+index a68534c5a0a..85ab53e7430 100755
|
|
|
|
+--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
|
|
|
++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
|
|
|
+@@ -361,15 +361,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);
|
|
|
|
+diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
|
|
|
+index 5c720b2e700..17f2c78b389 100644
|
|
|
|
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
|
|
|
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
|
|
|
|
+@@ -157,7 +157,6 @@ typedef struct user_fpregs elf_fpregset_t;
|
|
|
|
+ # include <sys/procfs.h>
|
|
|
|
+ #endif
|
|
|
|
+ #include <sys/user.h>
|
|
|
|
+-#include <linux/cyclades.h>
|
|
|
|
+ #include <linux/if_eql.h>
|
|
|
|
+ #include <linux/if_plip.h>
|
|
|
|
+ #include <linux/lp.h>
|
|
|
|
+@@ -464,7 +463,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
|
|
|
+
|
|
|
|
+ #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
|
|
|
|
+@@ -831,15 +829,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
|
|
|
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
|
|
|
+
|
|
|
|
+ #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;
|
|
|
|
+diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
|
|
|
+index 9c1429623ab..9f05c4e9ea7 100644
|
|
|
|
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
|
|
|
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
|
|
|
|
+@@ -1004,7 +1004,6 @@ struct __sanitizer_cookie_io_functions_t {
|
|
|
|
+
|
|
|
|
+ #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;
|
|
|
|
+@@ -1349,15 +1348,6 @@ struct __sanitizer_cookie_io_functions_t {
|
|
|
|
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
|
|
|
+
|
|
|
|
+ #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;
|
|
|
|
+--
|
|
|
|
+2.31.1
|
|
|
|
+
|