diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-11-16 00:35:03 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-11-16 00:36:05 +0300 |
commit | 1d80a2eac54644288c7f2820d3c3fbcb5402b351 (patch) | |
tree | dbe2ecc74749cf37f66f9f7268bd7c16d32e9b9b /poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch | |
parent | 98f5315998ea2d2cba17ba9ebafd573902ea97cc (diff) | |
download | openbmc-1d80a2eac54644288c7f2820d3c3fbcb5402b351.tar.xz |
poky: subtree update:7035b4b21e..a616ffebdc
Adrian Bunk (3):
python3: Upgrade 3.7.4 -> 3.7.5
lz4: Whitelist CVE-2014-4715
iputils: Whitelist CVE-2000-1213 CVE-2000-1214
Alex Kube (1):
go: Refactor patches for 1.13.3
Andreas Müller (2):
vte: upgrade 0.56.3 -> 0.58.2
webkitgtk: upgrade 2.26.1 -> 2.26.2
Andreas Oberritter (3):
glibc: move ldconfig to its own package
package.bbclass: Always include ldconfig fragment
systemd: Add runtime dependency on new ldconfig package
André Draszik (1):
libevent: update packaging (one package per shared library)
Anuj Mittal (1):
libsdl2: fix race when building in parallel
Armin Kuster (13):
oeqa/core: Add a check for MACHINE
oeqa/core: Add qemu checks
oeqa/manual/bsp-qemu: remove rpm tests already done in runtime
oeqa/manual/bsp-qemu: remove KVM enabled which is already done in selftest runqemu
oeqa/manual/bsp-qemu: drop xserver test done at runtime
oeqa/manual/bsp-qemu: remove only_one_connmand_in_background test done at runtime
oeqa/manual/bsp-qemu: remove postinit test done w/selftest runtime
oeqa/manual/bsp-qemu: remove manual bash test
oeqa/manual/bsp-qemu: remove manual useradd test
oeqa/selftest/oescripts: move list-packageconfig-flags tests from manual to self
oeqa/manua/oe-core: remove manual PACKAGECONFIG_FLAGS tests
oeqa/selftest/runtime_test: add crosstab selftest
oeqa/manual/oe-core: remove crosstab test from manual
Changhyeok Bae (1):
iproute2: update 5.2.0 -> 5.3.0
Chee Yang Lee (1):
wic: beautify 'wic help'
Chris Laplante via bitbake-devel (7):
bitbake: contrib/vim: More Python indenting; move indent file to correct directory
bitbake: contrib/vim: Special handling of bb.fatal
bitbake: contrib/vim: don't redeclare indenter
bitbake: contrib/vim: renaming & comments
bitbake: contrib/vim: indenting for assignments; tweak Python indenting
bitbake: contrib/vim: handle shell indenting
bitbake: contrib/vim: Add copyright and license notice
Denys Dmytriyenko (1):
buildhistory: fix "version went backwards" QA error message
Gavin Li (1):
bitbake: prserv: fix ResourceWarning due to unclosed socket
Haris Okanovic (8):
isoimage-isohybrid.py: Parameterize ESP label
isoimage-isohybrid.py: Parameterize ESP partition size
initscripts/sysfs.sh: Mount /sys/firmware/efi/efivars when possible
gnupg: Split gpg and gpg-agent into a minimal gnupg-gpg package
opkg: RDEPEND "gnupg-gpg" instead of "gnupg"
gnupg/libksba/npth/pinentry: Add nativesdk to BBCLASSEXTEND
meta/lib/oe/package_manager.py: Enable sha256 checksums in opkg indexer
dhcp: Workaround busybox limitation in Linux dhclient-script
Ivan Efimov (1):
bitbake: bitbake-worker child process create group before registering SIGTERM handler
Jacob Kroon (2):
rm_work: Promote do_image_qa stamps to setscene versions
rm_work: Simplify logic for setscene promotion
Jagadeesh Krishnanjanappa (1):
tune-cortexa32: Fix libgcc-initial build issue for cortex-a32
Joshua Watt (4):
oeqa: reproducible: Add option to capture bad packages
icecc-create-env: Use OE patchelf in SDK
mc: Fix build reproducibility
wayland: Fix wayland-scanner build for MinGW
Khem Raj (4):
libtirpc: Do not include bits/endian.h directly
strace: Fix ptest build
libnsl2: Update to latest master
strace: Fix build found with 64bit time_t/musl
Liwei Song (1):
buildtools-tarball: export OPENSSL_CONF for openssl
Mark Hatle (1):
populate_sdk_ext.bbclass: Make integrated buildtools optional
Maxime Roussin-Bélanger (1):
meta: add missing description for some recipes in graphics
Mikko Rapeli (1):
harfbuzz: split libharfbuzz-subset.so to its own binary package
Oleksandr Kravchuk (1):
git: update to 2.24.0
Paul Barker (1):
scripts/native-intercept: Add chgrp intercept
Peter Kjellerstedt (3):
sysstat: Correct our systemd unit file
sysstat: Correct when to use the package provided systemd unit files
bitbake: cooker: Remove a left-over comment about expanded_data
Richard Purdie (9):
bitbake: fetch2: Ensure cached url data is matched to a datastore
staging: Handle files moving between dependencies
sstate: Add ability to hide summary output for sstate
selftest/signing: Fix test_locked_signatures to use a temporary layer
dhcp/ruby/ffpmeg: Use CFLAGS, not TARGET_CFLAGS
bitbake: runqueue: Improve sstate rehashing output
pseudo: Add statx support to fix fedora30 issues
pseudo: Drop static linking to sqlite3
sqlite3: Drop pic as we no longer need the sqlite3 static lib
Ross Burton (16):
file: fix CVE-2019-18218
file: remove redundant upstream check workaround
file: run test suite when building natively
patch: the CVE-2019-13638 fix also handles CVE-2018-20969
libpng: whitelist CVE-2019-17371
procps: whitelist CVE-2018-1121
libsndfile1: whitelist CVE-2018-13419
libpam: set CVE_PRODUCT
libsoup: set CVE_PRODUCT
libsoup-2.4: upgrade to 2.66.4
insane: improve textrel warning message
libsoup: update patch upstream status
acpica: upgrade to 20191018
ovmf: unify DEPENDS
cve-check: we don't actually need to unpack to check
cve-update-db-native: don't refresh more than once an hour
Samuli Piippo (1):
linux-firmware: update packaging for brcm files
Scott Rifenbark (3):
ref-manual: Completed the 3.0 migration section.
mega-manual: Updated mega-manual Bitbake manual search path
ref-manual: Removed blank lines from 3.0 migratrion section.
Stefan Agner (1):
dbus: drop unused group netdev
Torbjörn Svensson (1):
psplash: Do mount psplash tmpfs if not mounted
Trevor Gamblin (1):
python3-misc: add python3-audio to RDEPENDS
Volker Vogelhuber (1):
bitbake: fetch2/hg: Fix various runtime issues
Yeoh Ee Peng (4):
scripts/resulttool/report: Enable report to use regression_map
scripts/resulttool/report: Enable output raw test results
scripts/resulttool/report: Add total statistic to test result.
resulttool/store.py: Enable add extra test environment data
Yongxin Liu (2):
systemd: Fix invalid argument of pstore log entry
ltp: Add "udevadm trigger" before swap verification in mkswap01.sh
Zang Ruochen (8):
ruby:upgrade 2.6.4 -> 2.6.5
ethtool:upgrade 5.2 -> 5.3
libdrm:upgrade 2.4.99 -> 2.4.100
libcheck:upgrade 0.12.0 -> 0.13.0
curl:upgrade 7.66.0 -> 7.67.0
libinput:upgrade 1.14.1 -> 1.14.3
python3-six:upgrade 1.12.0 -> 1.13.0
libedit: upgrade 20190324 -> 20191025
Zhixiong Chi (1):
libtirpc: create the symbol link for rpc header files
grygorii tertychnyi (1):
archiver: avoid empty incfile in ar_recipe
Change-Id: Ice596e426e4533d7568a82bcbb21efdfc19e21e7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch')
-rw-r--r-- | poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch new file mode 100644 index 000000000..354aaca3a --- /dev/null +++ b/poky/meta/recipes-devtools/go/go-1.13/0006-cmd-dist-separate-host-and-target-builds.patch @@ -0,0 +1,279 @@ +From 10735bb84df17ba657f76835f483cd8543a879c1 Mon Sep 17 00:00:00 2001 +From: Alex Kube <alexander.j.kube@gmail.com> +Date: Wed, 23 Oct 2019 21:18:12 +0430 +Subject: [PATCH 6/9] cmd/dist: separate host and target builds + +Upstream-Status: Inappropriate [OE specific] + +Change the dist tool to allow for OE-style cross- +and cross-canadian builds: + + - command flags --host-only and --target only are added; + if one is present, the other changes mentioned below + take effect, and arguments may also be specified on + the command line to enumerate the package(s) to be + built. + + - for OE cross builds, go_bootstrap is always built for + the current build host, and is moved, along with the supporting + toolchain (asm, compile, etc.) to a separate 'native_native' + directory under GOROOT/pkg/tool. + + - go_bootstrap is not automatically removed after the build, + so it can be reused later (e.g., building both static and + shared runtime). + +Note that for --host-only builds, it would be nice to specify +just the "cmd" package to build only the go commands/tools, +the staleness checks in the dist tool will fail if the "std" +library has not also been built. So host-only builds have to +build everything anyway. + +Adapted to Go 1.13 from patches originally submitted to +the meta/recipes-devtools/go tree by +Matt Madison <matt@madison.systems>. + +Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com> +--- + src/cmd/dist/build.go | 155 ++++++++++++++++++++++++++++++------------ + 1 file changed, 112 insertions(+), 43 deletions(-) + +diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go +index 683ca6f..0ad082b 100644 +--- a/src/cmd/dist/build.go ++++ b/src/cmd/dist/build.go +@@ -41,6 +41,7 @@ var ( + goldflags string + workdir string + tooldir string ++ build_tooldir string + oldgoos string + oldgoarch string + exe string +@@ -53,6 +54,7 @@ var ( + + rebuildall bool + defaultclang bool ++ crossBuild bool + + vflag int // verbosity + ) +@@ -247,6 +249,8 @@ func xinit() { + if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" { + tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) + } ++ ++ build_tooldir = pathf("%s/pkg/tool/native_native", goroot) + } + + // compilerEnv returns a map from "goos/goarch" to the +@@ -478,8 +482,10 @@ func setup() { + p := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch) + if rebuildall { + xremoveall(p) ++ xremoveall(build_tooldir) + } + xmkdirall(p) ++ xmkdirall(build_tooldir) + + if goos != gohostos || goarch != gohostarch { + p := pathf("%s/pkg/%s_%s", goroot, goos, goarch) +@@ -1207,12 +1213,29 @@ func cmdbootstrap() { + + var noBanner bool + var debug bool ++ var hostOnly bool ++ var targetOnly bool ++ var toBuild = []string{"std", "cmd"} ++ + flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all") + flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process") + flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner") ++ flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target") ++ flag.BoolVar(&targetOnly, "target-only", targetOnly, "build only target binaries, not host") + +- xflagparse(0) ++ xflagparse(-1) + ++ if hostOnly && targetOnly { ++ fatalf("specify only one of --host-only or --target-only\n") ++ } ++ crossBuild = hostOnly || targetOnly ++ if flag.NArg() > 0 { ++ if crossBuild { ++ toBuild = flag.Args() ++ } else { ++ fatalf("package names not permitted without --host-only or --target-only\n") ++ } ++ } + // Set GOPATH to an internal directory. We shouldn't actually + // need to store files here, since the toolchain won't + // depend on modules outside of vendor directories, but if +@@ -1266,8 +1289,13 @@ func cmdbootstrap() { + xprintf("\n") + } + +- gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now +- goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now ++ // For split host/target cross/cross-canadian builds, we don't ++ // want to be setting these flags until after we have compiled ++ // the toolchain that runs on the build host. ++ if !crossBuild { ++ gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now ++ goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now ++ } + goBootstrap := pathf("%s/go_bootstrap", tooldir) + cmdGo := pathf("%s/go", gobin) + if debug { +@@ -1296,7 +1324,11 @@ func cmdbootstrap() { + xprintf("\n") + } + xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n") +- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) ++ if crossBuild { ++ os.Setenv("CC", defaultcc[""]) ++ } else { ++ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) ++ } + goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...) + if debug { + run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") +@@ -1333,50 +1365,84 @@ func cmdbootstrap() { + } + checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) + +- if goos == oldgoos && goarch == oldgoarch { +- // Common case - not setting up for cross-compilation. +- timelog("build", "toolchain") +- if vflag > 0 { +- xprintf("\n") ++ if crossBuild { ++ gogcflags = os.Getenv("GO_GCFLAGS") ++ goldflags = os.Getenv("GO_LDFLAGS") ++ tool_files, _ := filepath.Glob(pathf("%s/*", tooldir)) ++ for _, f := range tool_files { ++ copyfile(pathf("%s/%s", build_tooldir, filepath.Base(f)), f, writeExec) ++ xremove(f) ++ } ++ os.Setenv("GOTOOLDIR", build_tooldir) ++ goBootstrap = pathf("%s/go_bootstrap", build_tooldir) ++ if hostOnly { ++ timelog("build", "host toolchain") ++ if vflag > 0 { ++ xprintf("\n") ++ } ++ xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch) ++ goInstall(goBootstrap, toBuild...) ++ checkNotStale(goBootstrap, toBuild...) ++ // Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary ++ ++ timelog("build", "target toolchain") ++ if vflag > 0 { ++ xprintf("\n") ++ } ++ } else if targetOnly { ++ goos = oldgoos ++ goarch = oldgoarch ++ os.Setenv("GOOS", goos) ++ os.Setenv("GOARCH", goarch) ++ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) ++ xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch) ++ goInstall(goBootstrap, toBuild...) ++ checkNotStale(goBootstrap, toBuild...) ++ // Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary + } +- xprintf("Building packages and commands for %s/%s.\n", goos, goarch) + } else { +- // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH. +- // Finish GOHOSTOS/GOHOSTARCH installation and then +- // run GOOS/GOARCH installation. +- timelog("build", "host toolchain") +- if vflag > 0 { +- xprintf("\n") +- } +- xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch) ++ ++ if goos == oldgoos && goarch == oldgoarch { ++ // Common case - not setting up for cross-compilation. ++ timelog("build", "toolchain") ++ if vflag > 0 { ++ xprintf("\n") ++ } ++ xprintf("Building packages and commands for %s/%s.\n", goos, goarch) ++ } else { ++ // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH. ++ // Finish GOHOSTOS/GOHOSTARCH installation and then ++ // run GOOS/GOARCH installation. ++ timelog("build", "host toolchain") ++ if vflag > 0 { ++ xprintf("\n") ++ } ++ xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch) ++ goInstall(goBootstrap, "std", "cmd") ++ checkNotStale(goBootstrap, "std", "cmd") ++ checkNotStale(cmdGo, "std", "cmd") ++ ++ timelog("build", "target toolchain") ++ if vflag > 0 { ++ xprintf("\n") ++ } ++ goos = oldgoos ++ goarch = oldgoarch ++ os.Setenv("GOOS", goos) ++ os.Setenv("GOARCH", goarch) ++ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) ++ xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch) ++ } + goInstall(goBootstrap, "std", "cmd") + checkNotStale(goBootstrap, "std", "cmd") + checkNotStale(cmdGo, "std", "cmd") + +- timelog("build", "target toolchain") +- if vflag > 0 { +- xprintf("\n") ++ if debug { ++ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") ++ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) ++ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) ++ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec) + } +- goos = oldgoos +- goarch = oldgoarch +- os.Setenv("GOOS", goos) +- os.Setenv("GOARCH", goarch) +- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) +- xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch) +- } +- targets := []string{"std", "cmd"} +- if goos == "js" && goarch == "wasm" { +- // Skip the cmd tools for js/wasm. They're not usable. +- targets = targets[:1] +- } +- goInstall(goBootstrap, targets...) +- checkNotStale(goBootstrap, targets...) +- checkNotStale(cmdGo, targets...) +- if debug { +- run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") +- run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) +- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) +- copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec) + } + + // Check that there are no new files in $GOROOT/bin other than +@@ -1393,8 +1459,11 @@ func cmdbootstrap() { + } + } + +- // Remove go_bootstrap now that we're done. +- xremove(pathf("%s/go_bootstrap", tooldir)) ++ // Except that for split host/target cross-builds, we need to ++ // keep it. ++ if !crossBuild { ++ xremove(pathf("%s/go_bootstrap", tooldir)) ++ } + + if goos == "android" { + // Make sure the exec wrapper will sync a fresh $GOROOT to the device. +-- +2.17.1 (Apple Git-112) + |