[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.


More information about the R-devel mailing list