commit: a4196f18f658bc8e244b906344e0fdcdb5160277 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org> AuthorDate: Sat Nov 25 18:33:29 2017 +0000 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org> CommitDate: Sat Nov 25 18:33:29 2017 +0000 URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=a4196f18
sys-devel/binutils-config: sync Package-Manager: Portage-2.3.13-prefix, Repoman-2.3.4 ...-5-r02.1.ebuild => binutils-config-5-r3.ebuild} | 17 ++++----- sys-devel/binutils-config/files/binutils-config-5 | 41 +++++++++------------- sys-devel/binutils-config/files/binutils-config.8 | 14 +++----- sys-devel/binutils-config/files/ldwrapper.c | 6 ++-- 4 files changed, 31 insertions(+), 47 deletions(-) diff --git a/sys-devel/binutils-config/binutils-config-5-r02.1.ebuild b/sys-devel/binutils-config/binutils-config-5-r3.ebuild similarity index 87% rename from sys-devel/binutils-config/binutils-config-5-r02.1.ebuild rename to sys-devel/binutils-config/binutils-config-5-r3.ebuild index 07c6b494dc..5d03556928 100644 --- a/sys-devel/binutils-config/binutils-config-5-r02.1.ebuild +++ b/sys-devel/binutils-config/binutils-config-5-r3.ebuild @@ -1,16 +1,18 @@ # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=5 +EAPI="5" inherit eutils prefix DESCRIPTION="Utility to change the binutils version being used" HOMEPAGE="https://www.gentoo.org/" +SRC_URI="" LICENSE="GPL-2" SLOT="0" KEYWORDS="~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="" # We also RDEPEND on sys-apps/findutils which is in base @system RDEPEND="sys-apps/gentoo-functions @@ -43,6 +45,7 @@ src_compile() { -DEPREFIX=\"${EPREFIX}\" -DCHOST=\"${CHOST}\" $([[ ${CHOST} == *-darwin* ]] && echo -DTARGET_DARWIN) + $([[ ${CHOST} == *-aix* ]] && echo -DTARGET_AIX) ${LDFLAGS} ) echo ${args[*]} @@ -50,7 +53,9 @@ src_compile() { } src_install() { - newbin "${S}"/${PN} ${PN} + newbin "${FILESDIR}"/${PN}-${PV} ${PN} + use prefix && eprefixify "${ED}"/usr/bin/${PN} + sed -i "s:@PV@:${PVR}:g" "${ED}"/usr/bin/${PN} || die doman "${FILESDIR}"/${PN}.8 dodir /usr/$(get_libdir)/misc/binutils-config @@ -71,11 +76,3 @@ pkg_preinst() { fi fi } - -pkg_postinst() { - # refresh all links and the wrapper - if [[ ${ROOT%/} == "" ]] ; then - [[ -f ${EROOT}/etc/env.d/binutils/config-${CHOST} ]] \ - && binutils-config $(binutils-config --get-current-profile) - fi -} diff --git a/sys-devel/binutils-config/files/binutils-config-5 b/sys-devel/binutils-config/files/binutils-config-5 index 3052a8593d..e6c5fac002 100755 --- a/sys-devel/binutils-config/files/binutils-config-5 +++ b/sys-devel/binutils-config/files/binutils-config-5 @@ -1,15 +1,15 @@ #!/bin/bash -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Id$ # Format of /etc/env.d/binutils/: # config-TARGET: CURRENT=version for TARGET # TARGET-VER: has a TARGET and VER variable -: ${EPREFIX:="@GENTOO_PORTAGE_EPREFIX@"} -[[ ${EPREFIX} = */ ]] && EPREFIX="${EPREFIX%/}" -[[ -n ${EPREFIX} && ${EPREFIX} != /* ]] && EPREFIX="${PWD%/}/${EPREFIX}" +EPREFIX="@GENTOO_PORTAGE_EPREFIX@" +if [[ ${EPREFIX} == "@"GENTOO_PORTAGE_EPREFIX"@" ]] ; then + EPREFIX="" +fi : ${ROOT:=/} [[ ${ROOT} != */ ]] && ROOT="${ROOT}/" @@ -22,7 +22,7 @@ cd "${EPREFIX}/" trap ":" INT QUIT TSTP argv0=${0##*/} -FUNCTIONS_SH="@GENTOO_PORTAGE_EPREFIX@/lib/gentoo/functions.sh" +FUNCTIONS_SH="${EPREFIX}/lib/gentoo/functions.sh" source ${FUNCTIONS_SH} || { echo "${argv0}: Could not source ${FUNCTIONS_SH}!" 1>&2 exit 1 @@ -103,7 +103,7 @@ setup_env() { # Newer paths: /usr/${HOST}/${TARGET}/... # Older paths: /usr/${TARGET}/... # - if [[ -d ${ROOT}${EPREFIX}/usr/${HOST}/${TARGET}/binutils-bin/${VER} ]] ; then + if [[ -d "${EROOT}"/usr/${HOST}/${TARGET}/binutils-bin/${VER} ]] ; then BINPATH="${EPREFIX}"/usr/${HOST}/${TARGET}/binutils-bin/${VER} BINPATH_LINKS="${EPREFIX}"/usr/libexec/gcc/${TARGET} fi @@ -145,26 +145,21 @@ switch_profile() { cd "${ROOT}/${LIBPATH}" || exit 1 if [[ ${TARGET} == ${HOST} ]] ; then dstlib=${EROOT}/usr/${HOST}/lib + elif [[ -d ${EROOT}/usr/${TARGET}/lib ]] ; then + # true for at least avr and msp targets + dstlib=${EROOT}/usr/${TARGET}/lib else dstlib=${EROOT}/usr/${HOST}/${TARGET}/lib fi # When upgrading, we need to clean up ldscripts and libs. # Don't symlink back in the libs -- the binutils-lib package handles # these now. - # TODO: Stop requiring even the ldscripts symlink. + # TODO: Stop requiring even the ldscripts symlink, except + # we can't for bare-metal toolchains, so... bug #147155 mkdir -p "${dstlib}" rm -rf "${ROOT}/${BINPATH_LINKS}"/ldscripts atomic_ln "${LIBPATH}/ldscripts" "${dstlib}" "ldscripts" - find -L "${dstlib}" -xtype l -name 'lib*' -delete - # Detect older binutils w/broken rpaths. #562460 - # We can hardcode the "/lib" part since that's what the binutils - # configure scripts have. They did not include any other path. - if [[ $(scanelf -qF '%r#F' "${ROOT}/${BINPATH}/as") == */lib ]] ; then - ewarn "Old cross-binutils detected; please re-emerge to fix (see bug #562460)." - for x in lib* ; do - atomic_ln "${LIBPATH}/${x}" "${dstlib}" "${x}" - done - fi + find -L "${dstlib}" -xtype l -name 'lib*' -exec rm -f {} + # # Clean out old generated include symlinks @@ -257,7 +252,7 @@ uninstall_target() { local x for x in \ - addr2line ar as c++filt dwp elf2flt elfedit flthdr gprof \ + addr2line ar as c++filt elf2flt elfedit flthdr gprof \ ld ld.{bfd,gold,real} \ nm objcopy objdump ranlib readelf size strings strip do @@ -412,12 +407,8 @@ while [[ $# -gt 0 ]] ; do -d|--debug) DEBUG="yes" ;; -h|--help) usage 0 ;; -V|--version) - unset Header - cvsver="$Id$" - cvsver=${cvsver##*binutils-config-} - bver=${cvsver%%,v *} - cvsver=${cvsver#* } - echo "binutils-config-${bver} (r${cvsver%% *})" + ver="@PV@" + echo "binutils-config-${ver/@'PV'@/git}" exit 0 ;; -*) diff --git a/sys-devel/binutils-config/files/binutils-config.8 b/sys-devel/binutils-config/files/binutils-config.8 index 0d8adb5a70..52cf7101e6 100644 --- a/sys-devel/binutils-config/files/binutils-config.8 +++ b/sys-devel/binutils-config/files/binutils-config.8 @@ -48,16 +48,12 @@ This is really for internal use only. Used to remove all traces of the \fITARGET\fR binutils from your system. .SH "CRUFTY OPTIONS" .TP -\fB\-\-gold\fR -Change the default linker for the specified \fIPROFILE\fR to the [newer] gold -linker. This only works if the binutils actually supports gold. Note that -not all options supported by the bfd linker are supportd by the gold linker. -.TP -\fB\-\-bfd\fR -Change the default linker for the specified \fIPROFILE\fR to the [older but -stable] bfd linker. If unsure, stick to this one. +\fB\-\-linker\fR \fB<linker>\fR +Change the default linker for the specified \fIPROFILE\fR to the \fB<linker>\fR. +Common names are \fBld.gold\fR for the newer gold linker and \fBld.bfd\fR for +the classic linker. Note that not all targets support the gold linker. .SH "REPORTING BUGS" -Please report bugs via http://bugs.gentoo.org/ +Please report bugs via https://bugs.gentoo.org/ .SH "SEE ALSO" .BR ar (1), .BR as (1), diff --git a/sys-devel/binutils-config/files/ldwrapper.c b/sys-devel/binutils-config/files/ldwrapper.c index 84431fb3ac..88f93a8602 100644 --- a/sys-devel/binutils-config/files/ldwrapper.c +++ b/sys-devel/binutils-config/files/ldwrapper.c @@ -189,7 +189,7 @@ main(int argc, char *argv[]) /* add the 4 paths we want (-L + -R) and a null-terminator */ newargc += 8 + 1; #endif -#ifdef _AIX +#ifdef TARGET_AIX /* AIX ld accepts -R only with -bsvr4 */ newargc++; /* -bsvr4 */ #endif @@ -222,7 +222,7 @@ main(int argc, char *argv[]) /* position k right after the original arguments */ k = j - 1 + argc; for (i = 1; i < argc; i++, j++) { -#ifdef _AIX +#ifdef TARGET_AIX /* AIX ld has this problem: * $ /usr/ccs/bin/ld -bsvr4 -bE:xx.exp -bnoentry xx.o * ld: 0706-005 Cannot find or open file: l @@ -291,7 +291,7 @@ main(int argc, char *argv[]) newargv[k++] = "-L" EPREFIX "/lib"; newargv[k++] = "-R" EPREFIX "/lib"; #endif -#ifdef _AIX +#ifdef TARGET_AIX newargv[k++] = "-bsvr4"; /* last one, see above */ #endif newargv[k] = NULL;