1From 29210b168cc458480f71b242ad964ecd79214e38 Mon Sep 17 00:00:00 2001 2From: Tamar Christina <tamar.christina@arm.com> 3Date: Fri, 21 May 2021 12:16:56 +0100 4Subject: [PATCH] libsanitizer: Remove cyclades from libsanitizer 5 6The Linux kernel has removed the interface to cyclades from 7the latest kernel headers[1] due to them being orphaned for the 8past 13 years. 9 10libsanitizer uses this header when compiling against glibc, but 11glibcs itself doesn't seem to have any references to cyclades. 12 13Further more it seems that the driver is broken in the kernel and 14the firmware doesn't seem to be available anymore. 15 16As such since this is breaking the build of libsanitizer (and so the 17GCC bootstrap[2]) I propose to remove this. 18 19[1] https://lkml.org/lkml/2021/3/2/153 20[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100379 21 22libsanitizer/ChangeLog: 23 24 PR sanitizer/100379 25 * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry-pick 26 llvm-project revision f7c5351552387bd43f6ca3631016d7f0dfe0f135. 27 * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise. 28 * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise. 29 30Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru> 31--- 32 .../sanitizer_common_interceptors_ioctl.inc | 9 --------- 33 .../sanitizer_platform_limits_posix.cc | 11 ----------- 34 .../sanitizer_platform_limits_posix.h | 10 ---------- 35 3 files changed, 30 deletions(-) 36 37diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc 38index a68534c5a0a..85ab53e7430 100755 39--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc 40+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc 41@@ -361,15 +361,6 @@ static void ioctl_table_fill() { 42 43 #if SANITIZER_LINUX && !SANITIZER_ANDROID 44 // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE 45- _(CYGETDEFTHRESH, WRITE, sizeof(int)); 46- _(CYGETDEFTIMEOUT, WRITE, sizeof(int)); 47- _(CYGETMON, WRITE, struct_cyclades_monitor_sz); 48- _(CYGETTHRESH, WRITE, sizeof(int)); 49- _(CYGETTIMEOUT, WRITE, sizeof(int)); 50- _(CYSETDEFTHRESH, NONE, 0); 51- _(CYSETDEFTIMEOUT, NONE, 0); 52- _(CYSETTHRESH, NONE, 0); 53- _(CYSETTIMEOUT, NONE, 0); 54 _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz); 55 _(EQL_ENSLAVE, WRITE, struct_ifreq_sz); 56 _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz); 57diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 58index 5c720b2e700..17f2c78b389 100644 59--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 60+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 61@@ -157,7 +157,6 @@ typedef struct user_fpregs elf_fpregset_t; 62 # include <sys/procfs.h> 63 #endif 64 #include <sys/user.h> 65-#include <linux/cyclades.h> 66 #include <linux/if_eql.h> 67 #include <linux/if_plip.h> 68 #include <linux/lp.h> 69@@ -464,7 +463,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); 70 71 #if SANITIZER_LINUX && !SANITIZER_ANDROID 72 unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct); 73- unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor); 74 #if EV_VERSION > (0x010000) 75 unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry); 76 #else 77@@ -831,15 +829,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr); 78 #endif // SANITIZER_LINUX || SANITIZER_FREEBSD 79 80 #if SANITIZER_LINUX && !SANITIZER_ANDROID 81- unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH; 82- unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT; 83- unsigned IOCTL_CYGETMON = CYGETMON; 84- unsigned IOCTL_CYGETTHRESH = CYGETTHRESH; 85- unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT; 86- unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH; 87- unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT; 88- unsigned IOCTL_CYSETTHRESH = CYSETTHRESH; 89- unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT; 90 unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE; 91 unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE; 92 unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG; 93diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 94index 9c1429623ab..9f05c4e9ea7 100644 95--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 96+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 97@@ -1004,7 +1004,6 @@ struct __sanitizer_cookie_io_functions_t { 98 99 #if SANITIZER_LINUX && !SANITIZER_ANDROID 100 extern unsigned struct_ax25_parms_struct_sz; 101- extern unsigned struct_cyclades_monitor_sz; 102 extern unsigned struct_input_keymap_entry_sz; 103 extern unsigned struct_ipx_config_data_sz; 104 extern unsigned struct_kbdiacrs_sz; 105@@ -1349,15 +1348,6 @@ struct __sanitizer_cookie_io_functions_t { 106 #endif // SANITIZER_LINUX || SANITIZER_FREEBSD 107 108 #if SANITIZER_LINUX && !SANITIZER_ANDROID 109- extern unsigned IOCTL_CYGETDEFTHRESH; 110- extern unsigned IOCTL_CYGETDEFTIMEOUT; 111- extern unsigned IOCTL_CYGETMON; 112- extern unsigned IOCTL_CYGETTHRESH; 113- extern unsigned IOCTL_CYGETTIMEOUT; 114- extern unsigned IOCTL_CYSETDEFTHRESH; 115- extern unsigned IOCTL_CYSETDEFTIMEOUT; 116- extern unsigned IOCTL_CYSETTHRESH; 117- extern unsigned IOCTL_CYSETTIMEOUT; 118 extern unsigned IOCTL_EQL_EMANCIPATE; 119 extern unsigned IOCTL_EQL_ENSLAVE; 120 extern unsigned IOCTL_EQL_GETMASTRCFG; 121-- 1222.31.1 123 124