mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-09-10 06:29:32 +00:00
all: update picolibc to latest main
This commit is contained in:
+86
-92
@@ -20,29 +20,31 @@ var libPicolibc = Library{
|
||||
return f.Close()
|
||||
},
|
||||
cflags: func(target, headerPath string) []string {
|
||||
newlibDir := filepath.Join(goenv.Get("TINYGOROOT"), "lib/picolibc/newlib")
|
||||
picolibcDir := filepath.Join(goenv.Get("TINYGOROOT"), "lib/picolibc")
|
||||
return []string{
|
||||
"-Werror",
|
||||
"-Wall",
|
||||
"-std=gnu11",
|
||||
"-D_COMPILING_NEWLIB",
|
||||
"-D_HAVE_ALIAS_ATTRIBUTE",
|
||||
"-DTINY_STDIO",
|
||||
"-D__TINY_STDIO",
|
||||
"-D_XOPEN_SOURCE=700",
|
||||
"-DPOSIX_IO",
|
||||
"-DFORMAT_DEFAULT_INTEGER", // use __i_vfprintf and __i_vfscanf by default
|
||||
"-D_IEEE_LIBM",
|
||||
"-D__IO_DEFAULT='i'", // use __i_vfprintf and __i_vfscanf by default
|
||||
"-D__IEEE_LIBM",
|
||||
"-D__OBSOLETE_MATH_FLOAT=1", // use old math code that doesn't expect a FPU
|
||||
"-D__OBSOLETE_MATH_DOUBLE=0",
|
||||
"-D_WANT_IO_C99_FORMATS",
|
||||
"-D__PICOLIBC_ERRNO_FUNCTION=__errno_location",
|
||||
"-nostdlibinc",
|
||||
"-isystem", newlibDir + "/libc/include",
|
||||
"-I" + newlibDir + "/libc/tinystdio",
|
||||
"-I" + newlibDir + "/libm/common",
|
||||
"-isystem", picolibcDir + "/libc/include",
|
||||
"-I" + picolibcDir + "/libc/stdio",
|
||||
"-I" + picolibcDir + "/libc/locale",
|
||||
"-I" + picolibcDir + "/libm/common",
|
||||
"-I" + headerPath,
|
||||
}
|
||||
},
|
||||
sourceDir: func() string { return filepath.Join(goenv.Get("TINYGOROOT"), "lib/picolibc/newlib") },
|
||||
sourceDir: func() string { return filepath.Join(goenv.Get("TINYGOROOT"), "lib/picolibc") },
|
||||
librarySources: func(target string, _ bool) ([]string, error) {
|
||||
sources := append([]string(nil), picolibcSources...)
|
||||
if !strings.HasPrefix(target, "avr") {
|
||||
@@ -59,7 +61,7 @@ var libPicolibc = Library{
|
||||
}
|
||||
|
||||
var picolibcSources = []string{
|
||||
"../../picolibc-stdio.c",
|
||||
"../picolibc-stdio.c",
|
||||
|
||||
"libc/string/bcmp.c",
|
||||
"libc/string/bcopy.c",
|
||||
@@ -126,7 +128,6 @@ var picolibcSources = []string{
|
||||
"libc/string/swab.c",
|
||||
"libc/string/timingsafe_bcmp.c",
|
||||
"libc/string/timingsafe_memcmp.c",
|
||||
"libc/string/u_strerr.c",
|
||||
"libc/string/wcpcpy.c",
|
||||
"libc/string/wcpncpy.c",
|
||||
"libc/string/wcscasecmp.c",
|
||||
@@ -168,83 +169,81 @@ var picolibcSources = []string{
|
||||
|
||||
// Parts of picolibc that are too large for small AVRs.
|
||||
var picolibcSourcesLarge = []string{
|
||||
// srcs_tinystdio
|
||||
"libc/tinystdio/asprintf.c",
|
||||
"libc/tinystdio/bufio.c",
|
||||
"libc/tinystdio/clearerr.c",
|
||||
"libc/tinystdio/ecvt_r.c",
|
||||
"libc/tinystdio/ecvt.c",
|
||||
"libc/tinystdio/ecvtf_r.c",
|
||||
"libc/tinystdio/ecvtf.c",
|
||||
"libc/tinystdio/fcvt.c",
|
||||
"libc/tinystdio/fcvt_r.c",
|
||||
"libc/tinystdio/fcvtf.c",
|
||||
"libc/tinystdio/fcvtf_r.c",
|
||||
"libc/tinystdio/gcvt.c",
|
||||
"libc/tinystdio/gcvtf.c",
|
||||
"libc/tinystdio/fclose.c",
|
||||
"libc/tinystdio/fdevopen.c",
|
||||
"libc/tinystdio/feof.c",
|
||||
"libc/tinystdio/ferror.c",
|
||||
"libc/tinystdio/fflush.c",
|
||||
"libc/tinystdio/fgetc.c",
|
||||
"libc/tinystdio/fgets.c",
|
||||
"libc/tinystdio/fileno.c",
|
||||
"libc/tinystdio/filestrget.c",
|
||||
"libc/tinystdio/filestrput.c",
|
||||
"libc/tinystdio/filestrputalloc.c",
|
||||
"libc/tinystdio/fmemopen.c",
|
||||
"libc/tinystdio/fprintf.c",
|
||||
"libc/tinystdio/fputc.c",
|
||||
"libc/tinystdio/fputs.c",
|
||||
"libc/tinystdio/fread.c",
|
||||
//"libc/tinystdio/freopen.c", // crashes with AVR, see: https://github.com/picolibc/picolibc/pull/369
|
||||
"libc/tinystdio/fscanf.c",
|
||||
"libc/tinystdio/fseek.c",
|
||||
"libc/tinystdio/fseeko.c",
|
||||
"libc/tinystdio/ftell.c",
|
||||
"libc/tinystdio/ftello.c",
|
||||
"libc/tinystdio/fwrite.c",
|
||||
"libc/tinystdio/getchar.c",
|
||||
"libc/tinystdio/gets.c",
|
||||
"libc/tinystdio/matchcaseprefix.c",
|
||||
"libc/tinystdio/mktemp.c",
|
||||
"libc/tinystdio/perror.c",
|
||||
"libc/tinystdio/printf.c",
|
||||
"libc/tinystdio/putchar.c",
|
||||
"libc/tinystdio/puts.c",
|
||||
"libc/tinystdio/rewind.c",
|
||||
"libc/tinystdio/scanf.c",
|
||||
"libc/tinystdio/setbuf.c",
|
||||
"libc/tinystdio/setbuffer.c",
|
||||
"libc/tinystdio/setlinebuf.c",
|
||||
"libc/tinystdio/setvbuf.c",
|
||||
"libc/tinystdio/snprintf.c",
|
||||
"libc/tinystdio/sprintf.c",
|
||||
"libc/tinystdio/snprintfd.c",
|
||||
"libc/tinystdio/snprintff.c",
|
||||
"libc/tinystdio/sprintff.c",
|
||||
"libc/tinystdio/sprintfd.c",
|
||||
"libc/tinystdio/sscanf.c",
|
||||
"libc/tinystdio/strfromf.c",
|
||||
"libc/tinystdio/strfromd.c",
|
||||
"libc/tinystdio/strtof.c",
|
||||
"libc/tinystdio/strtof_l.c",
|
||||
"libc/tinystdio/strtod.c",
|
||||
"libc/tinystdio/strtod_l.c",
|
||||
"libc/tinystdio/ungetc.c",
|
||||
"libc/tinystdio/vasprintf.c",
|
||||
"libc/tinystdio/vfiprintf.c",
|
||||
"libc/tinystdio/vfprintf.c",
|
||||
"libc/tinystdio/vfprintff.c",
|
||||
"libc/tinystdio/vfscanf.c",
|
||||
"libc/tinystdio/vfiscanf.c",
|
||||
"libc/tinystdio/vfscanff.c",
|
||||
"libc/tinystdio/vprintf.c",
|
||||
"libc/tinystdio/vscanf.c",
|
||||
"libc/tinystdio/vsscanf.c",
|
||||
"libc/tinystdio/vsnprintf.c",
|
||||
"libc/tinystdio/vsprintf.c",
|
||||
// srcs_stdio
|
||||
"libc/stdio/asprintf.c",
|
||||
"libc/stdio/bufio.c",
|
||||
"libc/stdio/clearerr.c",
|
||||
"libc/stdio/ecvt_r.c",
|
||||
"libc/stdio/ecvt.c",
|
||||
"libc/stdio/ecvtf_r.c",
|
||||
"libc/stdio/ecvtf.c",
|
||||
"libc/stdio/fcvt.c",
|
||||
"libc/stdio/fcvt_r.c",
|
||||
"libc/stdio/fcvtf.c",
|
||||
"libc/stdio/fcvtf_r.c",
|
||||
"libc/stdio/gcvt.c",
|
||||
"libc/stdio/gcvtf.c",
|
||||
"libc/stdio/fclose.c",
|
||||
"libc/stdio/fdevopen.c",
|
||||
"libc/stdio/feof.c",
|
||||
"libc/stdio/ferror.c",
|
||||
"libc/stdio/fflush.c",
|
||||
"libc/stdio/fgetc.c",
|
||||
"libc/stdio/fgets.c",
|
||||
"libc/stdio/fileno.c",
|
||||
"libc/stdio/filestrget.c",
|
||||
"libc/stdio/filestrput.c",
|
||||
"libc/stdio/filestrputalloc.c",
|
||||
"libc/stdio/fmemopen.c",
|
||||
"libc/stdio/fprintf.c",
|
||||
"libc/stdio/fputc.c",
|
||||
"libc/stdio/fputs.c",
|
||||
"libc/stdio/fread.c",
|
||||
//"libc/stdio/freopen.c", // crashes with AVR, see: https://github.com/picolibc/picolibc/pull/369
|
||||
"libc/stdio/fscanf.c",
|
||||
"libc/stdio/fseek.c",
|
||||
"libc/stdio/fseeko.c",
|
||||
"libc/stdio/ftell.c",
|
||||
"libc/stdio/ftello.c",
|
||||
"libc/stdio/fwrite.c",
|
||||
"libc/stdio/getchar.c",
|
||||
"libc/stdio/gets.c",
|
||||
"libc/stdio/matchcaseprefix.c",
|
||||
"libc/stdio/mktemp.c",
|
||||
"libc/stdio/perror.c",
|
||||
"libc/stdio/printf.c",
|
||||
"libc/stdio/putchar.c",
|
||||
"libc/stdio/puts.c",
|
||||
"libc/stdio/rewind.c",
|
||||
"libc/stdio/scanf.c",
|
||||
"libc/stdio/setbuf.c",
|
||||
"libc/stdio/setbuffer.c",
|
||||
"libc/stdio/setlinebuf.c",
|
||||
"libc/stdio/setvbuf.c",
|
||||
"libc/stdio/snprintf.c",
|
||||
"libc/stdio/sprintf.c",
|
||||
"libc/stdio/snprintfd.c",
|
||||
"libc/stdio/snprintff.c",
|
||||
"libc/stdio/sprintff.c",
|
||||
"libc/stdio/sprintfd.c",
|
||||
"libc/stdio/sscanf.c",
|
||||
"libc/stdio/strfromf.c",
|
||||
"libc/stdio/strfromd.c",
|
||||
"libc/stdio/strtof.c",
|
||||
"libc/stdio/strtof_l.c",
|
||||
"libc/stdio/strtod.c",
|
||||
"libc/stdio/strtod_l.c",
|
||||
"libc/stdio/ungetc.c",
|
||||
"libc/stdio/vasprintf.c",
|
||||
"libc/stdio/vfiprintf.c",
|
||||
"libc/stdio/vfprintf.c",
|
||||
"libc/stdio/vfscanf.c",
|
||||
"libc/stdio/vfiscanf.c",
|
||||
"libc/stdio/vprintf.c",
|
||||
"libc/stdio/vscanf.c",
|
||||
"libc/stdio/vsscanf.c",
|
||||
"libc/stdio/vsnprintf.c",
|
||||
"libc/stdio/vsprintf.c",
|
||||
|
||||
"libm/common/sf_finite.c",
|
||||
"libm/common/sf_copysign.c",
|
||||
@@ -256,9 +255,7 @@ var picolibcSourcesLarge = []string{
|
||||
"libm/common/sf_ilogb.c",
|
||||
"libm/common/sf_infinity.c",
|
||||
"libm/common/sf_isinf.c",
|
||||
"libm/common/sf_isinff.c",
|
||||
"libm/common/sf_isnan.c",
|
||||
"libm/common/sf_isnanf.c",
|
||||
"libm/common/sf_issignaling.c",
|
||||
"libm/common/sf_log1p.c",
|
||||
"libm/common/sf_nan.c",
|
||||
@@ -301,9 +298,7 @@ var picolibcSourcesLarge = []string{
|
||||
"libm/common/s_infinity.c",
|
||||
"libm/common/s_iseqsig.c",
|
||||
"libm/common/s_isinf.c",
|
||||
"libm/common/s_isinfd.c",
|
||||
"libm/common/s_isnan.c",
|
||||
"libm/common/s_isnand.c",
|
||||
"libm/common/s_issignaling.c",
|
||||
"libm/common/s_log1p.c",
|
||||
"libm/common/s_nan.c",
|
||||
@@ -359,7 +354,6 @@ var picolibcSourcesLarge = []string{
|
||||
"libm/math/k_sin.c",
|
||||
"libm/math/k_tan.c",
|
||||
"libm/math/kf_cos.c",
|
||||
"libm/math/kf_rem_pio2.c",
|
||||
"libm/math/kf_sin.c",
|
||||
"libm/math/kf_tan.c",
|
||||
"libm/math/s_acos.c",
|
||||
|
||||
@@ -25,6 +25,7 @@ import (
|
||||
var libVersions = map[string]int{
|
||||
"musl": 3,
|
||||
"bdwgc": 2,
|
||||
"picolibc": 1,
|
||||
"wasmbuiltins": 1,
|
||||
}
|
||||
|
||||
@@ -384,13 +385,13 @@ func (c *Config) LibcCFlags() []string {
|
||||
}
|
||||
case "picolibc":
|
||||
root := goenv.Get("TINYGOROOT")
|
||||
picolibcDir := filepath.Join(root, "lib", "picolibc", "newlib", "libc")
|
||||
picolibcDir := filepath.Join(root, "lib", "picolibc", "libc")
|
||||
path := c.LibraryPath("picolibc")
|
||||
return []string{
|
||||
"-nostdlibinc",
|
||||
"-isystem", filepath.Join(path, "include"),
|
||||
"-isystem", filepath.Join(picolibcDir, "include"),
|
||||
"-isystem", filepath.Join(picolibcDir, "tinystdio"),
|
||||
"-isystem", filepath.Join(picolibcDir, "stdio"),
|
||||
"-D__PICOLIBC_ERRNO_FUNCTION=__errno_location",
|
||||
}
|
||||
case "musl":
|
||||
|
||||
+1
-1
Submodule lib/picolibc updated: b92edfda8a...036919b76d
+10
-9
@@ -14,8 +14,8 @@ build/release: tinygo gen-device $(if $(filter 1,$(USE_SYSTEM_BINARYEN)),,binary
|
||||
@mkdir -p build/release/tinygo/lib/musl/crt
|
||||
@mkdir -p build/release/tinygo/lib/musl/src
|
||||
@mkdir -p build/release/tinygo/lib/nrfx
|
||||
@mkdir -p build/release/tinygo/lib/picolibc/newlib/libc
|
||||
@mkdir -p build/release/tinygo/lib/picolibc/newlib/libm
|
||||
@mkdir -p build/release/tinygo/lib/picolibc/libc
|
||||
@mkdir -p build/release/tinygo/lib/picolibc/libm
|
||||
@mkdir -p build/release/tinygo/lib/wasi-libc/dlmalloc
|
||||
@mkdir -p build/release/tinygo/lib/wasi-libc/libc-bottom-half
|
||||
@mkdir -p build/release/tinygo/lib/wasi-libc/libc-top-half/musl/arch
|
||||
@@ -80,13 +80,14 @@ endif
|
||||
@cp -rp lib/mingw-w64/mingw-w64-headers/defaults/include build/release/tinygo/lib/mingw-w64/mingw-w64-headers/defaults
|
||||
@cp -rp lib/mingw-w64/mingw-w64-headers/include build/release/tinygo/lib/mingw-w64/mingw-w64-headers
|
||||
@cp -rp lib/nrfx/* build/release/tinygo/lib/nrfx
|
||||
@cp -rp lib/picolibc/newlib/libc/ctype build/release/tinygo/lib/picolibc/newlib/libc
|
||||
@cp -rp lib/picolibc/newlib/libc/include build/release/tinygo/lib/picolibc/newlib/libc
|
||||
@cp -rp lib/picolibc/newlib/libc/locale build/release/tinygo/lib/picolibc/newlib/libc
|
||||
@cp -rp lib/picolibc/newlib/libc/string build/release/tinygo/lib/picolibc/newlib/libc
|
||||
@cp -rp lib/picolibc/newlib/libc/tinystdio build/release/tinygo/lib/picolibc/newlib/libc
|
||||
@cp -rp lib/picolibc/newlib/libm/common build/release/tinygo/lib/picolibc/newlib/libm
|
||||
@cp -rp lib/picolibc/newlib/libm/math build/release/tinygo/lib/picolibc/newlib/libm
|
||||
@cp -rp lib/picolibc/libc/ctype build/release/tinygo/lib/picolibc/libc
|
||||
@cp -rp lib/picolibc/libc/include build/release/tinygo/lib/picolibc/libc
|
||||
@cp -rp lib/picolibc/libc/locale build/release/tinygo/lib/picolibc/libc
|
||||
@cp -rp lib/picolibc/libc/stdlib build/release/tinygo/lib/picolibc/libc
|
||||
@cp -rp lib/picolibc/libc/string build/release/tinygo/lib/picolibc/libc
|
||||
@cp -rp lib/picolibc/libc/stdio build/release/tinygo/lib/picolibc/libc
|
||||
@cp -rp lib/picolibc/libm/common build/release/tinygo/lib/picolibc/libm
|
||||
@cp -rp lib/picolibc/libm/math build/release/tinygo/lib/picolibc/libm
|
||||
@cp -rp lib/picolibc-stdio.c build/release/tinygo/lib
|
||||
@cp -rp lib/wasi-libc/dlmalloc/src build/release/tinygo/lib/wasi-libc/dlmalloc
|
||||
@cp -rp lib/wasi-libc/libc-bottom-half/cloudlibc build/release/tinygo/lib/wasi-libc/libc-bottom-half
|
||||
|
||||
Reference in New Issue
Block a user