blob: 3b2d638b5fea6208235e0b1dc023383a3c738cad [file] [log] [blame]
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00001From 4d6bce6b106d9d9a629aadba74d74cd8a500ccbf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 15 May 2020 17:05:45 -0700
4Subject: [PATCH 18/24] wordsize.h: Unify the header between arm and aarch64
5
6This helps OE multilibs to not sythesize this header which causes all
7kind of recursions and other issues since wordsize is fundamental header
8and ends up including itself in many case e.g. clang tidy, bpf etc.
9
10Upstream-Status: Inappropriate [ OE-Specific ]
11
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 sysdeps/aarch64/bits/wordsize.h | 8 ++++++--
15 sysdeps/{aarch64 => arm}/bits/wordsize.h | 10 +++++++---
16 2 files changed, 13 insertions(+), 5 deletions(-)
17 copy sysdeps/{aarch64 => arm}/bits/wordsize.h (80%)
18
19diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
20index 4635431f0e..5ef0ed21f3 100644
21--- a/sysdeps/aarch64/bits/wordsize.h
22+++ b/sysdeps/aarch64/bits/wordsize.h
23@@ -17,12 +17,16 @@
24 License along with the GNU C Library; if not, see
25 <https://www.gnu.org/licenses/>. */
26
27-#ifdef __LP64__
28+#if defined (__aarch64__) && defined (__LP64__)
29 # define __WORDSIZE 64
30-#else
31+#elif defined (__aarch64__)
32 # define __WORDSIZE 32
33 # define __WORDSIZE32_SIZE_ULONG 1
34 # define __WORDSIZE32_PTRDIFF_LONG 1
35+#else
36+# define __WORDSIZE 32
37+# define __WORDSIZE32_SIZE_ULONG 0
38+# define __WORDSIZE32_PTRDIFF_LONG 0
39 #endif
40
41 #define __WORDSIZE_TIME64_COMPAT32 0
42diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h
43similarity index 80%
44copy from sysdeps/aarch64/bits/wordsize.h
45copy to sysdeps/arm/bits/wordsize.h
46index 4635431f0e..34fcdef1f1 100644
47--- a/sysdeps/aarch64/bits/wordsize.h
48+++ b/sysdeps/arm/bits/wordsize.h
49@@ -17,12 +17,16 @@
50 License along with the GNU C Library; if not, see
51 <https://www.gnu.org/licenses/>. */
52
53-#ifdef __LP64__
54+#if defined (__aarch64__) && defined (__LP64__)
55 # define __WORDSIZE 64
56-#else
57+#elif defined (__aarch64__)
58 # define __WORDSIZE 32
59 # define __WORDSIZE32_SIZE_ULONG 1
60 # define __WORDSIZE32_PTRDIFF_LONG 1
61+#else
62+# define __WORDSIZE 32
63+# define __WORDSIZE32_SIZE_ULONG 0
64+# define __WORDSIZE32_PTRDIFF_LONG 0
65 #endif
66
67 #define __WORDSIZE_TIME64_COMPAT32 0
68--
692.34.1
70