[ppc] Default stack size on ppc64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



For the OCaml packages on ppc64/ppc64le, we keep having bugs like this
one: https://bugzilla.redhat.com/show_bug.cgi?id=1204876

The OCaml compiler is quite recursive, and so it can easily overflow
the default stack.  For reasons that are not entirely clear this
happens only on ppc64/ppc64le (not on x86 or aarch64).  Perhaps POWER
stack frames are bigger, or the default stack size is smaller.

One way to "fix" this would be to modify every single ocaml-* spec
file to add:

%ifarch %{power64}
ulimit -s 65536
%endif

However that doesn't fix the problem for people running ocamlopt on
their own programs.  The issue was discussed upstream, but upstream
don't want to make the compiler stages less mutually recursive since
(a) it makes the code far more complex and (b) stack memory is just a
special use-case for ordinary memory so why should they?

Could we increase the default stack size on ppc64?

Or are there other alternatives?  (I thought briefly about carrying a
downstream compiler patch which does the equivalent of 'ulimit -s 65536'
inside the compiler).

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux