aboutsummaryrefslogtreecommitdiff
path: root/libgo/MERGE
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2014-05-29 00:03:30 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2014-05-29 00:03:30 +0000
commitd76a1885bd4738696ea7e9374cf283aaf0921cce (patch)
tree4d779d266d02877f0745ae648992e2b0bc6c2c4e /libgo/MERGE
parent93c521ea9cf06574be59d946d160938accc4eb4c (diff)
downloadgcc-d76a1885bd4738696ea7e9374cf283aaf0921cce.zip
gcc-d76a1885bd4738696ea7e9374cf283aaf0921cce.tar.gz
gcc-d76a1885bd4738696ea7e9374cf283aaf0921cce.tar.bz2
runtime: disable split stacks for runtime_printf function under Clang
LLVM's code generator does not currently support split stacks for vararg functions, so we disable split stacks for the only function that uses this feature under Clang. This appears to be OK as long as: - this function only calls non-inlined, internal-linkage (hence no dynamic loader) functions compiled with split stacks (i.e. go_vprintf), which can allocate more stack space as required; - this function itself does not occupy more than BACKOFF bytes of stack space (see libgcc/config/i386/morestack.S). These conditions are currently known to be satisfied by Clang on x86-32 and x86-64. Note that signal handlers receive slightly less stack space than they would normally do if they happen to be called while this function is being run. If this turns out to be a problem we could consider increasing BACKOFF. From-SVN: r211037
Diffstat (limited to 'libgo/MERGE')
0 files changed, 0 insertions, 0 deletions