]> code.ossystems Code Review - openembedded-core.git/commitdiff
glibc: Unify wordsize.h for arm and aarch64
authorKhem Raj <raj.khem@gmail.com>
Sat, 16 May 2020 15:58:38 +0000 (08:58 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 18 May 2020 05:31:53 +0000 (06:31 +0100)
Should help simplify multilib in arm world

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-core/glibc/glibc/0030-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch [new file with mode: 0644]
meta/recipes-core/glibc/glibc_2.31.bb

diff --git a/meta/recipes-core/glibc/glibc/0030-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/meta/recipes-core/glibc/glibc/0030-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch
new file mode 100644 (file)
index 0000000..cbef2f2
--- /dev/null
@@ -0,0 +1,67 @@
+From 9cb0a756b017f5961b70ac781d3eaec6c82513cb 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 | 8 ++++++--
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+ copy sysdeps/{aarch64 => arm}/bits/wordsize.h (85%)
+
+diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h
+index ee01841773..34fcdef1f1 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 85%
+copy from sysdeps/aarch64/bits/wordsize.h
+copy to sysdeps/arm/bits/wordsize.h
+index ee01841773..34fcdef1f1 100644
+--- a/sysdeps/aarch64/bits/wordsize.h
++++ b/sysdeps/arm/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
index 2032311b27c771a882e945203067c9ba340695db..61679e2c1cb5dae012c5b11368f10e4f6adce184 100644 (file)
@@ -40,6 +40,7 @@ SRC_URI =  "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0027-intl-Emit-no-lines-in-bison-generated-files.patch \
            file://0028-inject-file-assembly-directives.patch \
            file://0029-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
+           file://0030-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \
            "
 S = "${WORKDIR}/git"
 B = "${WORKDIR}/build-${TARGET_SYS}"