blob: 9ed89c93dae4a56a66c74ae6f94fce26d935e040 [file] [log] [blame]
Patrick Williams864cc432023-02-09 14:54:44 -06001From 80dbf6f21c12b1c60bfab9a64798d4f1ea242efb Mon Sep 17 00:00:00 2001
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00002From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 15 May 2020 17:05:45 -0700
Patrick Williams92b42cb2022-09-03 06:53:57 -05004Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64
Andrew Geissler7e0e3c02022-02-25 20:34:39 +00005
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---
Patrick Williams864cc432023-02-09 14:54:44 -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 Geissler7e0e3c02022-02-25 20:34:39 +000018
19diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
Patrick Williams864cc432023-02-09 14:54:44 -060020index 04d4be9519..63876a7830 100644
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000021--- 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
Patrick Williams864cc432023-02-09 14:54:44 -060043similarity index 80%
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000044copy from sysdeps/aarch64/bits/wordsize.h
45copy to sysdeps/arm/bits/wordsize.h
Patrick Williams864cc432023-02-09 14:54:44 -060046index 04d4be9519..5ef0ed21f3 100644
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000047--- a/sysdeps/aarch64/bits/wordsize.h
48+++ b/sysdeps/arm/bits/wordsize.h
Patrick Williams864cc432023-02-09 14:54:44 -060049@@ -1,6 +1,6 @@
50 /* Determine the wordsize from the preprocessor defines.
51
52- Copyright (C) 2016-2023 Free Software Foundation, Inc.
53+ Copyright (C) 2016-2022 Free Software Foundation, Inc.
54 This file is part of the GNU C Library.
55
56 The GNU C Library is free software; you can redistribute it and/or
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000057@@ -17,12 +17,16 @@
58 License along with the GNU C Library; if not, see
59 <https://www.gnu.org/licenses/>. */
60
61-#ifdef __LP64__
62+#if defined (__aarch64__) && defined (__LP64__)
63 # define __WORDSIZE 64
64-#else
65+#elif defined (__aarch64__)
66 # define __WORDSIZE 32
67 # define __WORDSIZE32_SIZE_ULONG 1
68 # define __WORDSIZE32_PTRDIFF_LONG 1
69+#else
70+# define __WORDSIZE 32
71+# define __WORDSIZE32_SIZE_ULONG 0
72+# define __WORDSIZE32_PTRDIFF_LONG 0
73 #endif
74
75 #define __WORDSIZE_TIME64_COMPAT32 0