@@ -147,22 +147,21 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe
147
147
// the libc needs them.
148
148
root := goenv .Get ("TINYGOROOT" )
149
149
var libcDependencies []* compileJob
150
- var libcJob * compileJob
151
150
switch config .Target .Libc {
152
151
case "darwin-libSystem" :
153
152
job := makeDarwinLibSystemJob (config , tmpdir )
154
153
libcDependencies = append (libcDependencies , job )
155
154
case "musl" :
156
155
var unlock func ()
157
- libcJob , unlock , err = libMusl .load (config , tmpdir , nil )
156
+ libcJob , unlock , err : = libMusl .load (config , tmpdir , false )
158
157
if err != nil {
159
158
return BuildResult {}, err
160
159
}
161
160
defer unlock ()
162
161
libcDependencies = append (libcDependencies , dummyCompileJob (filepath .Join (filepath .Dir (libcJob .result ), "crt1.o" )))
163
162
libcDependencies = append (libcDependencies , libcJob )
164
163
case "picolibc" :
165
- libcJob , unlock , err := libPicolibc .load (config , tmpdir , nil )
164
+ libcJob , unlock , err := libPicolibc .load (config , tmpdir , false )
166
165
if err != nil {
167
166
return BuildResult {}, err
168
167
}
@@ -175,15 +174,14 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe
175
174
}
176
175
libcDependencies = append (libcDependencies , dummyCompileJob (path ))
177
176
case "wasmbuiltins" :
178
- libcJob , unlock , err := libWasmBuiltins .load (config , tmpdir , nil )
177
+ libcJob , unlock , err := libWasmBuiltins .load (config , tmpdir , false )
179
178
if err != nil {
180
179
return BuildResult {}, err
181
180
}
182
181
defer unlock ()
183
182
libcDependencies = append (libcDependencies , libcJob )
184
183
case "mingw-w64" :
185
- var unlock func ()
186
- libcJob , unlock , err = libMinGW .load (config , tmpdir , nil )
184
+ libcJob , unlock , err := libMinGW .load (config , tmpdir , false )
187
185
if err != nil {
188
186
return BuildResult {}, err
189
187
}
@@ -704,7 +702,7 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe
704
702
// Add compiler-rt dependency if needed. Usually this is a simple load from
705
703
// a cache.
706
704
if config .Target .RTLib == "compiler-rt" {
707
- job , unlock , err := libCompilerRT .load (config , tmpdir , nil )
705
+ job , unlock , err := libCompilerRT .load (config , tmpdir , false )
708
706
if err != nil {
709
707
return result , err
710
708
}
@@ -714,10 +712,7 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe
714
712
715
713
// The Boehm collector is stored in a separate C library.
716
714
if config .GC () == "boehm" {
717
- if libcJob == nil {
718
- return BuildResult {}, fmt .Errorf ("boehm GC isn't supported with libc %s" , config .Target .Libc )
719
- }
720
- job , unlock , err := BoehmGC .load (config , tmpdir , libcJob )
715
+ job , unlock , err := BoehmGC .load (config , tmpdir , true )
721
716
if err != nil {
722
717
return BuildResult {}, err
723
718
}
0 commit comments