Description of problem: ARM do not implement the needed ucontext functions, and need to use the default setjmp method. This is normally the default, except that fedora patches it to hardwire ucontext as default method.. Version-Release number of selected component (if applicable): perl-Coro-5.372-3.fc15 How reproducible: always Steps to Reproduce: 1. Try to rebuild perl-Coro on arm 2. 3. Actual results: failed build, crashing in testsuite Expected results: successful build Additional info: Trivial spec file patch attached. Please apply patch and sumbit a F15 koji build from which arm can pull the srpm. update request is not stricty needed if the only change relative to current F15 build is this patch.
Hi Henrik, Isn't the attachment missing ?
Created attachment 531517 [details] Disable ucontext forced default on arm, using normal setjmp default. Indeed. Could have sworn I added it when filing the bug.
Nicolas, thank you for taking it. I found I cannot rebuild it in F17 because SELinux denies executable non-text memory. I haven't found what to do yet. (A pax marker?)
perl-Coro-5.372-6.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/perl-Coro-5.372-6.fc16
perl-Coro-5.372-4.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/perl-Coro-5.372-4.fc15
Created attachment 531681 [details] Disable FORTIFY_SOURCE on ARM, incompatible with how setjmp is used. Thanks. Unfortunately it turns out additional changes is needed on arm. The way Coro uses setjmp is incompatible with FORTIFY_SOURCE.
Package perl-Coro-5.372-4.fc15: * should fix your issue, * was pushed to the Fedora 15 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing perl-Coro-5.372-4.fc15' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2011-15373 then log in and leave karma (feedback).
(In reply to comment #6) > Created attachment 531681 [details] > Disable FORTIFY_SOURCE on ARM, incompatible with how setjmp is used. > > Thanks. Unfortunately it turns out additional changes is needed on arm. The way > Coro uses setjmp is incompatible with FORTIFY_SOURCE. Is this a build or runtime issue ? Can we have additional info about wgy it fails with FORTIFY_SOURCE ?
It's a runtime issue detected by the test suite. I by accident did not have FORTIFY_SOURCE enabled when testing the first change. Coro (and pth) both abuses setjmp in the same manner for establishing new stacks per context, but with FORTIFY_SOURCE enabled glibc verifies that setjmp only sets the stack pointer to an earlier stack frame in the current stack and aborts if the stack change looks odd. *** longjmp causes uninitialized stack frame ***: /usr/bin/perl terminated it's a valid error message in normal specified use of setjmp, but do not apply to the special (outside specifications) use by Coro for establishing another stack context entirely, outside the current stack.
perl-Coro-5.372-6.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
This appears to be broken again in F17 and Rawhide.
(In reply to comment #11) > Created attachment 531681 [details] > Disable FORTIFY_SOURCE on ARM, incompatible with how setjmp is used. This patch didn't make it into the F17 and Rawhide version and compile fails with the "*** longjmp causes uninitialized stack frame ***: /usr/bin/perl terminated" message. Re-applying the patch allows the package to be built.
perl-Coro-6.07-3.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/FEDORA-2012-2192/perl-Coro-6.07-3.fc17
Thanks, perl-Coro-6.07-3.fc17 builds successfully on ARM.
perl-Coro-6.07-3.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.