mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 22:37:14 +08:00
2a9511a026
The change 699429e60f that allows the
constructor attribute to not be optimized out on gccgo has resulted in a
warning when compiling on the golang compiler.
```
./nsenter.go: In function ‘_cgo_51505a0edd5d_Cfunc_init’:
./nsenter.go:40:49: warning: unused variable ‘a’ [-Wunused-variable]
```
the generated code produced an unused struct like:
```
void
_cgo_d6cfae95ae01_Cfunc_init (void *v)
{
struct
{
char unused;
} __attribute__ ((__packed__, __gcc_struct__)) * a = v;
init ();
}
```
Truly the "fix" would be upstream in cgo. If it knows it is producing an
unused struct, then it should also include __attribute__ ((unused))
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
nsenter
The nsenter package registers a special init constructor that is called before the Go runtime has
a chance to boot. This provides us the ability to setns on existing namespaces and avoid the issues
that the Go runtime has with multiple threads. This constructor is only called if this package is
registered, imported, in your go application and the argv 0 is nsenter.