Ton Hospel <[EMAIL PROTECTED]> writes:
>Hi,
>
>I recently wanted to have several XS files in the same directory, and
>was following the method described in the ExtUtils::MakeMaker FAQ. That
>worked fine for two XS files, but from the third on, that started dumping
>core. As far as I could determine this is caused by the called extra boot
>code popping marks and there soon not being enough marks. By adding a
>PUSHMARK(SP); before every line added in the BOOT: section things started
>working properly.

Your analysis is ok.
But doing a PUSHMARK(SP) does not pass any args.
Normal boot_xxx could expect class name and version 
as args.


>
>This was for the module Graph::Layout::Aesthetic, which now ends like:
>
>BOOT:
>  PUSHMARK(SP);
>  boot_Graph__Layout__Aesthetic__Force__Centripetal(aTHX_ cv);
>
>  PUSHMARK(SP);
>  boot_Graph__Layout__Aesthetic__Force__NodeRepulsion(aTHX_ cv);
>
>  PUSHMARK(SP);
>  boot_Graph__Layout__Aesthetic__Force__NodeEdgeRepulsion(aTHX_ cv);
>
>  ....(more of these)...
>
>
>Please update the FAQ if you agree with my analysis and solution.

Reply via email to