!529 fix build failed due to Perl upgrade

From: @wangjiang37 
Reviewed-by: @lvying6 
Signed-off-by: @lvying6
This commit is contained in:
openeuler-ci-bot 2023-08-08 08:54:35 +00:00 committed by Gitee
commit 72e5174b3c
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 87 additions and 1 deletions

View File

@ -0,0 +1,79 @@
From 0212089f2742173bbb6b8f1c62b19cb9795629d4 Mon Sep 17 00:00:00 2001
From: Philip H <47042125+pheiduck@users.noreply.github.com>
Date: Thu, 22 Jun 2023 08:55:47 +0200
Subject: [PATCH] fix build failed due to Perl upgrade
Solution: https://github.com/vim/vim/pull/12575
---
src/if_perl.xs | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/if_perl.xs b/src/if_perl.xs
index 1afb1d4..9dbfdab 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -40,7 +40,7 @@
/* Work around for perl-5.18.
* Don't include "perl\lib\CORE\inline.h" for now,
* include it after Perl_sv_free2 is defined. */
-#ifdef DYNAMIC_PERL
+#if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
# define PERL_NO_INLINE_FUNCTIONS
#endif
@@ -397,14 +397,14 @@ static bool (*Perl_sv_2bool)(pTHX_ SV*);
static IV (*Perl_sv_2iv)(pTHX_ SV*);
static SV* (*Perl_sv_2mortal)(pTHX_ SV*);
# if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
-static char* (*Perl_sv_2pv_flags)(pTHX_ SV*, STRLEN*, I32);
+static char* (*Perl_sv_2pv_flags)(pTHX_ SV*, STRLEN* const, const U32);
static char* (*Perl_sv_2pv_nolen)(pTHX_ SV*);
# else
static char* (*Perl_sv_2pv)(pTHX_ SV*, STRLEN*);
# endif
static char* (*Perl_sv_2pvbyte)(pTHX_ SV*, STRLEN*);
# if (PERL_REVISION == 5) && (PERL_VERSION >= 32)
-static char* (*Perl_sv_2pvbyte_flags)(pTHX_ SV*, STRLEN*, I32);
+static char* (*Perl_sv_2pvbyte_flags)(pTHX_ SV*, STRLEN* const, const U32);
# endif
static SV* (*Perl_sv_bless)(pTHX_ SV*, HV*);
# if (PERL_REVISION == 5) && (PERL_VERSION >= 8)
@@ -705,7 +705,7 @@ S_POPMARK(pTHX)
# endif
/* perl-5.34 needs Perl_SvTRUE_common; used in SvTRUE_nomg_NN */
-# if (PERL_REVISION == 5) && (PERL_VERSION >= 34)
+# if (PERL_REVISION == 5) && (PERL_VERSION == 34)
PERL_STATIC_INLINE bool
Perl_SvTRUE_common(pTHX_ SV * sv, const bool sv_2bool_is_fallback)
{
@@ -732,7 +732,7 @@ Perl_SvTRUE_common(pTHX_ SV * sv, const bool sv_2bool_is_fallback)
# endif
/* perl-5.32 needs Perl_SvTRUE */
-# if (PERL_REVISION == 5) && (PERL_VERSION >= 32)
+# if (PERL_REVISION == 5) && (PERL_VERSION == 32)
PERL_STATIC_INLINE bool
Perl_SvTRUE(pTHX_ SV *sv) {
if (!LIKELY(sv))
@@ -1645,7 +1645,7 @@ Buffers(...)
PPCODE:
if (items == 0)
{
- if (GIMME == G_SCALAR)
+ if (GIMME_V == G_SCALAR)
{
i = 0;
FOR_ALL_BUFFERS(vimbuf)
@@ -1696,7 +1696,7 @@ Windows(...)
PPCODE:
if (items == 0)
{
- if (GIMME == G_SCALAR)
+ if (GIMME_V == G_SCALAR)
XPUSHs(sv_2mortal(newSViv(win_count())));
else
{
--
2.33.0

View File

@ -12,7 +12,7 @@
Name: vim
Epoch: 2
Version: 9.0
Release: 33
Release: 34
Summary: Vim is a highly configurable text editor for efficiently creating and changing any kind of text.
License: Vim and MIT
URL: http://www.vim.org
@ -97,6 +97,7 @@ Patch6066: backport-vim-7.0-rclocation.patch
Patch6067: backport-CVE-2023-2426.patch
Patch6068: backport-CVE-2023-2609.patch
Patch6069: backport-CVE-2023-2610.patch
Patch6070: backport-fix-build-failed-due-to-Perl-upgrade.patch
Patch9000: bugfix-rm-modify-info-version.patch
@ -504,6 +505,12 @@ LC_ALL=en_US.UTF-8 make -j1 test
%{_mandir}/man1/evim.*
%changelog
* Mon Aug 07 2023 wangjiang <wangjiang37@h-partners.com> - 2:9.0-34
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix build failed due to Perl upgrade
* Sat May 13 2023 wangjiang <wangjiang37@h-partners.com> - 2:9.0-33
- Type:CVE
- ID:CVE-2023-2609 CVE-2023-2610