summarylogtreecommitdiffstats
path: root/78_all-libsanitizer-Fix-build-with-glibc-2.42.patch
blob: 88fb8bc70ac42bb1f7016d2c94ebdb0f577ca523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
From 6afd8bac7f8e7b95984b5a1be4bb5ec71c33f44f Mon Sep 17 00:00:00 2001
Message-ID: <6afd8bac7f8e7b95984b5a1be4bb5ec71c33f44f.1753477523.git.sam@gentoo.org>
From: Florian Weimer <fweimer@redhat.com>
Date: Fri, 2 May 2025 17:41:43 +0200
Subject: [PATCH 1/2] libsanitizer: Fix build with glibc 2.42

The termio structure will be removed from glibc 2.42.  It has
been deprecated since the late 80s/early 90s.

Cherry-picked from LLVM commit 59978b21ad9c65276ee8e14f26759691b8a65763
("[sanitizer_common] Remove interceptors for deprecated struct termio
(#137403)").

Co-Authored-By: Tom Stellard <tstellar@redhat.com>

libsanitizer/

	* sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry
	picked from LLVM commit 59978b21ad9c65276ee8e14f26759691b8a65763.
	* sanitizer_common/sanitizer_platform_limits_posix.cpp: Likewise.
	* sanitizer_common/sanitizer_platform_limits_posix.h: Likewise.

(cherry picked from commit 1789c57dc97ea2f9819ef89e28bf17208b6208e7)
---
 .../sanitizer_common_interceptors_ioctl.inc               | 8 --------
 .../sanitizer_common/sanitizer_platform_limits_posix.cpp  | 3 ---
 .../sanitizer_common/sanitizer_platform_limits_posix.h    | 1 -
 3 files changed, 12 deletions(-)

Adapted from gcc12 to gcc-7.5.0 by Chris Severance aur.severach aATt spamgourmet dott com

diff -pNaru3 a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc	2016-11-08 17:04:09.630329000 -0500
+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc	2025-10-24 14:48:24.646377598 -0400
@@ -325,13 +325,9 @@ static void ioctl_table_fill() {
   _(SOUND_PCM_WRITE_CHANNELS, WRITE, sizeof(int));
   _(SOUND_PCM_WRITE_FILTER, WRITE, sizeof(int));
   _(TCFLSH, NONE, 0);
-  _(TCGETA, WRITE, struct_termio_sz);
   _(TCGETS, WRITE, struct_termios_sz);
   _(TCSBRK, NONE, 0);
   _(TCSBRKP, NONE, 0);
-  _(TCSETA, READ, struct_termio_sz);
-  _(TCSETAF, READ, struct_termio_sz);
-  _(TCSETAW, READ, struct_termio_sz);
   _(TCSETS, READ, struct_termios_sz);
   _(TCSETSF, READ, struct_termios_sz);
   _(TCSETSW, READ, struct_termios_sz);
diff -pNaru3 a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc	2025-10-24 14:48:04.679521124 -0400
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc	2025-10-24 14:48:24.646377598 -0400
@@ -427,7 +427,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(El
   unsigned struct_input_id_sz = sizeof(struct input_id);
   unsigned struct_mtpos_sz = sizeof(struct mtpos);
   unsigned struct_rtentry_sz = sizeof(struct rtentry);
-  unsigned struct_termio_sz = sizeof(struct termio);
   unsigned struct_vt_consize_sz = sizeof(struct vt_consize);
   unsigned struct_vt_sizes_sz = sizeof(struct vt_sizes);
   unsigned struct_vt_stat_sz = sizeof(struct vt_stat);
diff -pNaru3 a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h	2025-10-24 14:48:04.679521124 -0400
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h	2025-10-24 14:48:24.646377598 -0400
@@ -965,7 +965,6 @@ struct __sanitizer_cookie_io_functions_t
   extern unsigned struct_input_absinfo_sz;
   extern unsigned struct_input_id_sz;
   extern unsigned struct_mtpos_sz;
-  extern unsigned struct_termio_sz;
   extern unsigned struct_vt_consize_sz;
   extern unsigned struct_vt_sizes_sz;
   extern unsigned struct_vt_stat_sz;