eclass/toolchain-funcs: Sync with Gentoo

It's from Gentoo commit 65f7023eaf9b4456a018a2e973df0b7f067a2600.
This commit is contained in:
Flatcar Buildbot 2022-12-12 07:15:00 +00:00
parent d72742215e
commit 04ae6b27c8

View File

@ -442,7 +442,8 @@ tc-env_build() {
# @CODE # @CODE
econf_build() { econf_build() {
local CBUILD=${CBUILD:-${CHOST}} local CBUILD=${CBUILD:-${CHOST}}
tc-env_build econf --build=${CBUILD} --host=${CBUILD} "$@" econf_env() { CHOST=${CBUILD} econf "$@"; }
tc-env_build econf_env "$@"
} }
# @FUNCTION: tc-ld-is-gold # @FUNCTION: tc-ld-is-gold
@ -466,7 +467,7 @@ tc-ld-is-gold() {
# options and not CFLAGS/CXXFLAGS. # options and not CFLAGS/CXXFLAGS.
local base="${T}/test-tc-gold" local base="${T}/test-tc-gold"
cat <<-EOF > "${base}.c" cat <<-EOF > "${base}.c"
int main() { return 0; } int main(void) { return 0; }
EOF EOF
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
rm -f "${base}"* rm -f "${base}"*
@ -499,7 +500,7 @@ tc-ld-is-lld() {
# options and not CFLAGS/CXXFLAGS. # options and not CFLAGS/CXXFLAGS.
local base="${T}/test-tc-lld" local base="${T}/test-tc-lld"
cat <<-EOF > "${base}.c" cat <<-EOF > "${base}.c"
int main() { return 0; } int main(void) { return 0; }
EOF EOF
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
rm -f "${base}"* rm -f "${base}"*
@ -538,7 +539,7 @@ tc-ld-force-bfd() {
# to its value (like multilib). #545218 # to its value (like multilib). #545218
local ld=$(tc-getLD "$@") local ld=$(tc-getLD "$@")
local bfd_ld="${ld%% *}.bfd" local bfd_ld="${ld%% *}.bfd"
local path_ld=$(which "${bfd_ld}" 2>/dev/null) local path_ld=$(type -P "${bfd_ld}" 2>/dev/null)
[[ -e ${path_ld} ]] && export LD=${bfd_ld} [[ -e ${path_ld} ]] && export LD=${bfd_ld}
# Set up LDFLAGS to select bfd based on the gcc / clang version. # Set up LDFLAGS to select bfd based on the gcc / clang version.
@ -583,7 +584,7 @@ _tc-has-openmp() {
local base="${T}/test-tc-openmp" local base="${T}/test-tc-openmp"
cat <<-EOF > "${base}.c" cat <<-EOF > "${base}.c"
#include <omp.h> #include <omp.h>
int main() { int main(void) {
int nthreads, tid, ret = 0; int nthreads, tid, ret = 0;
#pragma omp parallel private(nthreads, tid) #pragma omp parallel private(nthreads, tid)
{ {
@ -1083,7 +1084,7 @@ gen_usr_ldscript() {
# If they're using gold, manually invoke the old bfd. #487696 # If they're using gold, manually invoke the old bfd. #487696
local d="${T}/bfd-linker" local d="${T}/bfd-linker"
mkdir -p "${d}" mkdir -p "${d}"
ln -sf $(which ${CHOST}-ld.bfd) "${d}"/ld ln -sf $(type -P ${CHOST}-ld.bfd) "${d}"/ld
flags+=( -B"${d}" ) flags+=( -B"${d}" )
fi fi
output_format=$($(tc-getCC) "${flags[@]}" 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p') output_format=$($(tc-getCC) "${flags[@]}" 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p')