1
0
mirror of https://github.com/golang/go synced 2024-11-25 07:17:56 -07:00

runtime/cgo: fix stackguard on FreeBSD/amd64

A cursory reading of the cgo code suggests this
should be necessary, though I don't have access
to a FreeBSD machine for testing.

R=rsc, adg
CC=golang-dev
https://golang.org/cl/3746047
This commit is contained in:
Anthony Martin 2011-01-06 11:36:47 -05:00 committed by Russ Cox
parent 2281ca169c
commit db89e19d26

View File

@ -37,6 +37,12 @@ threadentry(void *v)
ts.g->stackbase = (uintptr)&ts;
/*
* libcgo_sys_thread_start set stackguard to stack size;
* change to actual guard pointer.
*/
ts.g->stackguard = (uintptr)&ts - ts.g->stackguard + 4096;
/*
* Set specific keys. On FreeBSD/ELF, the thread local storage
* is just before %fs:0. Our dynamic 6.out's reserve 16 bytes