Skip to content

embed.pl: Add some constraints#24282

Open
khwilliamson wants to merge 2 commits intoPerl:bleadfrom
khwilliamson:more_embed_constraints
Open

embed.pl: Add some constraints#24282
khwilliamson wants to merge 2 commits intoPerl:bleadfrom
khwilliamson:more_embed_constraints

Conversation

@khwilliamson
Copy link
Copy Markdown
Contributor

I did some more grepping of the source to look for symbols that we can assume are undefined for general usage, cpan and darkpan. An example is PERL_EXT_POSIX (seeing that in the source prompted this endeavour). That symbol should only be defined when compiling the POSIX module, so any symbols created only while it is #defined, won't be visible to the outside world.

I looked for "/ \b PERL_ \w+ /x" and scanned through the list. The result are the symbols added here, which showed that 5 symbols this previously thought were visible everywhere actually aren't. So they are removed from the list.

  • This set of changes does not require a perldelta entry.

PERL_EXT_RE_BUILD was listed twice.  Remove the one where it was
unconditionally set false; retaining the more flexible, hence accurate,
one.
I did some more grepping of the source to look for symbols that we can
assume are undefined for general usage, cpan and darkpan.  An example is
PERL_EXT_POSIX (seeing that in the source prompted this endeavor).  That
symbol should only be defined when compiling the POSIX module, so any
symbols created only while it is #defined, won't be visible to the
outside world.

I looked for "/ \b PERL_ \w+ /x" and scanned through the list.  The
result are the symbols added here, which showed that 5 symbols this
previously thought were visible everywhere actually aren't.  So they are
removed from the list.
@tonycoz
Copy link
Copy Markdown
Contributor

tonycoz commented Mar 23, 2026

which showed that 5 symbols this previously thought were visible everywhere actually aren't. So they are removed from the list.

Some CPAN modules expect some of those to be available in some perl or another, but they provide their own definitions if they aren't visible.

For example https://metacpan.org/release/PALI/DBD-MariaDB-1.24/source/dbdimp.h#L301

From looking at the perl history these were only visible for a short sequence of development perls though of the modules I looked at they had their backup definition from when their use was introduced, eg perl5-dbi/DBD-MariaDB@4b19d2e#diff-2f528efd07df9e85de883393dbeca1d5a26c512b958a6e917311dde6733c4dad

I'd be inclined to make this defer-next-dev.

@khwilliamson khwilliamson added the defer-next-dev This PR should not be merged yet, but await the next development cycle label Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

defer-next-dev This PR should not be merged yet, but await the next development cycle

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants