Merge remote-tracking branch 'origin/sumo' into public-layer-upstream-test

* origin/sumo:
  Silence gdbserver preference warnings in multilib builds
  gdb: fix missing mlprefix for gdbserver pref
  tcmode: work around mlprefix preference bug wrt gdbserver
  gdbserver-external: add missing MLPREFIX in dep on compilerlibs
  {glibc,gcc-runtime}: fix warnings about libssp for builds with security flags
  meta-environment{,-extsdk}: don't include -B${gcc_bindir} in emitted TUNE_CC_ARCH

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
This commit is contained in:
Christopher Larson
2019-08-12 18:56:35 +00:00
5 changed files with 24 additions and 9 deletions

View File

@@ -17,9 +17,11 @@ PREFERRED_PROVIDER_virtual/libc ?= "glibc-external"
PREFERRED_PROVIDER_virtual/libintl ?= "glibc-external"
PREFERRED_PROVIDER_virtual/libiconv ?= "glibc-external"
PREFERRED_PROVIDER_virtual/crypt ?= "glibc-external"
PREFERRED_PROVIDER_gdbserver ??= "gdb"
PREFERRED_PROVIDER_gdb-cross-${TARGET_ARCH} ?= "gdb-external-cross-${TARGET_ARCH}"
PREFERRED_PROVIDER_oprofile ??= "oprofile"
# Work around bug where the implicitly created mlprefix preference isn't being
# obeyed for the runtime package installation.
PREFERRED_PROVIDER_${MLPREFIX}gdbserver ?= "${MLPREFIX}gdb"
PREFERRED_PROVIDER_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} ??= "gcc-external-cross-canadian-${TRANSLATED_TARGET_ARCH}"
PREFERRED_PROVIDER_binutils-cross-canadian-${TRANSLATED_TARGET_ARCH} ??= "binutils-external-cross-canadian-${TRANSLATED_TARGET_ARCH}"

View File

@@ -1,7 +1,6 @@
PREFERRED_PROVIDER_gdbserver ?= "gdb"
PROVIDES_append_tcmode-external = " ${@'gdbserver' if '${PREFERRED_PROVIDER_gdbserver}' == '${PN}' else ''}"
PROVIDES_append_tcmode-external = " ${@'gdbserver' if '${PREFERRED_PROVIDER_${MLPREFIX}gdbserver}' == '${PN}' else ''}"
# Disable build of gdbserver if is provided by external-sourcery-toolchain
PACKAGES_remove_tcmode-external = "${@'gdbserver' if '${PREFERRED_PROVIDER_gdbserver}' != '${PN}' else ''}"
DISABLE_GDBSERVER = "${@'--disable-gdbserver' if '${PREFERRED_PROVIDER_gdbserver}' != '${PN}' else ''}"
PACKAGES_remove_tcmode-external = "${@'gdbserver' if '${PREFERRED_PROVIDER_${MLPREFIX}gdbserver}' != '${PN}' else ''}"
DISABLE_GDBSERVER = "${@'--disable-gdbserver' if '${PREFERRED_PROVIDER_${MLPREFIX}gdbserver}' != '${PN}' else ''}"
EXTRA_OECONF_append_tcmode-external = " ${DISABLE_GDBSERVER}"

View File

@@ -58,6 +58,17 @@ FILES_libgomp-dev += "\
"
BBCLASSEXTEND = ""
RDEPENDS_libatomic += "${TCLIBC}"
RDEPENDS_libgomp += "${TCLIBC}"
RDEPENDS_libssp += "${TCLIBC}"
# gcc-runtime needs libc, but glibc's utilities need libssp in some cases, so
# short-circuit the interdependency here by manually specifying it rather than
# depending on the libc packagedata.
libc_rdep = "${@'${PREFERRED_PROVIDER_virtual/libc}' if '${PREFERRED_PROVIDER_virtual/libc}' else '${TCLIBC}'}"
RDEPENDS_libgomp += "${libc_rdep}"
RDEPENDS_libssp += "${libc_rdep}"
RDEPENDS_libstdc++ += "${libc_rdep}"
RDEPENDS_libatomic += "${libc_rdep}"
RDEPENDS_libquadmath += "${libc_rdep}"
RDEPENDS_libmpx += "${libc_rdep}"
do_package_write_ipk[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
do_package_write_deb[depends] += "virtual/${MLPREFIX}libc:do_packagedata"
do_package_write_rpm[depends] += "virtual/${MLPREFIX}libc:do_packagedata"

View File

@@ -24,5 +24,5 @@ FILES_${PN}-doc = "${mandir}/man1/gdbserver.1"
# Ensure that our rdeps are able to be set by shlibs processing
do_package[depends] += "\
virtual/libc:do_packagedata \
virtual/${TARGET_PREFIX}compilerlibs:do_packagedata \
virtual/${MLPREFIX}${TARGET_PREFIX}compilerlibs:do_packagedata \
"

View File

@@ -226,5 +226,8 @@ do_package_write_ipk[depends] += "${MLPREFIX}libgcc:do_packagedata"
do_package_write_deb[depends] += "${MLPREFIX}libgcc:do_packagedata"
do_package_write_rpm[depends] += "${MLPREFIX}libgcc:do_packagedata"
# glibc may need libssp for -fstack-protector builds
do_packagedata[depends] += "gcc-runtime:do_packagedata"
FILES_${PN}-dev_remove = "${base_libdir}/*_nonshared.a ${libdir}/*_nonshared.a"
FILES_${PN}-dev += "${libdir}/libc_nonshared.a ${libdir}/libpthread_nonshared.a ${libdir}/libmvec_nonshared.a"