1. Handle `sigsetjmp` platform differences:
- Separate `sigsetjmp` linkage to platform-specific files.
- Use `__sigsetjmp` on Linux to handle `sigsetjmp` being a macro.
- Maintain original implementation for Darwin.
2. Ensure linking of required libs:
- Explicitly link against fundamental libs (e.g., libm, libatomic).
- Address the fact that typical Linux linkers don't link these by
default.
13 lines
178 B
Go
13 lines
178 B
Go
//go:build linux
|
|
|
|
package setjmp
|
|
|
|
import (
|
|
_ "unsafe"
|
|
|
|
"github.com/goplus/llgo/c"
|
|
)
|
|
|
|
//go:linkname Sigsetjmp C.__sigsetjmp
|
|
func Sigsetjmp(env *SigjmpBuf, savemask c.Int) c.Int
|