mirror of
https://github.com/golang/go
synced 2024-11-22 14:15:05 -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:
parent
2281ca169c
commit
db89e19d26
@ -37,6 +37,12 @@ threadentry(void *v)
|
|||||||
|
|
||||||
ts.g->stackbase = (uintptr)&ts;
|
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
|
* Set specific keys. On FreeBSD/ELF, the thread local storage
|
||||||
* is just before %fs:0. Our dynamic 6.out's reserve 16 bytes
|
* is just before %fs:0. Our dynamic 6.out's reserve 16 bytes
|
||||||
|
Loading…
Reference in New Issue
Block a user