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