mirror of
https://git.yoctoproject.org/poky
synced 2026-04-19 06:32:13 +02:00
perl: Fix build with gcc-12
Fix the build failure when debug build is enabled.
Add DEBUG_BUILD = "1" in conf/local.conf.
$ bitbake perl
| In function 'dynprep',
inlined from 'S_sortsv_flags_impl' at pp_sort.c:358:20,
inlined from 'sortsv_amagic_i_ncmp' at pp_sort.c:572:5:
| pp_sort.c:1232:1: error: inlining failed in call to 'always_inline' 'S_amagic_i_ncmp': function not considered for inlining
| 1232 | S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
(From OE-Core rev: 880296e68cfd92cfd4c9474972c8d8e6f21a2a40)
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
366e7e620b
commit
b4a12cfb9c
@@ -0,0 +1,143 @@
|
||||
From ee957eb9e4ec29a462cdbb2f3bbe29d4270534ef Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Thu, 2 Jun 2022 13:01:37 +0800
|
||||
Subject: [PATCH] proto.h: Fix build with gcc-12
|
||||
|
||||
Fixes:
|
||||
In function 'dynprep',
|
||||
inlined from 'S_sortsv_flags_impl' at pp_sort.c:358:20,
|
||||
inlined from 'sortsv_amagic_i_ncmp' at pp_sort.c:572:5:
|
||||
pp_sort.c:1232:1: error: inlining failed in call to 'always_inline' 'S_amagic_i_ncmp': function not considered for inlining
|
||||
1232 | S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/Perl/perl5/pull/19808]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
---
|
||||
proto.h | 42 ++++++++++++++----------------------------
|
||||
1 file changed, 14 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/proto.h b/proto.h
|
||||
index faca6d1..3a76c04 100644
|
||||
--- a/proto.h
|
||||
+++ b/proto.h
|
||||
@@ -5606,50 +5606,43 @@ STATIC SSize_t S_unpack_rec(pTHX_ struct tempsym* symptr, const char *s, const c
|
||||
#endif
|
||||
#if defined(PERL_IN_PP_SORT_C)
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp(pTHX_ SV *const str1, SV *const str2);
|
||||
#define PERL_ARGS_ASSERT_AMAGIC_CMP \
|
||||
assert(str1); assert(str2)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_desc(pTHX_ SV *const str1, SV *const str2);
|
||||
#define PERL_ARGS_ASSERT_AMAGIC_CMP_DESC \
|
||||
assert(str1); assert(str2)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b);
|
||||
#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP \
|
||||
assert(a); assert(b)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_amagic_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
|
||||
#define PERL_ARGS_ASSERT_AMAGIC_I_NCMP_DESC \
|
||||
assert(a); assert(b)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp(pTHX_ SV *const a, SV *const b);
|
||||
#define PERL_ARGS_ASSERT_AMAGIC_NCMP \
|
||||
assert(a); assert(b)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_amagic_ncmp_desc(pTHX_ SV *const a, SV *const b);
|
||||
#define PERL_ARGS_ASSERT_AMAGIC_NCMP_DESC \
|
||||
assert(a); assert(b)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_cmp_desc(pTHX_ SV *const str1, SV *const str2);
|
||||
#define PERL_ARGS_ASSERT_CMP_DESC \
|
||||
assert(str1); assert(str2)
|
||||
#endif
|
||||
@@ -5671,51 +5664,44 @@ PERL_STATIC_FORCE_INLINE void S_sortsv_flags_impl(pTHX_ SV** array, size_t num_e
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp(pTHX_ SV *const a, SV *const b);
|
||||
#define PERL_ARGS_ASSERT_SV_I_NCMP \
|
||||
assert(a); assert(b)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_sv_i_ncmp_desc(pTHX_ SV *const a, SV *const b);
|
||||
#define PERL_ARGS_ASSERT_SV_I_NCMP_DESC \
|
||||
assert(a); assert(b)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp(pTHX_ SV *const a, SV *const b);
|
||||
#define PERL_ARGS_ASSERT_SV_NCMP \
|
||||
assert(a); assert(b)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_sv_ncmp_desc(pTHX_ SV *const a, SV *const b);
|
||||
#define PERL_ARGS_ASSERT_SV_NCMP_DESC \
|
||||
assert(a); assert(b)
|
||||
#endif
|
||||
|
||||
# if defined(USE_LOCALE_COLLATE)
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2);
|
||||
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE \
|
||||
assert(str1); assert(str2)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_amagic_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
|
||||
#define PERL_ARGS_ASSERT_AMAGIC_CMP_LOCALE_DESC \
|
||||
assert(str1); assert(str2)
|
||||
#endif
|
||||
|
||||
#ifndef PERL_NO_INLINE_FUNCTIONS
|
||||
-PERL_STATIC_FORCE_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2)
|
||||
- __attribute__always_inline__;
|
||||
+PERL_STATIC_FORCE_INLINE I32 S_cmp_locale_desc(pTHX_ SV *const str1, SV *const str2);
|
||||
#define PERL_ARGS_ASSERT_CMP_LOCALE_DESC \
|
||||
assert(str1); assert(str2)
|
||||
#endif
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -17,6 +17,7 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \
|
||||
file://0002-Constant-Fix-up-shebang.patch \
|
||||
file://determinism.patch \
|
||||
file://0001-cpan-Sys-Syslog-Makefile.PL-Fix-_PATH_LOG-for-determ.patch \
|
||||
file://0001-Fix-build-with-gcc-12.patch \
|
||||
"
|
||||
SRC_URI:append:class-native = " \
|
||||
file://perl-configpm-switch.patch \
|
||||
|
||||
Reference in New Issue
Block a user