Comment: Re:corehackers (Score 1) on 2010.08.28 7:16
I believe it was in my github perl as oplines branch, but got lost.
Only my local-op branch is there.
I believe it was in my github perl as oplines branch, but got lost.
Only my local-op branch is there.
Wrong. It was not -fstack-protector.
I fixed it somehow, unfortunately I don't know which change fixed it.
Lesson learned (again): Always prefer a stricter system over the lax linux. If its mingw, cygwin or solaris, linux should NOT be used for development, as you don't detect serious bugs with it.
Finally I got the B Debugger working as I wanted it to work.
Od - Debug a Perl Compiler backend
perl -d -MOd=Backend[,OPTIONS] foo.pl
$ perl -d -MOd=C foo.pl
Od::CODE(0x154c5a0)((eval 9)[lib/Od.pm:33]:25):
25: &$compilesub();
DB 1 s
B::C::CODE(0x12c0aa0)(lib/B/C.pm:3163):
3163: return sub { save_main() };
DB 1 s
B::C::save_main(lib/B/C.pm:2881):
2881: my $warner = $SIG{__WARN__};
On December 18, 1987 Larry Wall released Perl 1 to the public. 1995 Malcolm Beattie took the chance to win a laptop and wrote the Perl compiler until 1997, which compiled to bytecode (.plc and
On Mai 7, 2007 the compiler suite was removed from CORE, and I took the chance to port it to 5.10, fix most of the remaining bugs and improve it.
I had the convincing idea of a better B::Debugger, so I stood up and began to write Od.
Like this:
==================
This module is used as debugging replacement to C, the Perl Compiler frontend.
Debugging is done in two steps, first you store a optree dump in the CHECK stage into C, or the dumpfile specified with the C option, and the Compiler backend is never called.
Then you load the dump into the INIT stage and continue.
Together with Nick Koston from cPanel we made big compiler progress today.
As I found out, 5.6.2 compiles flawlessly huge modules, just a few optimizations should be added, esp. sharing method name strings, "package::name".
So I enabled 5.6 also. Just getting the linker line right might be tricky from platform to platform on 5.6. ExtUtils::Embed is a nightmare on 5.6.
Back in 1998 Gisle Aas prepared a graphical overview of all the major internal perl structures, as described in perlguts.pod
However this all changed with 5.10, and since nobody else did it and I helps me immensely to work on the compiler, I updated illguts ("illustrated guts") to the current perl state.
Verified that indeed -fstack-protector on Cygwin gcc "4.3.4 20090804 (release) 1" is the culprit on my new ByteLoader failures.
On my debian gcc "Debian 4.3.2-1.1" adding -fstack-protector works fine.
So I check for that now. I'll have to remove that from my perl also, so I can release 5.10.1 finally.
perl has a native compiler, it just doesn't work for 5.10 and blead yet. I'm working on it in my rare spare time, but now it's winter time and I was motivated by a company which needs it.
The new cygwin gcc-4.3 has obviously still some bugs, because the B::Bytecode compiler suddenly smashes the stack, but on other platforms it still works okay.
Anyway, it does not work since a while. Some random notes for debugging this:
Sure. Because of the obscenely low social standards in the US.
No standard health care access, female education, armed conflicts and "cultural practices". (just citing the CNN report)
Thanks for the tip, but cloning the parrot repo with git svn did last about 24 hours. I wouldn't recommend that.
From time to time I want a clean svn repo again, esp. for parrot.
Something like a make distclean if that would work in parrot.
I could delete all files which are not in MANIFEST, but easier is this simple svn hack, svn-cleanup
After several months of hacking and testing I updated the cygwin package for parrot-0.8.2, which is equivalent to the pdd30install_stage3 branch.
Get it via http://cygwin.com/setup.exe
See http://www.parrot.org/news/2008/Parrot-0.8.2
http://www.parrot.org/news/vision-for-1_0 and