summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gdb/gdb/0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gdb/gdb/0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch')
-rw-r--r--meta/recipes-devtools/gdb/gdb/0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch15
1 files changed, 4 insertions, 11 deletions
diff --git a/meta/recipes-devtools/gdb/gdb/0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch b/meta/recipes-devtools/gdb/gdb/0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
index 3e29327613..566b910648 100644
--- a/meta/recipes-devtools/gdb/gdb/0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
+++ b/meta/recipes-devtools/gdb/gdb/0008-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch
@@ -1,11 +1,11 @@
1From 48906e1038e469b429aa35d0f967730a929c3880 Mon Sep 17 00:00:00 2001 1From e649db1664af981cc87f966aef6c5365ae234547 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 15 Jan 2023 00:16:25 -0800 3Date: Sun, 15 Jan 2023 00:16:25 -0800
4Subject: [PATCH 8/8] Define alignof using _Alignof when using C11 or newer 4Subject: [PATCH] Define alignof using _Alignof when using C11 or newer
5 5
6WG14 N2350 made very clear that it is an UB having type definitions 6WG14 N2350 made very clear that it is an UB having type definitions
7within "offsetof" [1]. This patch enhances the implementation of macro 7within "offsetof" [1]. This patch enhances the implementation of macro
8alignof_slot to use builtin "_Alignof" to avoid undefined behavior on 8alignof to use builtin "_Alignof" to avoid undefined behavior on
9when using std=c11 or newer 9when using std=c11 or newer
10 10
11clang 16+ has started to flag this [2] 11clang 16+ has started to flag this [2]
@@ -15,14 +15,10 @@ Fixes build when using -std >= gnu11 and using clang16+
15Older compilers gcc < 4.9 or clang < 8 has buggy _Alignof even though it 15Older compilers gcc < 4.9 or clang < 8 has buggy _Alignof even though it
16may support C11, exclude those compilers too 16may support C11, exclude those compilers too
17 17
18gnulib needs this fix and then it will be applied to downstream packages
19like gdb [3]
20
21[1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2350.htm 18[1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2350.htm
22[2] https://reviews.llvm.org/D133574 19[2] https://reviews.llvm.org/D133574
23[3] https://public-inbox.org/bug-gnulib/20230114232744.215167-1-raj.khem@gmail.com/T/#u
24 20
25Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=2d404c7dd974cc65f894526f4a1b76bc1dcd8d82] 21Upstream-Status: Pending
26Signed-off-by: Khem Raj <raj.khem@gmail.com> 22Signed-off-by: Khem Raj <raj.khem@gmail.com>
27--- 23---
28 libiberty/sha1.c | 10 ++++++++++ 24 libiberty/sha1.c | 10 ++++++++++
@@ -50,6 +46,3 @@ index 504f06d3b9b..790ada82443 100644
50 # define UNALIGNED_P(p) (((size_t) p) % alignof (sha1_uint32) != 0) 46 # define UNALIGNED_P(p) (((size_t) p) % alignof (sha1_uint32) != 0)
51 if (UNALIGNED_P (buffer)) 47 if (UNALIGNED_P (buffer))
52 while (len > 64) 48 while (len > 64)
53--
542.39.0
55