in reply to Re: From whence comes perl-5.8.6-smartmatch.tar?
in thread From whence comes perl-5.8.6-smartmatch.tar?

I've also been pondering if there's some rude way for me to manually resolve those symbols are runtime, even if they're not exported.

The simple answer is no. Unfortunately, the complicated answer is no also ;(

There really is no way to know where a piece of code has been stuffed in a dll if it's entrypoint is not exported.

The real answer here is to export all the entrypoints. It costs (almost) nothing to do and so what if people can call entrypoints that are not documented as public? If those entrypoints go away or change, and their code breaks--it's their problem.

Given that there isn't anyway to police this on most platforms including the 'reference platform', it's very much at odds with Perl's usual permissive stance, and very unfair on user of those few platforms that can enforce it.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."
  • Comment on Re^2: From whence comes perl-5.8.6-smartmatch.tar?

Replies are listed 'Best First'.
Re^3: From whence comes perl-5.8.6-smartmatch.tar?
by xmath (Hermit) on Jan 09, 2007 at 16:38 UTC
    There really is no way to know where a piece of code has been stuffed in a dll if it's entrypoint is not exported.
    No debugging symbols or whatever?

    The real answer here is to export all the entrypoints.
    I agree

      No debugging symbols or whatever?

      Not unless the dll was built for debugging. For example, the first of the missing exports in the OP is _Perl_av_reify referenced in function _da_refgen, and searching perl58.dll for "reify" turns up nothing:

      C:\Perl\bin>strings perl58.dll | find "reify"

      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.