summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc/0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
blob: 8e011699ef8007a09211932988db09e36b0cd87a (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
71
72
73
74
75
From baba3c6021340a9070b734f931a15cea4cfe6c31 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 15 May 2020 17:05:45 -0700
Subject: [PATCH] wordsize.h: Unify the header between arm and aarch64

This helps OE multilibs to not sythesize this header which causes all
kind of recursions and other issues since wordsize is fundamental header
and ends up including itself in many case e.g. clang tidy, bpf etc.

Upstream-Status: Inappropriate [ OE-Specific ]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 sysdeps/aarch64/bits/wordsize.h          |  8 ++++++--
 sysdeps/{aarch64 => arm}/bits/wordsize.h | 10 +++++++---
 2 files changed, 13 insertions(+), 5 deletions(-)
 copy sysdeps/{aarch64 => arm}/bits/wordsize.h (80%)

diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
index 91da566b74..9a754514b3 100644
--- a/sysdeps/aarch64/bits/wordsize.h
+++ b/sysdeps/aarch64/bits/wordsize.h
@@ -17,12 +17,16 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#ifdef __LP64__
+#if defined (__aarch64__) && defined (__LP64__)
 # define __WORDSIZE			64
-#else
+#elif defined (__aarch64__)
 # define __WORDSIZE			32
 # define __WORDSIZE32_SIZE_ULONG	1
 # define __WORDSIZE32_PTRDIFF_LONG	1
+#else
+# define __WORDSIZE			32
+# define __WORDSIZE32_SIZE_ULONG	0
+# define __WORDSIZE32_PTRDIFF_LONG	0
 #endif
 
 #define __WORDSIZE_TIME64_COMPAT32	0
diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h
similarity index 80%
copy from sysdeps/aarch64/bits/wordsize.h
copy to sysdeps/arm/bits/wordsize.h
index 91da566b74..34fcdef1f1 100644
--- a/sysdeps/aarch64/bits/wordsize.h
+++ b/sysdeps/arm/bits/wordsize.h
@@ -1,6 +1,6 @@
 /* Determine the wordsize from the preprocessor defines.
 
-   Copyright (C) 2016-2021 Free Software Foundation, Inc.
+   Copyright (C) 2016-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -17,12 +17,16 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#ifdef __LP64__
+#if defined (__aarch64__) && defined (__LP64__)
 # define __WORDSIZE			64
-#else
+#elif defined (__aarch64__)
 # define __WORDSIZE			32
 # define __WORDSIZE32_SIZE_ULONG	1
 # define __WORDSIZE32_PTRDIFF_LONG	1
+#else
+# define __WORDSIZE			32
+# define __WORDSIZE32_SIZE_ULONG	0
+# define __WORDSIZE32_PTRDIFF_LONG	0
 #endif
 
 #define __WORDSIZE_TIME64_COMPAT32	0