1*4882a593SmuzhiyunFrom 66a45dae3af140662e17ef85c2e6fe40270a2553 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Khem Raj <raj.khem@gmail.com> 3*4882a593SmuzhiyunDate: Mon, 22 Feb 2021 17:54:01 -0800 4*4882a593SmuzhiyunSubject: [PATCH] Revert "cmd/go: make sure CC and CXX are absolute" 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunOE uses CC/CXX values which consists of cmpiler and options together, 7*4882a593Smuzhiyunsecondly, the environment is canned so this check add little value to OE 8*4882a593Smuzhiyunbased builds 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunFixes go-runtime build issues 11*4882a593Smuzhiyun 12*4882a593Smuzhiyungo install: CXX environment variable is relative; must be absolute path: powerpc64le-yoe-linux-musl-g++ -mlittle-endian -mhard-float -m64 -mabi=elfv2 -mcpu=power9 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mnt/b/yoe/master/build/tmp/work/ppc64p9le-yoe-linux-musl/go/1.16-r0/recipe-sysroot 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunThis reverts commit aa161e799df7e1eba99d2be10271e76b6f758142. 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunUpstream-Status: Inappropriate [OE-Specific] 17*4882a593SmuzhiyunSigned-off-by: Khem Raj <raj.khem@gmail.com> 18*4882a593Smuzhiyun--- 19*4882a593Smuzhiyun src/cmd/go/internal/envcmd/env.go | 5 ----- 20*4882a593Smuzhiyun src/cmd/go/internal/work/init.go | 6 ------ 21*4882a593Smuzhiyun src/cmd/go/testdata/script/env_write.txt | 24 ------------------------ 22*4882a593Smuzhiyun 3 files changed, 35 deletions(-) 23*4882a593Smuzhiyun 24*4882a593Smuzhiyundiff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go 25*4882a593Smuzhiyunindex ff6f0d8..43b94e7 100644 26*4882a593Smuzhiyun--- a/src/cmd/go/internal/envcmd/env.go 27*4882a593Smuzhiyun+++ b/src/cmd/go/internal/envcmd/env.go 28*4882a593Smuzhiyun@@ -457,11 +457,6 @@ func checkEnvWrite(key, val string) error { 29*4882a593Smuzhiyun if !filepath.IsAbs(val) && val != "" { 30*4882a593Smuzhiyun return fmt.Errorf("GOPATH entry is relative; must be absolute path: %q", val) 31*4882a593Smuzhiyun } 32*4882a593Smuzhiyun- // Make sure CC and CXX are absolute paths 33*4882a593Smuzhiyun- case "CC", "CXX", "GOMODCACHE": 34*4882a593Smuzhiyun- if !filepath.IsAbs(val) && val != "" && val != filepath.Base(val) { 35*4882a593Smuzhiyun- return fmt.Errorf("%s entry is relative; must be absolute path: %q", key, val) 36*4882a593Smuzhiyun- } 37*4882a593Smuzhiyun } 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun if !utf8.ValidString(val) { 40*4882a593Smuzhiyundiff --git a/src/cmd/go/internal/work/init.go b/src/cmd/go/internal/work/init.go 41*4882a593Smuzhiyunindex 37a3e2d..316b0cf 100644 42*4882a593Smuzhiyun--- a/src/cmd/go/internal/work/init.go 43*4882a593Smuzhiyun+++ b/src/cmd/go/internal/work/init.go 44*4882a593Smuzhiyun@@ -39,12 +39,6 @@ func BuildInit() { 45*4882a593Smuzhiyun cfg.BuildPkgdir = p 46*4882a593Smuzhiyun } 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun- // Make sure CC and CXX are absolute paths 49*4882a593Smuzhiyun- for _, key := range []string{"CC", "CXX"} { 50*4882a593Smuzhiyun- if path := cfg.Getenv(key); !filepath.IsAbs(path) && path != "" && path != filepath.Base(path) { 51*4882a593Smuzhiyun- base.Fatalf("go %s: %s environment variable is relative; must be absolute path: %s\n", flag.Args()[0], key, path) 52*4882a593Smuzhiyun- } 53*4882a593Smuzhiyun- } 54*4882a593Smuzhiyun } 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun func instrumentInit() { 57*4882a593Smuzhiyundiff --git a/src/cmd/go/testdata/script/env_write.txt b/src/cmd/go/testdata/script/env_write.txt 58*4882a593Smuzhiyunindex b5e9739..566c876 100644 59*4882a593Smuzhiyun--- a/src/cmd/go/testdata/script/env_write.txt 60*4882a593Smuzhiyun+++ b/src/cmd/go/testdata/script/env_write.txt 61*4882a593Smuzhiyun@@ -129,30 +129,6 @@ go env -w GOTMPDIR= 62*4882a593Smuzhiyun go env GOTMPDIR 63*4882a593Smuzhiyun stdout ^$ 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun-# go env -w rejects relative CC values 66*4882a593Smuzhiyun-[!windows] go env -w CC=/usr/bin/clang 67*4882a593Smuzhiyun-go env -w CC=clang 68*4882a593Smuzhiyun-[!windows] ! go env -w CC=./clang 69*4882a593Smuzhiyun-[!windows] ! go env -w CC=bin/clang 70*4882a593Smuzhiyun-[!windows] stderr 'go env -w: CC entry is relative; must be absolute path' 71*4882a593Smuzhiyun- 72*4882a593Smuzhiyun-[windows] go env -w CC=$WORK\bin\clang 73*4882a593Smuzhiyun-[windows] ! go env -w CC=.\clang 74*4882a593Smuzhiyun-[windows] ! go env -w CC=bin\clang 75*4882a593Smuzhiyun-[windows] stderr 'go env -w: CC entry is relative; must be absolute path' 76*4882a593Smuzhiyun- 77*4882a593Smuzhiyun-# go env -w rejects relative CXX values 78*4882a593Smuzhiyun-[!windows] go env -w CC=/usr/bin/cpp 79*4882a593Smuzhiyun-go env -w CXX=cpp 80*4882a593Smuzhiyun-[!windows] ! go env -w CXX=./cpp 81*4882a593Smuzhiyun-[!windows] ! go env -w CXX=bin/cpp 82*4882a593Smuzhiyun-[!windows] stderr 'go env -w: CXX entry is relative; must be absolute path' 83*4882a593Smuzhiyun- 84*4882a593Smuzhiyun-[windows] go env -w CXX=$WORK\bin\cpp 85*4882a593Smuzhiyun-[windows] ! go env -w CXX=.\cpp 86*4882a593Smuzhiyun-[windows] ! go env -w CXX=bin\cpp 87*4882a593Smuzhiyun-[windows] stderr 'go env -w: CXX entry is relative; must be absolute path' 88*4882a593Smuzhiyun- 89*4882a593Smuzhiyun # go env -w/-u checks validity of GOOS/ARCH combinations 90*4882a593Smuzhiyun env GOOS= 91*4882a593Smuzhiyun env GOARCH= 92*4882a593Smuzhiyun-- 93*4882a593Smuzhiyun2.20.1 94*4882a593Smuzhiyun 95