0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 9.1.1096: if_perl: Perl 5.38 adds new symbols causing link failure

Problem:  if_perl: Perl 5.38 adds new symbols causing link failure
Solution: add stub symbols (Drew Vogel)

closes: #16611

Signed-off-by: Drew Vogel <dvogel@github>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Drew Vogel
2025-02-10 20:17:56 +01:00
committed by Christian Brabandt
parent 7de6b1bb56
commit 97baa1cfe8
2 changed files with 28 additions and 4 deletions

View File

@@ -192,7 +192,7 @@ typedef int perl_key;
# define Perl_croak_xs_usage dll_Perl_croak_xs_usage # define Perl_croak_xs_usage dll_Perl_croak_xs_usage
# endif # endif
# ifndef PROTO # ifndef PROTO
# ifdef PERL_IMPLICIT_CONTEXT # if defined(PERL_IMPLICIT_CONTEXT)
# define Perl_croak_nocontext dll_Perl_croak_nocontext # define Perl_croak_nocontext dll_Perl_croak_nocontext
# endif # endif
# define Perl_call_argv dll_Perl_call_argv # define Perl_call_argv dll_Perl_call_argv
@@ -312,6 +312,9 @@ typedef int perl_key;
# ifdef PERL_USE_THREAD_LOCAL # ifdef PERL_USE_THREAD_LOCAL
# define PL_current_context *dll_PL_current_context # define PL_current_context *dll_PL_current_context
# endif # endif
# if defined(DYNAMIC_PERL) && ((PERL_REVISION == 5) && (PERL_VERSION >= 38))
# define PL_memory_wrap *dll_PL_memory_wrap
# endif
# define Perl_hv_iternext_flags dll_Perl_hv_iternext_flags # define Perl_hv_iternext_flags dll_Perl_hv_iternext_flags
# define Perl_hv_iterinit dll_Perl_hv_iterinit # define Perl_hv_iterinit dll_Perl_hv_iterinit
# define Perl_hv_iterkey dll_Perl_hv_iterkey # define Perl_hv_iterkey dll_Perl_hv_iterkey
@@ -352,7 +355,7 @@ static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const para
__attribute__noreturn__; __attribute__noreturn__;
# endif # endif
# endif # endif
# ifdef PERL_IMPLICIT_CONTEXT # if defined(PERL_IMPLICIT_CONTEXT)
static void (*Perl_croak_nocontext)(const char*, ...) __attribute__noreturn__; static void (*Perl_croak_nocontext)(const char*, ...) __attribute__noreturn__;
# endif # endif
static I32 (*Perl_dowantarray)(pTHX); static I32 (*Perl_dowantarray)(pTHX);
@@ -484,6 +487,9 @@ static perl_key* (*Perl_Gthr_key_ptr)_((pTHX));
# ifdef PERL_USE_THREAD_LOCAL # ifdef PERL_USE_THREAD_LOCAL
static void** dll_PL_current_context; static void** dll_PL_current_context;
# endif # endif
# if defined(DYNAMIC_PERL) && ((PERL_REVISION == 5) && (PERL_VERSION >= 38))
static const char **dll_PL_memory_wrap;
# endif
static void (*boot_DynaLoader)_((pTHX_ CV*)); static void (*boot_DynaLoader)_((pTHX_ CV*));
static HE * (*Perl_hv_iternext_flags)(pTHX_ HV *, I32); static HE * (*Perl_hv_iternext_flags)(pTHX_ HV *, I32);
static I32 (*Perl_hv_iterinit)(pTHX_ HV *); static I32 (*Perl_hv_iterinit)(pTHX_ HV *);
@@ -636,6 +642,9 @@ static struct {
# ifdef PERL_USE_THREAD_LOCAL # ifdef PERL_USE_THREAD_LOCAL
{"PL_current_context", (PERL_PROC*)&dll_PL_current_context}, {"PL_current_context", (PERL_PROC*)&dll_PL_current_context},
# endif # endif
# if defined(DYNAMIC_PERL) && ((PERL_REVISION == 5) && (PERL_VERSION >= 38))
{"PL_memory_wrap", (PERL_PROC*)&dll_PL_memory_wrap},
# endif
# else # else
{"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr}, {"Perl_Idefgv_ptr", (PERL_PROC*)&Perl_Idefgv_ptr},
{"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr}, {"Perl_Ierrgv_ptr", (PERL_PROC*)&Perl_Ierrgv_ptr},
@@ -1475,6 +1484,19 @@ vim_IOLayer_init(void)
// during build time. Manually fix it here by redirecting these functions // during build time. Manually fix it here by redirecting these functions
// towards the dynamically loaded version. // towards the dynamically loaded version.
# if (PERL_REVISION == 5) && (PERL_VERSION >= 38)
# undef Perl_croak_nocontext
void Perl_croak_nocontext(const char *pat, ...)
{
dTHX;
va_list args;
va_start(args, pat);
(*dll_Perl_croak_nocontext)(pat, &args);
NOT_REACHED; /* NOTREACHED */
va_end(args);
}
# endif
# if (PERL_REVISION == 5) && (PERL_VERSION >= 18) # if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
# undef Perl_sv_free2 # undef Perl_sv_free2
void Perl_sv_free2(pTHX_ SV *const sv, const U32 refcnt) void Perl_sv_free2(pTHX_ SV *const sv, const U32 refcnt)

View File

@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1096,
/**/ /**/
1095, 1095,
/**/ /**/