build: check runtime link file

This commit is contained in:
visualfc
2024-06-07 20:33:31 +08:00
parent 92aee9b69c
commit 878b395e20
4 changed files with 33 additions and 10 deletions

9
c/c.go
View File

@@ -97,15 +97,6 @@ func Qsort(base Pointer, count, elem uintptr, compar func(a, b Pointer) Int)
// -----------------------------------------------------------------------------
//go:linkname Stdin stdin
var Stdin FilePtr
//go:linkname Stdout stdout
var Stdout FilePtr
//go:linkname Stderr stderr
var Stderr FilePtr
//go:linkname Printf C.printf
func Printf(format *Char, __llgo_va_list ...any) Int

15
c/c_default.go Normal file
View File

@@ -0,0 +1,15 @@
//go:build !linux
// +build !linux
package c
import _ "unsafe"
//go:linkname Stdin __stdinp
var Stdin FilePtr
//go:linkname Stdout __stdoutp
var Stdout FilePtr
//go:linkname Stderr __stderrp
var Stderr FilePtr

15
c/c_linux.go Normal file
View File

@@ -0,0 +1,15 @@
//go:build linux
// +build linux
package c
import _ "unsafe"
//go:linkname Stdin stdin
var Stdin FilePtr
//go:linkname Stdout stdout
var Stdout FilePtr
//go:linkname Stderr stderr
var Stderr FilePtr

View File

@@ -294,7 +294,9 @@ func linkMainPkg(pkg *packages.Package, pkgs []*aPackage, runtimeFiles []string,
dirty := false
if needRuntime && runtimeFiles != nil {
args = append(args, runtimeFiles...)
for _, file := range runtimeFiles {
args = appendLinkFiles(args, file)
}
} else {
dirty = true
fn := aPkg.LPkg.FuncOf(cl.RuntimeInit)