develooper Front page | perl.perl5.porters | Postings from December 2012


Thread Previous | Thread Next
Jarkko Hietaniemi
December 3, 2012 14:35
Message ID:
> I get the same failures with or without ithreads. I have a nasty suspicion
> that -DPERL_GLOBAL_STRUCT_PRIVATE may always only have actually have worked
> due to the nasal daemons being lethargic. :-(

Well, I am pretty certain that in Symbian it did work 100%, because if 
it hadn't, the executable would not have run in Symbian, which it did.
And here I define "work" as what the Symbian link discipline required:
no global writable data allowed, none.  And how it was done was that
the main() held all the roots, through which all data was accessed.

What might be going on is that Symbian did not use/need all the same
global data that the Linux uses/needs, and some therefore escaped.

The nm trick is the best one I know of, and that what I used back then 
to develop/debug my code (since the Symbian development environment was 
pretty much compile-and-link only).

> I'm really not sure how to fix it. Careful special casing of all the
> bootstrap/teardown code that has to run before the private global structure
> is allocated, and after it is deallocated?

By definition no variables (as in Perl variables) can exist before the 
global structure, and no variables can exist after.

> Nicholas Clark

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About