Skip to content

Commit d033adf

Browse files
committed
Devel::PPPort: add PERL_STACK_REALIGN
This was causing build failures when building threads.pm against older perls.
1 parent 0cd3930 commit d033adf

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

dist/Devel-PPPort/PPPort_pm.PL

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -756,7 +756,7 @@ package Devel::PPPort;
756756
use strict;
757757
use vars qw($VERSION $data);
758758
759-
$VERSION = '3.72';
759+
$VERSION = '3.73';
760760
761761
sub _init_data
762762
{

dist/Devel-PPPort/parts/inc/misc

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ NVTYPE
2121
PERLIO_FUNCS_CAST
2222
PERLIO_FUNCS_DECL
2323
PERL_STATIC_INLINE
24+
PERL_STACK_REALIGN
2425
PERL_UNUSED_ARG
2526
PERL_UNUSED_CONTEXT
2627
PERL_UNUSED_DECL
@@ -49,6 +50,13 @@ __UNDEFINED__ PERL_STATIC_INLINE static inline
4950
__UNDEFINED__ PERL_STATIC_INLINE static
5051
#endif
5152

53+
/* work around a stack alignment bug in 32-bit GCC on Windows */
54+
#if defined(WIN32) && !defined(WIN64) && defined(__GNUC__)
55+
__UNDEFINED__ PERL_STACK_REALIGN __attribute__((force_align_arg_pointer))
56+
#else
57+
__UNDEFINED__ PERL_STACK_REALIGN
58+
#endif
59+
5260
__UNDEFINED__ cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
5361
__UNDEFINED__ OpHAS_SIBLING(o) (cBOOL((o)->op_sibling))
5462
__UNDEFINED__ OpSIBLING(o) (0 + (o)->op_sibling)
@@ -1165,6 +1173,9 @@ XS(XS_Devel__PPPort_dAXMARK)
11651173
XSRETURN(1);
11661174
}
11671175

1176+
/* just test the syntax */
1177+
PERL_STACK_REALIGN void foo(void);
1178+
11681179
=xsboot
11691180

11701181
{

0 commit comments

Comments
 (0)