Descriptionruntime: 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.
Patch Set 1 #Patch Set 2 : diff -r 8a06080d0d9b0e425f5d87f30182cde9be949386 https://code.google.com/p/gofrontend/ #
Total comments: 2
Patch Set 3 : diff -r 8a06080d0d9b0e425f5d87f30182cde9be949386 https://code.google.com/p/gofrontend/ #Patch Set 4 : diff -r 8a06080d0d9b0e425f5d87f30182cde9be949386 https://code.google.com/p/gofrontend/ #MessagesTotal messages: 5
|