On 28 Sep 2010, at 17:29, Ian Lance Taylor wrote:

Jack Howarth <howa...@bromo.med.uc.edu> writes:

Does the new split stack feature in gcc trunk absolutely require additional libc support to function or can it be made to work on other targets like
darwin with just changes to libgcc? Thanks in advance for any
clarifications.

The additional support that it needs is a thread local place to store
the stack bound which can be accessed efficiently.  On GNU/Linux I'm
using a word in the thread block--I've actually stolen a word which was
reserved for transactional memory but which RTH says he doesn't need.
This can be accessed as an offset from %fs or %gs.  To make this
functionality work on Darwin, you need something similar. I don't know how thread local storage works on Darwin, so I don't know if you can do
something similar.

We have emulated TLS (Richard's new code) .

I list some other options at http://gcc.gnu.org/wiki/SplitStacks under
"Possible strategies.


I sincerely doubt something this involved can be accommodated in the remaining time of stage 1
(unless we magic some additional Darwin devs from somewhere ;-))

Iain

Reply via email to