blob: ece792509eece07e761c208837221916c48052d8 [file] [log] [blame]
Patrick Williams0ca19cc2021-08-16 14:03:13 -05001From baba3c6021340a9070b734f931a15cea4cfe6c31 Mon Sep 17 00:00:00 2001
Andrew Geissler1e34c2d2020-05-29 16:02:59 -05002From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 15 May 2020 17:05:45 -0700
Andrew Geisslerd1e89492021-02-12 15:35:20 -06004Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64
Andrew Geissler1e34c2d2020-05-29 16:02:59 -05005
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---
Andrew Geisslerd1e89492021-02-12 15:35:20 -060014 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%)
Andrew Geissler1e34c2d2020-05-29 16:02:59 -050018
19diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
Andrew Geisslerd1e89492021-02-12 15:35:20 -060020index 91da566b74..9a754514b3 100644
Andrew Geissler1e34c2d2020-05-29 16:02:59 -050021--- 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
Andrew Geisslerd1e89492021-02-12 15:35:20 -060043similarity index 80%
Andrew Geissler1e34c2d2020-05-29 16:02:59 -050044copy from sysdeps/aarch64/bits/wordsize.h
45copy to sysdeps/arm/bits/wordsize.h
Andrew Geisslerd1e89492021-02-12 15:35:20 -060046index 91da566b74..34fcdef1f1 100644
Andrew Geissler1e34c2d2020-05-29 16:02:59 -050047--- 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