linux: include musl 'getpagesize' function in release

I wonder why nobody else noticed this bug? In any case, this patch fixes it.
This commit is contained in:
Ayke van Laethem
2022-10-09 14:48:45 +02:00
committed by Ron Evans
parent f866d5cc38
commit 9de757205f
6 changed files with 24 additions and 13 deletions
+11 -5
View File
@@ -106,7 +106,7 @@ var Musl = Library{
}
},
sourceDir: func() string { return filepath.Join(goenv.Get("TINYGOROOT"), "lib/musl/src") },
librarySources: func(target string) []string {
librarySources: func(target string) ([]string, error) {
arch := compileopts.MuslArchitecture(target)
globs := []string{
"env/*.c",
@@ -125,11 +125,14 @@ var Musl = Library{
"stdio/*.c",
"string/*.c",
"thread/" + arch + "/*.s",
"thread/" + arch + "/*.c",
"thread/*.c",
"time/*.c",
"unistd/*.c",
}
if arch == "arm" {
// These files need to be added to the start for some reason.
globs = append([]string{"thread/arm/*.c"}, globs...)
}
var sources []string
seenSources := map[string]struct{}{}
@@ -143,13 +146,16 @@ var Musl = Library{
// > ErrBadPattern, when pattern is malformed.
// So the only possible error is when the (statically defined)
// pattern is wrong. In other words, a programming bug.
panic("could not glob source dirs: " + err.Error())
return nil, fmt.Errorf("musl: could not glob source dirs: %w", err)
}
if len(matches) == 0 {
return nil, fmt.Errorf("musl: did not find any files for pattern %#v", pattern)
}
for _, match := range matches {
relpath, err := filepath.Rel(basepath, match)
if err != nil {
// Not sure if this is even possible.
panic(err)
return nil, err
}
// Make sure architecture specific files override generic files.
id := strings.ReplaceAll(relpath, "/"+arch+"/", "/")
@@ -161,7 +167,7 @@ var Musl = Library{
sources = append(sources, relpath)
}
}
return sources
return sources, nil
},
crt1Source: "../crt/crt1.c", // lib/musl/crt/crt1.c
}