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. I list some other options at http://gcc.gnu.org/wiki/SplitStacks under "Possible strategies." Ian