On Sun, 15 Oct 2017 20:59:55 -0700 Zac Medico <zmed...@gentoo.org> wrote:
> From: Felix Janda <felix.ja...@posteo.de> > > Since binutils-2.23.51.0.9+ defaults to hash-style=gnu, use > a __gentoo_check_ldflags__ symbol instead. The check is now > enabled by adding "-Wl,--defsym=__gentoo_check_ldflags__=0" > to LDFLAGS. The symbol will be automatically removed when > the binary is stripped. > > Bug: https://bugs.gentoo.org/455232 > Closes: https://github.com/gentoo/portage/pull/220 > --- > bin/install-qa-check.d/10ignored-flags | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/bin/install-qa-check.d/10ignored-flags > b/bin/install-qa-check.d/10ignored-flags index 7aa9eb695..28aec6787 > 100644 --- a/bin/install-qa-check.d/10ignored-flags > +++ b/bin/install-qa-check.d/10ignored-flags > @@ -64,9 +64,10 @@ ignored_flag_check() { > fi > > # Check for files built without respecting LDFLAGS > - if [[ "${LDFLAGS}" == *,--hash-style=gnu* ]] && \ > + if [[ "${LDFLAGS}" == *,--defsym=__gentoo_check_ldflags__* > ]] && \ ! has binchecks ${RESTRICT} ; then > - f=$(scanelf -qyRF '#k%p' -k .hash "${ED}") > + f=$(LC_ALL=C comm -3 <(scanelf -qyRF '#k%p' > -k .dynsym "${ED}" | LC_ALL=C sort) \ > + <(scanelf -qyRF '#s%p' -s > __gentoo_check_ldflags__ "${ED}" | LC_ALL=C sort)) if [[ -n ${f} ]] ; > then echo "${f}" > "${T}"/scanelf-ignored-LDFLAGS.log > if [ "${QA_STRICT_FLAGS_IGNORED-unset}" = > unset ] ; then looks good -- Brian Dolbec <dolsen>