aboutsummaryrefslogtreecommitdiff
path: root/libgcc/libgcc2.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2014-09-22 21:14:43 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2014-09-22 21:14:43 +0000
commit76deefd0cd9c4066f2f7000b9b7fb475bddcc5c9 (patch)
tree082a0c27401b1c808011f524ac48284b258eb287 /libgcc/libgcc2.c
parentd87fc699839f068bc14ea189bc2aba4afc986a9c (diff)
downloadgcc-76deefd0cd9c4066f2f7000b9b7fb475bddcc5c9.zip
gcc-76deefd0cd9c4066f2f7000b9b7fb475bddcc5c9.tar.gz
gcc-76deefd0cd9c4066f2f7000b9b7fb475bddcc5c9.tar.bz2
runtime: Mark runtime_goexit function as noinline.
If the compiler inlines this function into kickoff, it may reuse the TLS block address to load g. However, this is not necessarily correct, as the call to g->entry in kickoff may cause the TLS address to change. If the wrong value is loaded for g->status in runtime_goexit, it may cause a runtime panic. By marking the function as noinline we prevent the compiler from reusing the TLS address. From-SVN: r215484
Diffstat (limited to 'libgcc/libgcc2.c')
0 files changed, 0 insertions, 0 deletions