[Rd] R uses private function in libc (PR#9107)
Thomas Lumley
tlumley at u.washington.edu
Fri Jul 28 19:48:02 CEST 2006
>
>
> In any case, as you can see, __libc_stack_end goes away completely by libc
> 2.3.6, and as noted in the follow-up I sent to this bug yesterday, the
> reasons one shouldn't use this symbol are quite clearly stated here:
>
> <http://www.mail-archive.com/debian-glibc@lists.debian.org/msg28253.html>
>
Only up to a point. We know that __libc_stack_end is not portable, but it
is being used to do something that is impossible to do portably: check
whether the C stack is about to overflow. Since there is no way to recover
from a C stack overflow, being able to prevent it is valuable.
Your fix disables this facility on all Linux systems, which may be
appropriate for your systems but is clearly undesirable as a change to R.
The real question is how to detect systems that do provide
__libc_stack_end and whether there is another non-portable way to do the
same thing on glibc versions that don't provide it.
-thomas
More information about the R-devel
mailing list