]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/cgo: remove memset in _cgo_sys_thread_start on freebsd/arm
authorTobias Klauser <tklauser@distanz.ch>
Thu, 17 Mar 2022 21:39:53 +0000 (22:39 +0100)
committerTobias Klauser <tobias.klauser@gmail.com>
Fri, 18 Mar 2022 06:03:19 +0000 (06:03 +0000)
pthread_attr_init on freebsd properly initializes the pthread_attr,
there is no need to zero it before the call. The comment and code were
probably copied from the linux/arm implementation.

This aligns the implementation on freebsd/arm with the implementation on
other freebsd architectures.

Fixes #44248

Change-Id: If82ebb115b877b6c6f4862018a9419ba8d870f12
Reviewed-on: https://go-review.googlesource.com/c/go/+/393617
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Hajime Hoshi <hajimehoshi@gmail.com>
Trust: Hajime Hoshi <hajimehoshi@gmail.com>

src/runtime/cgo/gcc_freebsd_arm.c

index 74f2e0ede54a0824cb363814f83cad3c22b9d1e3..5f8997837990617cdbdf509f03e0a3ff56bb0789 100644 (file)
@@ -37,7 +37,6 @@ x_cgo_init(G *g, void (*setg)(void*))
        pthread_attr_destroy(&attr);
 }
 
-
 void
 _cgo_sys_thread_start(ThreadStart *ts)
 {
@@ -50,12 +49,7 @@ _cgo_sys_thread_start(ThreadStart *ts)
        SIGFILLSET(ign);
        pthread_sigmask(SIG_SETMASK, &ign, &oset);
 
-       // Not sure why the memset is necessary here,
-       // but without it, we get a bogus stack size
-       // out of pthread_attr_getstacksize. C'est la Linux.
-       memset(&attr, 0, sizeof attr);
        pthread_attr_init(&attr);
-       size = 0;
        pthread_attr_getstacksize(&attr, &size);
        // Leave stacklo=0 and set stackhi=size; mstart will do the rest.
        ts->g->stackhi = size;