mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-27 20:07:25 +00:00
s-nail: Fix build with gcc-12
Backport 2 patches to fix the below build failure when debug build is enabled. Add DEBUG_BUILD = "1" in conf/local.conf. $ bitbake s-nail | /build/tmp-glibc/work/corei7-64-wrs-linux/s-nail/14.9.24-r0/recipe-sysroot-native/usr/bin/x86_64-wrs-linux/../../libexec/x86_64-wrs-linux/gcc/x86_64-wrs-linux/12.1.0/ld: mx-047.o: in function `a_nm_alias_expand': | /usr/src/debug/s-nail/14.9.24-r0/s-nail-14.9.24/src/mx/names.c:308: undefined reference to `su_cs_dict_lookup' | /build/tmp-glibc/work/corei7-64-wrs-linux/s-nail/14.9.24-r0/recipe-sysroot-native/usr/bin/x86_64-wrs-linux/../../libexec/x86_64-wrs-linux/gcc/x86_64-wrs-linux/12.1.0/ld: mx-028.o: in function `mx_fs_linepool_book': | /usr/src/debug/s-nail/14.9.24-r0/s-nail-14.9.24/src/mx/file-streams.c:1036: undefined reference to `su_mem_get_can_book' collect2: error: ld returned 1 exit status Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+68
@@ -0,0 +1,68 @@
|
|||||||
|
From 9db4c0f6bc0dd11c77b54296fce6b8afe18f4325 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Steffen Nurpmeso <steffen@sdaoden.eu>
|
||||||
|
Date: Thu, 9 Jun 2022 18:26:38 +0800
|
||||||
|
Subject: [PATCH] su_INLINE: eh no; give up, share detection with clang but for
|
||||||
|
a thing
|
||||||
|
|
||||||
|
Upstream-Status: Backport[https://git.sdaoden.eu/browse/s-nail.git/commit/?id=de2a44c393a39d80ddf12154aec94cace84b19c1]
|
||||||
|
|
||||||
|
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||||
|
---
|
||||||
|
include/su/code.h | 34 +++++++++-------------------------
|
||||||
|
1 file changed, 9 insertions(+), 25 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/su/code.h b/include/su/code.h
|
||||||
|
index 9683f4a..c7a2af3 100644
|
||||||
|
--- a/include/su/code.h
|
||||||
|
+++ b/include/su/code.h
|
||||||
|
@@ -308,29 +308,8 @@ do{\
|
||||||
|
# ifdef DOXYGEN
|
||||||
|
# define su_INLINE inline
|
||||||
|
# define su_SINLINE inline
|
||||||
|
-# elif su_CC_GCC
|
||||||
|
-# if !su_CC_VCHECK_GCC(3, 1)
|
||||||
|
-# define su_INLINE extern __inline__
|
||||||
|
-# define su_SINLINE static __inline__
|
||||||
|
-# elif !defined __GNUC_GNU_INLINE__ /*4.1.3; !su_CC_VCHECK_GCC(4, 2)*/
|
||||||
|
-# define su_INLINE extern __inline __attribute__((always_inline))
|
||||||
|
-# define su_SINLINE static __inline __attribute__((always_inline))
|
||||||
|
- /* gcc 8.3.0 bug: does not gracefully inline with -Os
|
||||||
|
- * gcc 12.1.0 bug: ditto, -Og
|
||||||
|
- * Thus: always gcc-specific! */
|
||||||
|
-# elif 1 /*!defined __OPTIMIZE__ || \
|
||||||
|
- !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L*/
|
||||||
|
-# define su_INLINE extern __inline __attribute__((gnu_inline))
|
||||||
|
-# define su_SINLINE static __inline __attribute__((gnu_inline))
|
||||||
|
-# elif !defined NDEBUG || !defined __OPTIMIZE__
|
||||||
|
-# define su_INLINE static inline
|
||||||
|
-# define su_SINLINE static inline
|
||||||
|
-# else
|
||||||
|
-# define su_INLINE inline
|
||||||
|
-# define su_SINLINE static inline
|
||||||
|
-# endif
|
||||||
|
-# elif su_CC_CLANG || su_CC_PCC
|
||||||
|
-# if defined __STDC_VERSION__ && __STDC_VERSION__ +0 >= 199901L
|
||||||
|
+# elif su_CC_CLANG || su_CC_GCC || su_CC_PCC
|
||||||
|
+# if defined __STDC_VERSION__ && __STDC_VERSION__ +0 >= 199901l
|
||||||
|
# if !defined NDEBUG || !defined __OPTIMIZE__
|
||||||
|
# define su_INLINE static inline
|
||||||
|
# define su_SINLINE static inline
|
||||||
|
@@ -340,8 +319,13 @@ do{\
|
||||||
|
# define su_SINLINE static inline __attribute__((always_inline))
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
-# define su_INLINE static __inline
|
||||||
|
-# define su_SINLINE static __inline
|
||||||
|
+# if su_CC_VCHECK_GCC(3, 1)
|
||||||
|
+# define su_INLINE static __inline __attribute__((always_inline))
|
||||||
|
+# define su_SINLINE static __inline __attribute__((always_inline))
|
||||||
|
+# else
|
||||||
|
+# define su_INLINE static __inline
|
||||||
|
+# define su_SINLINE static __inline
|
||||||
|
+# endif
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define su_INLINE static /* TODO __attribute__((unused)) alike? */
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
+45
@@ -0,0 +1,45 @@
|
|||||||
|
From 5429b9e343c808951b1418d8626e544c9dcb28de Mon Sep 17 00:00:00 2001
|
||||||
|
From: Steffen Nurpmeso <steffen@sdaoden.eu>
|
||||||
|
Date: Thu, 9 Jun 2022 18:06:04 +0800
|
||||||
|
Subject: [PATCH] su_INLINE: gcc: only GNU specifics after -Og
|
||||||
|
|
||||||
|
Upstream-Status: Backport[https://git.sdaoden.eu/browse/s-nail.git/commit/?id=c5544b66c3b4b2e161166562349908a07e324b38]
|
||||||
|
|
||||||
|
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||||
|
---
|
||||||
|
include/su/code.h | 17 +++++++++--------
|
||||||
|
1 file changed, 9 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/su/code.h b/include/su/code.h
|
||||||
|
index 4d552c1..9683f4a 100644
|
||||||
|
--- a/include/su/code.h
|
||||||
|
+++ b/include/su/code.h
|
||||||
|
@@ -309,16 +309,17 @@ do{\
|
||||||
|
# define su_INLINE inline
|
||||||
|
# define su_SINLINE inline
|
||||||
|
# elif su_CC_GCC
|
||||||
|
- /* After lots of trouble with OpenBSD/gcc 4.2.1 and SunOS/gcc 3.4.3 */
|
||||||
|
-# if !su_CC_VCHECK_GCC(3, 2) /* Unsure: only used C++ at that time */
|
||||||
|
-# define su_INLINE extern __inline
|
||||||
|
-# define su_SINLINE static __inline
|
||||||
|
-# elif !su_CC_VCHECK_GCC(4, 3)
|
||||||
|
+# if !su_CC_VCHECK_GCC(3, 1)
|
||||||
|
+# define su_INLINE extern __inline__
|
||||||
|
+# define su_SINLINE static __inline__
|
||||||
|
+# elif !defined __GNUC_GNU_INLINE__ /*4.1.3; !su_CC_VCHECK_GCC(4, 2)*/
|
||||||
|
# define su_INLINE extern __inline __attribute__((always_inline))
|
||||||
|
# define su_SINLINE static __inline __attribute__((always_inline))
|
||||||
|
- /* xxx gcc 8.3.0 bug: does not truly inline with -Os */
|
||||||
|
-# elif !su_CC_VCHECK_GCC(8, 3) || !defined __OPTIMIZE__ ||\
|
||||||
|
- !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L
|
||||||
|
+ /* gcc 8.3.0 bug: does not gracefully inline with -Os
|
||||||
|
+ * gcc 12.1.0 bug: ditto, -Og
|
||||||
|
+ * Thus: always gcc-specific! */
|
||||||
|
+# elif 1 /*!defined __OPTIMIZE__ || \
|
||||||
|
+ !defined __STDC_VERSION__ || __STDC_VERSION__ +0 < 199901L*/
|
||||||
|
# define su_INLINE extern __inline __attribute__((gnu_inline))
|
||||||
|
# define su_SINLINE static __inline __attribute__((gnu_inline))
|
||||||
|
# elif !defined NDEBUG || !defined __OPTIMIZE__
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
@@ -7,7 +7,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=87266591c81260f10221f1f38872d023"
|
|||||||
|
|
||||||
SRC_URI = "https://ftp.sdaoden.eu/${BP}.tar.xz \
|
SRC_URI = "https://ftp.sdaoden.eu/${BP}.tar.xz \
|
||||||
file://make-errors.patch \
|
file://make-errors.patch \
|
||||||
file://0001-make.rc-set-VAL_MTA.patch"
|
file://0001-make.rc-set-VAL_MTA.patch \
|
||||||
|
file://0001-su_INLINE-gcc-only-GNU-specifics-after-Og.patch \
|
||||||
|
file://0001-su_INLINE-eh-no-give-up-share-detection.patch \
|
||||||
|
"
|
||||||
SRC_URI[sha256sum] = "2714d6b8fb2af3b363fc7c79b76d058753716345d1b6ebcd8870ecd0e4f7ef8c"
|
SRC_URI[sha256sum] = "2714d6b8fb2af3b363fc7c79b76d058753716345d1b6ebcd8870ecd0e4f7ef8c"
|
||||||
|
|
||||||
DEPENDS = "coreutils-native"
|
DEPENDS = "coreutils-native"
|
||||||
|
|||||||
Reference in New Issue
Block a user