diff options
Diffstat (limited to 'pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch')
-rw-r--r-- | pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch | 74 |
1 files changed, 22 insertions, 52 deletions
diff --git a/pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch b/pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch index 7e4c8eded67..2c0bfba4f3b 100644 --- a/pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch +++ b/pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch @@ -1,55 +1,25 @@ -From 301b2d82cdbfaffe4dfba1d2cfed068a4115f730 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <muscaln@protonmail.com> -Date: Sat, 30 Apr 2022 16:18:31 +0300 -Subject: [PATCH 2/3] Add clang header path - - -diff --git a/builder/builtins.go b/builder/builtins.go -index 121398fa..a589988b 100644 ---- a/builder/builtins.go -+++ b/builder/builtins.go -@@ -170,7 +170,7 @@ var aeabiBuiltins = []string{ - var CompilerRT = Library{ - name: "compiler-rt", - cflags: func(target, headerPath string) []string { -- return []string{"-Werror", "-Wall", "-std=c11", "-nostdlibinc"} -+ return []string{"-Werror", "-Wall", "-std=c11", "-isystem", "@clang_include@"} - }, - sourceDir: func() string { - llvmDir := filepath.Join(goenv.Get("TINYGOROOT"), "llvm-project/compiler-rt/lib/builtins") -diff --git a/builder/picolibc.go b/builder/picolibc.go -index d0786ee3..9a5cf9b0 100644 ---- a/builder/picolibc.go -+++ b/builder/picolibc.go -@@ -30,7 +30,7 @@ var Picolibc = Library{ - "-D_IEEE_LIBM", - "-D__OBSOLETE_MATH_FLOAT=1", // use old math code that doesn't expect a FPU - "-D__OBSOLETE_MATH_DOUBLE=0", -- "-nostdlibinc", -+ "-isystem", "@clang_include@", - "-isystem", newlibDir + "/libc/include", - "-I" + newlibDir + "/libc/tinystdio", - "-I" + newlibDir + "/libm/common", +diff --git a/builder/library.go b/builder/library.go +index 6517355b..b8de1894 100644 +--- a/builder/library.go ++++ b/builder/library.go +@@ -142,7 +142,7 @@ func (l *Library) load(config *compileopts.Config, tmpdir string) (job *compileJ + // Note: -fdebug-prefix-map is necessary to make the output archive + // reproducible. Otherwise the temporary directory is stored in the archive + // itself, which varies each run. +- args := append(l.cflags(target, headerPath), "-c", "-Oz", "-gdwarf-4", "-ffunction-sections", "-fdata-sections", "-Wno-macro-redefined", "--target="+target, "-fdebug-prefix-map="+dir+"="+remapDir) ++ args := append(l.cflags(target, headerPath), "-c", "-Oz", "-gdwarf-4", "-ffunction-sections", "-fdata-sections", "-Wno-macro-redefined", "--target="+target, "-fdebug-prefix-map="+dir+"="+remapDir, "-isystem", "@clang_include@") + cpu := config.CPU() + if cpu != "" { + // X86 has deprecated the -mcpu flag, so we need to use -march instead. diff --git a/compileopts/config.go b/compileopts/config.go -index a006b673..3a105b49 100644 +index 39fc4f2a..8711b5a8 100644 --- a/compileopts/config.go +++ b/compileopts/config.go -@@ -279,6 +279,7 @@ func (c *Config) CFlags() []string { - path, _ := c.LibcPath("picolibc") - cflags = append(cflags, - "--sysroot="+path, -+ "-isystem", "@clang_include@", - "-isystem", filepath.Join(path, "include"), // necessary for Xtensa - "-isystem", filepath.Join(picolibcDir, "include"), - "-isystem", filepath.Join(picolibcDir, "tinystdio"), -@@ -288,7 +289,6 @@ func (c *Config) CFlags() []string { - path, _ := c.LibcPath("musl") - arch := MuslArchitecture(c.Triple()) - cflags = append(cflags, -- "-nostdlibinc", - "-isystem", filepath.Join(path, "include"), - "-isystem", filepath.Join(root, "lib", "musl", "arch", arch), - "-isystem", filepath.Join(root, "lib", "musl", "include"), --- -2.37.2 - +@@ -264,6 +264,7 @@ func (c *Config) CFlags() []string { + for _, flag := range c.Target.CFlags { + cflags = append(cflags, strings.ReplaceAll(flag, "{root}", goenv.Get("TINYGOROOT"))) + } ++ cflags = append([]string{"-isystem", "@clang_include@"}, cflags...) + switch c.Target.Libc { + case "darwin-libSystem": + root := goenv.Get("TINYGOROOT") |