From: "Fabian Groffen" <grobian@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/binutils-config/files/, sys-devel/binutils-config/
Date: Sat, 25 Nov 2017 18:33:41 +0000 (UTC) [thread overview]
Message-ID: <1511624948.f1c2d739d6990e43502251afd7dcb6854abf8ce9.grobian@gentoo> (raw)
commit: f1c2d739d6990e43502251afd7dcb6854abf8ce9
Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 25 15:49:08 2017 +0000
Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 15:49:08 2017 +0000
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=f1c2d739
sys-devel/binutils-config: cleanup
Package-Manager: Portage-2.3.13-prefix, Repoman-2.3.4
sys-devel/binutils-config/Manifest | 1 -
.../binutils-config/binutils-config-3-r03.1.ebuild | 46 --
.../binutils-config/binutils-config-4-r01.1.ebuild | 59 ---
.../binutils-config/binutils-config-4-r1.ebuild | 58 ---
sys-devel/binutils-config/files/binutils-config-3 | 534 ---------------------
sys-devel/binutils-config/files/binutils-config-4 | 475 ------------------
.../files/binutils-config-4-aix-ld-svr4.patch | 89 ----
.../files/binutils-config-4-ldwrapper.patch | 32 --
.../binutils-config-4-no-macosx-version-min.patch | 16 -
sys-devel/binutils-config/metadata.xml | 7 +-
10 files changed, 4 insertions(+), 1313 deletions(-)
diff --git a/sys-devel/binutils-config/Manifest b/sys-devel/binutils-config/Manifest
deleted file mode 100644
index fc2e289920..0000000000
--- a/sys-devel/binutils-config/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST toolchain-prefix-wrapper-0.3.1723.tar.xz 95352 SHA256 fdb4c2a82ddcee8330ea6274db02b78ddc921670f3184028f7bbc83b5054ea29 SHA512 308933057c0888bca929aedebae7b3a54cb355a31de2568ef59871d541440267c14815556b5d40e7049fc1e3d297a239dd247393248ff6413c7a8e189357ca27 WHIRLPOOL f04684e4c1717d2d2e5e3c1a86b3c68807047c83e35625bc3e99c1bc547c16b2e208a13a1e8bce5143ac2edc07b275439d0a61663ebab4e1437ea5d68d7a3db6
diff --git a/sys-devel/binutils-config/binutils-config-3-r03.1.ebuild b/sys-devel/binutils-config/binutils-config-3-r03.1.ebuild
deleted file mode 100644
index 69677ed667..0000000000
--- a/sys-devel/binutils-config/binutils-config-3-r03.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-config/binutils-config-3-r3.ebuild,v 1.9 2012/07/29 18:36:13 armin76 Exp $
-
-EAPI=3
-
-inherit eutils toolchain-funcs prefix
-
-DESCRIPTION="Utility to change the binutils version being used - prefix version"
-HOMEPAGE="http://www.gentoo.org/"
-W_VER="0.3.1723"
-SRC_URI="http://dev.gentoo.org/~grobian/distfiles/toolchain-prefix-wrapper-${W_VER}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="sunld"
-
-RDEPEND="userland_GNU? ( !<sys-apps/findutils-4.2 )"
-
-S=${WORKDIR}/toolchain-prefix-wrapper-${W_VER}
-
-src_prepare() {
- cp "${FILESDIR}"/${P} ./${PN} || die
- eprefixify ${PN} || die "eprefixify failed."
- # fix configure stupidity, until next release
- sed -i -e 's/x10\.\[3456789\]/x10.*/' configure || die
-}
-
-src_configure() {
- econf --with-macosx-version-min=${MACOSX_DEPLOYMENT_TARGET} \
- $(use_with sunld native-ld)
-}
-
-src_install() {
- emake install DESTDIR="${D}" || die "emake install failed."
- dobin ${PN} || die "cannot install ${PN} script."
-}
-
-pkg_postinst() {
- # refresh all links and the wrapper
- if [[ ${ROOT%/} == "" ]] ; then
- [[ -f ${EROOT}/etc/env.d/binutils/config-${CHOST} ]] \
- && binutils-config $(${EROOT}/usr/bin/binutils-config --get-current-profile)
- fi
-}
diff --git a/sys-devel/binutils-config/binutils-config-4-r01.1.ebuild b/sys-devel/binutils-config/binutils-config-4-r01.1.ebuild
deleted file mode 100644
index 8ef953a5ad..0000000000
--- a/sys-devel/binutils-config/binutils-config-4-r01.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-config/binutils-config-3-r3.ebuild,v 1.9 2012/07/29 18:36:13 armin76 Exp $
-
-EAPI=5
-
-inherit eutils toolchain-funcs prefix
-
-DESCRIPTION="Utility to change the binutils version being used - prefix version"
-HOMEPAGE="http://www.gentoo.org/"
-W_VER="0.3.1723"
-SRC_URI="http://dev.gentoo.org/~grobian/distfiles/toolchain-prefix-wrapper-${W_VER}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="sunld"
-
-S=${WORKDIR}/toolchain-prefix-wrapper-${W_VER}
-
-# NOTE: the ld wrapper is only enabled on rpath versions of prefix.
-
-src_prepare() {
- cp "${FILESDIR}"/${P} ./${PN} || die
- if use prefix-guest; then
- epatch "${FILESDIR}/${P}-ldwrapper.patch"
- fi
- eprefixify ${PN}
-
- # fix configure stupidity, until next release
- sed -i -e 's/x10\.\[3456789\]/x10.*/' configure
- epatch "${FILESDIR}"/${P}-no-macosx-version-min.patch
- epatch "${FILESDIR}"/${P}-aix-ld-svr4.patch
-}
-
-src_configure() {
- if use prefix-guest; then
- econf --with-macosx-version-min=${MACOSX_DEPLOYMENT_TARGET} \
- $(use_with sunld native-ld)
- fi
-}
-
-src_install() {
- if use prefix-guest; then
- use prefix-guest && \
- emake install DESTDIR="${D}"
- fi
-
- dobin ${PN}
- doman "${FILESDIR}"/${PN}.8
-}
-
-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/binutils-config-4-r1.ebuild b/sys-devel/binutils-config/binutils-config-4-r1.ebuild
deleted file mode 100644
index b9720d00b8..0000000000
--- a/sys-devel/binutils-config/binutils-config-4-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-config/binutils-config-3-r3.ebuild,v 1.9 2012/07/29 18:36:13 armin76 Exp $
-
-EAPI=5
-
-inherit eutils toolchain-funcs prefix
-
-DESCRIPTION="Utility to change the binutils version being used - prefix version"
-HOMEPAGE="http://www.gentoo.org/"
-W_VER="0.3.1723"
-SRC_URI="http://dev.gentoo.org/~grobian/distfiles/toolchain-prefix-wrapper-${W_VER}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="sunld"
-
-S=${WORKDIR}/toolchain-prefix-wrapper-${W_VER}
-
-# NOTE: the ld wrapper is only enabled on rpath versions of prefix.
-
-src_prepare() {
- cp "${FILESDIR}"/${P} ./${PN} || die
- if use prefix-guest; then
- epatch "${FILESDIR}/${P}-ldwrapper.patch"
- fi
- eprefixify ${PN}
-
- # fix configure stupidity, until next release
- sed -i -e 's/x10\.\[3456789\]/x10.*/' configure
- epatch "${FILESDIR}"/${P}-no-macosx-version-min.patch
-}
-
-src_configure() {
- if use prefix-guest; then
- econf --with-macosx-version-min=${MACOSX_DEPLOYMENT_TARGET} \
- $(use_with sunld native-ld)
- fi
-}
-
-src_install() {
- if use prefix-guest; then
- use prefix-guest && \
- emake install DESTDIR="${D}"
- fi
-
- dobin ${PN}
- doman "${FILESDIR}"/${PN}.8
-}
-
-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-3 b/sys-devel/binutils-config/files/binutils-config-3
deleted file mode 100755
index f642381acd..0000000000
--- a/sys-devel/binutils-config/files/binutils-config-3
+++ /dev/null
@@ -1,534 +0,0 @@
-#!@GENTOO_PORTAGE_EPREFIX@/bin/bash
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-config/files/binutils-config-3,v 1.9 2012/08/18 03:57:50 vapier Exp $
-
-# Format of /etc/env.d/binutils/:
-# config-TARGET: CURRENT=version for TARGET
-# TARGET-VER: has a TARGET and VER variable
-
-BPREFIX="@GENTOO_PORTAGE_EPREFIX@"
-: ${EPREFIX:=${BPREFIX}}
-
-: ${ROOT:=/}
-[[ ${ROOT} != */ ]] && ROOT="${ROOT}/"
-[[ ${ROOT} != /* ]] && ROOT="${PWD%/}/${ROOT}"
-EROOT="${ROOT%/}${EPREFIX}/"
-
-cd ${EPREFIX}
-
-trap ":" INT QUIT TSTP
-
-argv0=${0##*/}
-source "${BPREFIX}"/etc/init.d/functions.sh || {
- echo "${argv0}: Could not source ${BPREFIX}/etc/init.d/functions.sh!" 1>&2
- exit 1
-}
-esyslog() { :; }
-die() { eerror "${argv0}: $*"; exit 1; }
-umask 022
-
-usage() {
-cat << USAGE_END
-Usage: ${HILITE}binutils-config${NORMAL} ${GOOD}[options]${NORMAL} ${BRACKET}[binutils profile]${NORMAL}
-
-${HILITE}General Options:${NORMAL}
- ${GOOD}-c, --get-current-profile${NORMAL} Print current profile
- ${GOOD}-l, --list-profiles${NORMAL} Print a list of available profiles
- ${GOOD}-u, --uninstall${NORMAL} Remove all signs of specified target
- ${GOOD}-d, --debug${NORMAL} Execute with debug output
-
-${HILITE}General Cruft:${NORMAL}
- ${GOOD}--linker${NORMAL} <linker> Switch to specified linker (if supported)
-
-${HILITE}Arch Specific Cruft:${NORMAL}
- ${GOOD}--amd64${NORMAL} Install extra amd64 links (x86_64)
- ${GOOD}--arm${NORMAL} Install extra arm links (arm/armeb)
- ${GOOD}--mips${NORMAL} Install extra mips links (mips/mipsel)
- ${GOOD}--x86${NORMAL} Install extra x86 links (i[3-6]86)
-
-Profile names are of the form: ${BRACKET}<CTARGET>-<binutils version>${NORMAL}
-For example: ${BRACKET}i686-pc-linux-gnu-2.15.92.0.2${NORMAL}
-
-For more info, please see ${HILITE}binutils-config${NORMAL}(8).
-USAGE_END
-
- exit ${1:-1}
-}
-
-mv_if_diff() {
- if cmp -s "$1" "$2" ; then
- rm -f "$1"
- else
- mv -f "$1" "$2"
- fi
-}
-atomic_ln() {
- local target=$1 linkdir=$2 linkname=$3 linktmp linkfull
- linktmp="${linkdir}/.binutils-config.tmp.${linkname}"
- linkfull="${linkdir}/${linkname}"
- if [[ -d ${linkfull} ]] ; then
- # if linking to a dir, we need a little magic to
- # make it atomic since `mv -T` is not portable
- rm -rf "${linktmp}"
- mkdir -p "${linktmp}"
- ln -sf "${target}" "${linktmp}/${linkname}"
- mv "${linktmp}/${linkname}" "${linktmp}/../"
- rmdir "${linktmp}"
- else
- # `ln` will expand into unlink();symlink(); which
- # is not atomic for a small amount of time, but
- # `mv` is a single rename() call
- ln -sf "${target}" "${linktmp}"
- mv "${linktmp}" "${linkfull}"
- fi
-}
-
-setup_env() {
- unset TARGET VER LIBPATH FAKE_TARGETS
- source "${ENV_D}/${PROFILE}"
- if [[ -z ${TARGET} ]] ; then
- eerror "${PROFILE} is invalid (no \$TARGET defined) :("
- return 1
- fi
- if [[ -z ${VER} ]] ; then
- eerror "${PROFILE} is invalid (no \$VER defined) :("
- return 1
- fi
-
- #
- # Older installs don't have 'FAKE_TARGETS' defined, so lets
- # update these env.d entries so that we don't force the poor
- # user to re-emerge their binutils just for 1 envvar :/
- #
- if [[ ${FAKE_TARGETS-poor user} == "poor user" ]] ; then
- local targ=${TARGET/-*}
- local FAKE_TARGETS=${TARGET}
- case ${targ} in
- mips|powerpc|sparc)
- FAKE_TARGETS="${FAKE_TARGETS} ${TARGET/-/64-}";;
- mips64|powerpc64|sparc64)
- FAKE_TARGETS="${FAKE_TARGETS} ${TARGET/64-/-}";;
- esac
- echo "FAKE_TARGETS=\"${FAKE_TARGETS}\"" >> "${ENV_D}/${PROFILE}"
- fi
- local fake_targ_append="${TARGET#*-}"
- FAKE_TARGETS="${FAKE_TARGETS} ${FAKE_TARGETS_USER// /-${fake_targ_append} }"
-
- #
- # Generate binary symlinks
- # On systems that do 32bit/64bit, we need to fake an
- # extra set of binary names (${FAKE_TARGETS})
- #
- BINPATH=""
- BINPATH_LINKS=""
- if [[ ${TARGET} != ${HOST} ]] ; then
- #
- # Newer paths: /usr/${HOST}/${TARGET}/...
- # Older paths: /usr/${TARGET}/...
- #
- if [[ -d ${EROOT}/usr/${HOST}/${TARGET}/binutils-bin/${VER} ]] ; then
- BINPATH=/usr/${HOST}/${TARGET}/binutils-bin/${VER}
- BINPATH_LINKS=/usr/libexec/gcc/${TARGET}
- fi
- fi
- if [[ -z ${BINPATH} ]] ; then
- BINPATH=/usr/${TARGET}/binutils-bin/${VER}
- BINPATH_LINKS=/usr/${TARGET}/bin
- fi
-}
-
-switch_profile() {
- ebegin "Switching to ${PROFILE}"
-
- setup_env || return 1
-
- cd "${EROOT}/${BINPATH}" || exit 1
- mkdir -p "${EROOT}/${BINPATH_LINKS}" "${EROOT}/usr/bin"
- for x in * ; do
- case ${x} in
- ld|ld64)
- # recompile the wrapper for the desired target
- # not a huge fan of it, never have been
- "${BPREFIX}"/usr/lib/misc/binutils-config/create-ldwrapper \
- --wrapper-name="${x}" \
- --wrapper-source="${EROOT}usr/lib/misc/binutils-config" \
- --output-file="${EROOT}/${BINPATH_LINKS}/${x}" \
- --host="${HOST}" \
- --target="${TARGET}" \
- --binpath="${BINPATH}" \
- --debug="${DEBUG}" \
- || return 1
- touch -r "${EROOT}/${BINPATH}/${x}" "${EROOT}/${BINPATH_LINKS}/${x}"
- ;;
- *)
- atomic_ln "${EROOT}${BINPATH}/${x}" "${EROOT}/${BINPATH_LINKS}" "${x}"
- ;;
- esac
- atomic_ln "${EROOT}/${BINPATH_LINKS}/${x}" "${EROOT}/usr/bin/" "${TARGET}-${x}"
- for fake in ${FAKE_TARGETS} ; do
- [[ -f ${ENV_D}/config-${fake} ]] && continue
- atomic_ln "${EROOT}/${BINPATH_LINKS}/${x}" "${EROOT}/usr/bin" "${fake}-${x}"
- done
- if [[ ${TARGET} == ${HOST} ]] ; then
- atomic_ln "${TARGET}-${x}" "${EROOT}/usr/bin" "${x}"
- fi
- done
-
- #
- # Generate library / ldscripts symlinks
- #
- : ${LIBPATH:=/usr/lib/binutils/${TARGET}/${VER}}
- [[ ${LIBPATH} == ${EPREFIX}* ]] && LIBPATH=${LIBPATH#${EPREFIX}}
- cd "${EROOT}/${LIBPATH}" || exit 1
- if [[ ${TARGET} == ${HOST} ]] ; then
- dstlib=${EROOT}/usr/${HOST}/lib
- else
- dstlib=${EROOT}/usr/${HOST}/${TARGET}/lib
- fi
- # When upgrading, we need to clean up ldscripts and libs
- mkdir -p "${dstlib}"
- rm -rf "${EROOT}/${BINPATH_LINKS}"/ldscripts
- # avoid pointless warning about removing non-existant ldscripts dir
- if [[ -d ${EROOT}/${LIBPATH}/ldscripts ]] ; then
- atomic_ln "${EROOT}/${LIBPATH}/ldscripts" "${dstlib}" "ldscripts"
- find -L "${dstlib}" -type l -exec rm -v {} +
- fi
- for x in lib* ; do
- # avoid symlink 'lib*' -> '/...' when no libs (native/nongnu binutils)
- [[ ${x} != 'lib*' ]] || continue
- atomic_ln "${EROOT}/${LIBPATH}/${x}" "${dstlib}" "${x}"
- done
-
- #
- # Generate include symlinks
- #
- INCPATH=${LIBPATH}/include
- if [[ -d ${EROOT}/${INCPATH} ]] ; then
- cd "${EROOT}/${INCPATH}" || exit 1
- if [[ ${HOST} == ${TARGET} ]] ; then
- mkdir -p "${EROOT}/usr/include"
- for x in * ; do
- atomic_ln "${EROOT}/${INCPATH}/${x}" "${EROOT}/usr/include" "${x}"
- done
- else
- # Clean out old path -- cannot use '-exec {} +' syntax here
- find . -type f -exec rm -f "${EROOT}/usr/${TARGET}/usr/include/{}" \;
- rmdir "${EROOT}/usr/${TARGET}/usr/include" >& /dev/null
- rmdir "${EROOT}/usr/${TARGET}/usr" >& /dev/null
- rmdir "${EROOT}/usr/${TARGET}" >& /dev/null
- fi
- fi
-
- #
- # Make sure proper paths get updated
- #
- if [[ ${TARGET} == ${HOST} ]] ; then
- DATAPATH=${EROOT}/usr/share/binutils-data/${TARGET}/${VER}
- local e="${EROOT}"/etc/env.d/05binutils
- local ee="${e}.tmp"
- rm -f "${ee}"
- [[ -d ${DATAPATH}/man ]] && echo "MANPATH=${DATAPATH}/man" >> "${ee}"
- [[ -d ${DATAPATH}/info ]] && echo "INFOPATH=${DATAPATH}/info" >> "${ee}"
- # hmm, `ld` has this in SEARCH_DIR(), but ld.so does not ...
- if [[ -d ${EROOT}/etc/ld.so.conf.d ]] ; then
- local l="${EROOT}"/etc/ld.so.conf.d/05binutils.conf
- local ll="${l}.tmp"
- echo "${EPREFIX}/usr/${TARGET}/lib" > "${ll}"
- mv_if_diff "${ll}" "${l}"
- else
- echo "LDPATH=${EPREFIX}/usr/${TARGET}/lib" >> "${ee}"
- fi
- mv_if_diff "${ee}" "${e}"
- fi
-
- local c="${ENV_D}/config-${TARGET}"
- local cc="${c}.tmp"
- echo "CURRENT=${VER}" > "${cc}"
- mv_if_diff "${cc}" "${c}"
-
- eend 0
-
- #
- # Regen env.d if need/can be
- #
- if [[ ${ROOT} == / ]] && [[ ${TARGET} == ${HOST} ]] ; then
- env-update
- echo
- ewarn "Please remember to run:"
- echo
- ewarn " (bash) # . ${EPREFIX}/etc/profile"
- ewarn "or"
- ewarn " (tcsh) # source ${EPREFIX}/etc/csh.login"
- echo
- fi
-
- return 0
-}
-
-uninstall_target() {
- : ${TARGET:=${UARG}}
-
- if [[ ${TARGET} == ${HOST} ]] ; then
- die "refusing to uninstall native binutils"
- fi
-
- shopt -s nullglob
- PROFILE=""
-
- for PROFILE in "${ENV_D}"/${TARGET}-* ; do
- ewarn "Removing all signs of ${PROFILE##*/}"
- rm -f "${ENV_D}"/${PROFILE}
- done
- if [[ -z ${PROFILE} ]] && [[ ! -e ${ENV_D}/config-${TARGET} ]] ; then
- die "no profiles exist for '${TARGET}'"
- fi
-
- rm -f "${ENV_D}"/config-${TARGET} "${ROOT}"/etc/ld.so.conf.d/05binutils.conf
-
- # XXX: we still leave behind FAKE_TARGETS in /usr/bin ...
- local x
- for x in addr2line ar as c++filt elf2flt flthdr gprof ld ld.real \
- nm objcopy objdump ranlib readelf size strings strip ; do
- x=(
- "${EROOT}"/usr/bin/${TARGET}-${x}
- "${EROOT}"/usr/{${HOST}/,}${TARGET}/bin/${x}
- "${EROOT}"/usr/libexec/gcc/${TARGET}/${x}
- )
- rm -f "${x[@]}"
- done
- for x in ansidecl.h bfd.h bfdlink.h dis-asm.h symcat.h ; do
- rm -f "${EROOT}"/usr/{${HOST}/,}${TARGET}/{usr/,}include/${x}
- done
- for x in bfd iberty opcodes ; do
- rm -f "${EROOT}"/usr/${HOST}/${TARGET}/lib/lib${x}{{-*,}.so,.a,.la}
- done
- # Delete broken symlinks
- local destdir="${EROOT}/usr/${HOST}/${TARGET}"
- rm -f "${destdir}"/lib/ldscripts
- find -L "${destdir}"/lib -type l -exec rm {} +
- rmdir \
- "${destdir}"/{bin,include,lib,usr} \
- "${destdir}" \
- "${EROOT}"/var/db/pkg/cross-${TARGET} \
- 2>/dev/null
-
- rm -f "${ENV_D}"/${TARGET}-*
-}
-
-set_current_profile() {
- if [[ ! -f ${ENV_D}/config-${TARGET} ]] ; then
- eerror "${argv0}: unable to locate a profile for target: ${TARGET}"
- return 1
- fi
-
- source "${ENV_D}/config-${TARGET}"
-
- if [[ -z ${CURRENT} ]] ; then
- eerror "${argv0}: no binutils profile is active!"
- return 1
- fi
-
- echo "${TARGET}-${CURRENT}"
-
- return 0
-}
-get_current_profile() { echo "${PROFILE}" ; }
-
-list_profiles() {
- local x i target
-
- if [[ ${ROOT} != / ]] ; then
- echo "Using binutils-config info in ${ROOT}"
- fi
-
- set -- "${ENV_D}"/*
- target=
- i=1
-
- for x ; do
- # skip broken links and config files
- [[ -f ${x} ]] || continue
- [[ ${x} == */config-* ]] && continue
-
- source "${x}"
- if [[ ${target} != ${TARGET} ]] ; then
- [[ -n ${target} ]] && echo
- target=${TARGET}
- fi
-
- x=${x##*/}
- if [[ -e ${ENV_D}/config-${TARGET} ]] ; then
- source "${ENV_D}/config-${TARGET}"
- if [[ ${VER} == ${CURRENT} ]] ; then
- [[ ${TARGET} == ${HOST} ]] \
- && x="${x} ${GOOD}*${NORMAL}" \
- || x="${x} ${HILITE}*${NORMAL}"
- fi
- fi
-
- # We would align the [...] field like so:
- #printf ' [%*ss] %s\n' ${##} "${i}" "${x}"
- # but this breaks simple scripting: `binutils -l | awk '{print $2}'`
-
- # Or we could align the target col like so:
- #printf ' [%s]%*s %s\n' "${i}" $(( ${##} - ${#i} )) "" "${x}"
- # but i'm not sold that it looks better
-
- # So keep it simple ... only makes a diff anyways for crazy people
- # like me which have 100+ binutils packages installed ...
- echo " [$i] ${x}"
- ((++i))
- done
-}
-
-switch_linker() {
- local bpath ld=$1
-
- case ${ld} in
- ld.*) ;;
- *) die "not supported: linker must start with 'ld.'" ;;
- esac
-
- setup_env || return 1
- bpath="${EROOT}/${BINPATH}"
-
- # does this binutils even support the requested linker ?
- if [[ ! -e ${bpath}/${ld} ]] ; then
- die "sorry, but ${PROFILE} doesn't support the ${ld} linker"
- fi
-
- # switch it up
- ebegin "Setting default linker to ${ld} for ${PROFILE}"
- atomic_ln ${ld} "${bpath}" ld
- eend $?
-}
-
-set_HOST() {
- # Set HOST to CHOST if it isn't already set
- : ${HOST:=${CHOST:-$(portageq envvar CHOST)}}
-}
-
-ENV_D="${EROOT}etc/env.d/binutils"
-
-DEBUG="no"
-NEED_ACTION="yes"
-DOIT="switch_profile"
-PROFILE="current"
-FAKE_TARGETS_USER=""
-HOST=""
-TARGET=""
-unset UARG
-
-select_action() {
- if [[ ${NEED_ACTION} != "no" ]] ; then
- NEED_ACTION="no"
- DOIT=$1
- else
- die "one action at a time!"
- fi
-}
-
-while [[ $# -gt 0 ]] ; do
- x=$1
- shift
- case ${x} in
- -c|--get-current-profile) select_action get_current_profile ;;
- -l|--list|--list-profiles) select_action list_profiles ;;
- -u|--uninstall) select_action uninstall_target ;;
- --linker) select_action "switch_linker $1"; shift ;;
- -d|--debug) DEBUG="yes" ;;
- -h|--help) usage 0 ;;
- -V|--version)
- unset Header
- cvsver="$Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-config/files/binutils-config-3,v 1.9 2012/08/18 03:57:50 vapier Exp $"
- cvsver=${cvsver##*binutils-config-}
- bver=${cvsver%%,v *}
- cvsver=${cvsver#* }
- echo "binutils-config-${bver} (r${cvsver%% *})"
- exit 0
- ;;
- --amd64|--arm|--mips|--x86)
- if [[ ${NEED_ACTION} == "yes" ]] ; then
- # Make sure we have a space after each target
- NEED_ACTION="no"
- case ${x} in
- --amd64) FAKE_TARGETS_USER="x86_64 ";;
- --arm) FAKE_TARGETS_USER="arm armeb ";;
- --x86) FAKE_TARGETS_USER="i386 i486 i586 i686 ";;
- --mips) FAKE_TARGETS_USER="mips mips64 mipsel mipsel64 ";;
- esac
- fi
- ;;
- -*)
- die "invalid switch! Try '--help'."
- ;;
- *)
- if [[ ${UARG+set} == "set" ]] ; then
- die "only one profile/target at a time please"
- fi
- NEED_ACTION="maybe"
- UARG=${x}
- ;;
- esac
-done
-
-[[ ${NEED_ACTION} == "yes" ]] && usage 1
-[[ ${DEBUG} == "yes" ]] && set -x
-
-# All operations need to know the current HOST to figure out
-# what is a native target and what is a cross target
-set_HOST
-
-# All operations need to know the profile the user wants
-case ${DOIT} in
-switch_profile|switch_linker_*)
- # decode user's profile choice
- x=${UARG:-$(TARGET=${HOST} set_current_profile)}
- PROFILE=""
- if [[ -z $(echo ${x} | tr -d '[:digit:]') ]] ; then
- # User gave us a # representing the profile
- i=1
- for y in "${ENV_D}"/* ; do
- [[ ${y/config-} != ${y} ]] && continue
-
- if [[ -f ${y} ]] && [[ ${x} -eq ${i} ]] ; then
- PROFILE=${y##*/}
- break
- fi
- ((++i))
- done
- fi
-
- if [[ -z ${PROFILE} ]] ; then
- # User gave us a full HOST-ver
- x=${x##*/}
- if [[ -f ${ENV_D}/${x} ]] ; then
- # Valid HOST-ver yeah!
- PROFILE=${x}
- else
- # Not a valid HOST-ver ...
- if [[ ! -f ${ENV_D}/config-${x} ]] ; then
- # Maybe they just gave us a ver ...
- if [[ -f ${ENV_D}/${HOST}-${x} ]] ; then
- x=${HOST}-${x}
- else
- die "could not locate '$x' in '${ENV_D}/'!"
- fi
- PROFILE=${x}
- else
- # Maybe they just gave us a target ... pick active profile
- PROFILE=$(TARGET=${x} set_current_profile)
- fi
- fi
- fi
- ;;
-*)
- # lookup current profile as the user gave us a target
- PROFILE=$(TARGET=${UARG:-${HOST}} set_current_profile) || exit 1
- ;;
-esac
-
-eval ${DOIT}
-
-# vim:ts=4
diff --git a/sys-devel/binutils-config/files/binutils-config-4 b/sys-devel/binutils-config/files/binutils-config-4
deleted file mode 100755
index 7454527110..0000000000
--- a/sys-devel/binutils-config/files/binutils-config-4
+++ /dev/null
@@ -1,475 +0,0 @@
-#!/bin/bash
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-config/files/binutils-config-4,v 1.1 2014/07/29 11:15:38 vapier Exp $
-
-# 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}"
-
-: ${ROOT:=/}
-[[ ${ROOT} != */ ]] && ROOT="${ROOT}/"
-[[ ${ROOT} != /* ]] && ROOT="${PWD%/}/${ROOT}"
-
-EROOT="${ROOT%/}${EPREFIX}/"
-
-cd "${EPREFIX}/"
-
-trap ":" INT QUIT TSTP
-
-argv0=${0##*/}
-source "@GENTOO_PORTAGE_EPREFIX@"/etc/init.d/functions.sh || {
- echo "${argv0}: Could not source @GENTOO_PORTAGE_EPREFIX@/etc/init.d/functions.sh!" 1>&2
- exit 1
-}
-esyslog() { :; }
-die() { eerror "${argv0}: $*"; exit 1; }
-umask 022
-
-usage() {
-cat << USAGE_END
-Usage: ${HILITE}binutils-config${NORMAL} ${GOOD}[options]${NORMAL} ${BRACKET}[binutils profile]${NORMAL}
-
-${HILITE}General Options:${NORMAL}
- ${GOOD}-c, --get-current-profile${NORMAL} Print current profile
- ${GOOD}-l, --list-profiles${NORMAL} Print a list of available profiles
- ${GOOD}-u, --uninstall${NORMAL} Remove all signs of specified target
- ${GOOD}-d, --debug${NORMAL} Execute with debug output
-
-${HILITE}General Cruft:${NORMAL}
- ${GOOD}--linker${NORMAL} <linker> Switch to specified linker (if supported)
-
-Profile names are of the form: ${BRACKET}<CTARGET>-<binutils version>${NORMAL}
-For example: ${BRACKET}i686-pc-linux-gnu-2.15.92.0.2${NORMAL}
-
-For more info, please see ${HILITE}binutils-config${NORMAL}(8).
-USAGE_END
-
- exit ${1:-1}
-}
-
-mv_if_diff() {
- if cmp -s "$1" "$2" ; then
- rm -f "$1"
- else
- mv -f "$1" "$2"
- fi
-}
-atomic_ln() {
- local target=$1 linkdir=$2 linkname=$3 linktmp linkfull
- linktmp="${linkdir}/.binutils-config.tmp.${linkname}"
- linkfull="${linkdir}/${linkname}"
- if [[ -d ${linkfull} ]] ; then
- # if linking to a dir, we need a little magic to
- # make it atomic since `mv -T` is not portable
- rm -rf "${linktmp}"
- mkdir -p "${linktmp}"
- ln -sf "${target}" "${linktmp}/${linkname}"
- mv "${linktmp}/${linkname}" "${linktmp}/../"
- rmdir "${linktmp}"
- else
- # `ln` will expand into unlink();symlink(); which
- # is not atomic for a small amount of time, but
- # `mv` is a single rename() call
- ln -sf "${target}" "${linktmp}"
- mv "${linktmp}" "${linkfull}"
- fi
-}
-
-setup_env() {
- unset TARGET VER LIBPATH
- source "${ENV_D}/${PROFILE}"
- if [[ -z ${TARGET} ]] ; then
- eerror "${PROFILE} is invalid (no \$TARGET defined) :("
- return 1
- fi
- if [[ -z ${VER} ]] ; then
- eerror "${PROFILE} is invalid (no \$VER defined) :("
- return 1
- fi
-
- #
- # Generate binary symlinks
- #
- BINPATH=""
- BINPATH_LINKS=""
- if [[ ${TARGET} != ${HOST} ]] ; then
- #
- # Newer paths: /usr/${HOST}/${TARGET}/...
- # Older paths: /usr/${TARGET}/...
- #
- if [[ -d ${ROOT}${EPREFIX}/usr/${HOST}/${TARGET}/binutils-bin/${VER} ]] ; then
- BINPATH="${EPREFIX}"/usr/${HOST}/${TARGET}/binutils-bin/${VER}
- BINPATH_LINKS="${EPREFIX}"/usr/libexec/gcc/${TARGET}
- fi
- fi
- if [[ -z ${BINPATH} ]] ; then
- BINPATH="${EPREFIX}"/usr/${TARGET}/binutils-bin/${VER}
- BINPATH_LINKS="${EPREFIX}"/usr/${TARGET}/bin
- fi
-}
-
-switch_profile() {
- ebegin "Switching to ${PROFILE}"
-
- setup_env || return 1
-
- cd "${ROOT}/${BINPATH}" || exit 1
- mkdir -p "${ROOT}/${BINPATH_LINKS}" "${EROOT}/usr/bin"
- for x in * ; do
- atomic_ln "${BINPATH}/${x}" "${ROOT}/${BINPATH_LINKS}" "${x}"
- atomic_ln "${BINPATH_LINKS}/${x}" "${EROOT}/usr/bin" "${TARGET}-${x}"
- if [[ ${TARGET} == ${HOST} ]] ; then
- atomic_ln "${TARGET}-${x}" "${EROOT}/usr/bin" "${x}"
- fi
- done
-
- #
- # Generate library / ldscripts symlinks
- #
- : ${LIBPATH:=${EPREFIX}/usr/lib/binutils/${TARGET}/${VER}}
- cd "${ROOT}/${LIBPATH}" || exit 1
- if [[ ${TARGET} == ${HOST} ]] ; then
- dstlib=${EROOT}/usr/${HOST}/lib
- else
- dstlib=${EROOT}/usr/${HOST}/${TARGET}/lib
- fi
- # When upgrading, we need to clean up ldscripts and libs
- mkdir -p "${dstlib}"
- rm -rf "${ROOT}/${BINPATH_LINKS}"/ldscripts
- # avoid pointless warning about removing non-existant ldscripts dir
- if [[ -d ${ROOT}/${LIBPATH}/ldscripts ]] ; then
- atomic_ln "${LIBPATH}/ldscripts" "${dstlib}" "ldscripts"
- find -L "${dstlib}" -type l -exec rm -v {} +
- fi
- for x in lib* ; do
- # avoid symlink 'lib*' -> '/...' when no libs (native/nongnu binutils)
- [[ ${x} != 'lib*' ]] || continue
- atomic_ln "${LIBPATH}/${x}" "${dstlib}" "${x}"
- done
-
- #
- # Generate include symlinks
- #
- INCPATH=${LIBPATH}/include
- if [[ -d ${ROOT}/${INCPATH} ]] ; then
- cd "${ROOT}/${INCPATH}" || exit 1
- if [[ ${HOST} == ${TARGET} ]] ; then
- mkdir -p "${EROOT}/usr/include"
- for x in * ; do
- atomic_ln "${INCPATH}/${x}" "${EROOT}/usr/include" "${x}"
- done
- else
- # Clean out old path -- cannot use '-exec {} +' syntax here
- find . -type f -exec rm -f "${EROOT}/usr/${TARGET}/usr/include/{}" \;
- rmdir "${EROOT}/usr/${TARGET}/usr/include" >& /dev/null
- rmdir "${EROOT}/usr/${TARGET}/usr" >& /dev/null
- rmdir "${EROOT}/usr/${TARGET}" >& /dev/null
- fi
- fi
-
- #
- # Make sure proper paths get updated
- #
- if [[ ${TARGET} == ${HOST} ]] ; then
- DATAPATH="${EPREFIX}"/usr/share/binutils-data/${TARGET}/${VER}
- local e="${EROOT}"/etc/env.d/05binutils
- local ee="${e}.tmp"
- rm -f "${ee}"
- [[ -d ${DATAPATH}/man ]] && echo "MANPATH=${DATAPATH}/man" >> "${ee}"
- [[ -d ${DATAPATH}/info ]] && echo "INFOPATH=${DATAPATH}/info" >> "${ee}"
- # hmm, `ld` has this in SEARCH_DIR(), but ld.so does not ...
- if [[ -d ${EROOT}/etc/ld.so.conf.d ]] ; then
- local l="${EROOT}"/etc/ld.so.conf.d/05binutils.conf
- local ll="${l}.tmp"
- echo "${EPREFIX}/usr/${TARGET}/lib" > "${ll}"
- mv_if_diff "${ll}" "${l}"
- else
- echo "LDPATH=${EPREFIX}/usr/${TARGET}/lib" >> "${ee}"
- fi
- mv_if_diff "${ee}" "${e}"
- fi
-
- local c="${ENV_D}/config-${TARGET}"
- local cc="${c}.tmp"
- echo "CURRENT=${VER}" > "${cc}"
- mv_if_diff "${cc}" "${c}"
-
- eend 0
-
- #
- # Regen env.d if need/can be
- #
- if [[ ${ROOT} == "/" ]] && [[ ${TARGET} == ${HOST} ]] ; then
- env-update
- echo
- ewarn "Please remember to run:"
- echo
- ewarn " # . ${EPREFIX}/etc/profile"
- echo
- fi
-
- return 0
-}
-
-uninstall_target() {
- : ${TARGET:=${UARG}}
-
- if [[ ${TARGET} == ${HOST} ]] ; then
- die "refusing to uninstall native binutils"
- fi
-
- shopt -s nullglob
- PROFILE=""
-
- for PROFILE in "${ENV_D}"/${TARGET}-* ; do
- ewarn "Removing all signs of ${PROFILE##*/}"
- rm -f "${ENV_D}"/${PROFILE}
- done
- if [[ -z ${PROFILE} ]] && [[ ! -e ${ENV_D}/config-${TARGET} ]] ; then
- die "no profiles exist for '${TARGET}'"
- fi
-
- rm -f "${ENV_D}"/config-${TARGET} "${EROOT}"/etc/ld.so.conf.d/05binutils.conf
-
- local x
- for x in \
- addr2line ar as c++filt elf2flt elfedit flthdr gprof \
- ld ld.{bfd,gold,real} \
- nm objcopy objdump ranlib readelf size strings strip
- do
- x=(
- "${EROOT}"/usr/bin/${TARGET}-${x}
- "${EROOT}"/usr/{${HOST}/,}${TARGET}/bin/${x}
- "${EROOT}"/usr/libexec/gcc/${TARGET}/${x}
- )
- rm -f "${x[@]}"
- done
- for x in ansidecl.h bfd.h bfdlink.h dis-asm.h symcat.h ; do
- rm -f "${EROOT}"/usr/{${HOST}/,}${TARGET}/{usr/,}include/${x}
- done
- for x in bfd iberty opcodes ; do
- rm -f "${EROOT}"/usr/${HOST}/${TARGET}/lib/lib${x}{{-*,}.so,.a,.la}
- done
- # Delete broken symlinks
- local destdir="${EROOT}/usr/${HOST}/${TARGET}"
- rm -f "${destdir}"/lib/ldscripts
- find -L "${destdir}"/lib -type l -exec rm {} +
- rmdir \
- "${destdir}"/{bin,include,lib,usr} \
- "${destdir}" \
- "${EROOT}"/var/db/pkg/cross-${TARGET} \
- "${EROOT}"/usr/{${HOST}/,}${TARGET}/bin \
- "${EROOT}"/usr/libexec/gcc/${TARGET} \
- 2>/dev/null
-
- rm -f "${ENV_D}"/${TARGET}-*
-}
-
-set_current_profile() {
- if [[ ! -f ${ENV_D}/config-${TARGET} ]] ; then
- eerror "${argv0}: unable to locate a profile for target: ${TARGET}"
- return 1
- fi
-
- source "${ENV_D}/config-${TARGET}"
-
- if [[ -z ${CURRENT} ]] ; then
- eerror "${argv0}: no binutils profile is active!"
- return 1
- fi
-
- echo "${TARGET}-${CURRENT}"
-
- return 0
-}
-get_current_profile() { echo "${PROFILE}" ; }
-
-list_profiles() {
- local x i target
-
- if [[ ${ROOT} != / ]] ; then
- echo "Using binutils-config info in ${ROOT}"
- fi
-
- set -- "${ENV_D}"/*
- target=
- i=1
-
- for x ; do
- # skip broken links and config files
- [[ -f ${x} ]] || continue
- [[ ${x} == */config-* ]] && continue
-
- source "${x}"
- if [[ ${target} != ${TARGET} ]] ; then
- [[ -n ${target} ]] && echo
- target=${TARGET}
- fi
-
- x=${x##*/}
- if [[ -e ${ENV_D}/config-${TARGET} ]] ; then
- source "${ENV_D}/config-${TARGET}"
- if [[ ${VER} == ${CURRENT} ]] ; then
- [[ ${TARGET} == ${HOST} ]] \
- && x="${x} ${GOOD}*${NORMAL}" \
- || x="${x} ${HILITE}*${NORMAL}"
- fi
- fi
-
- # We would align the [...] field like so:
- #printf ' [%*ss] %s\n' ${##} "${i}" "${x}"
- # but this breaks simple scripting: `binutils -l | awk '{print $2}'`
-
- # Or we could align the target col like so:
- #printf ' [%s]%*s %s\n' "${i}" $(( ${##} - ${#i} )) "" "${x}"
- # but i'm not sold that it looks better
-
- # So keep it simple ... only makes a diff anyways for crazy people
- # like me which have 100+ binutils packages installed ...
- echo " [$i] ${x}"
- ((++i))
- done
-}
-
-switch_linker() {
- local bpath ld=$1
-
- case ${ld} in
- ld.*) ;;
- *) die "not supported: linker must start with 'ld.'" ;;
- esac
-
- setup_env || return 1
- bpath="${ROOT}/${BINPATH}"
-
- # does this binutils even support the requested linker ?
- if [[ ! -e ${bpath}/${ld} ]] ; then
- die "sorry, but ${PROFILE} doesn't support the ${ld} linker"
- fi
-
- # switch it up
- ebegin "Setting default linker to ${ld} for ${PROFILE}"
- atomic_ln ${ld} "${bpath}" ld
- eend $?
-}
-
-set_HOST() {
- # Set HOST to CHOST if it isn't already set
- : ${HOST:=${CHOST:-$(portageq envvar CHOST)}}
-}
-
-ENV_D="${EROOT}etc/env.d/binutils"
-
-DEBUG="no"
-NEED_ACTION="yes"
-DOIT="switch_profile"
-PROFILE="current"
-HOST=""
-TARGET=""
-unset UARG
-
-select_action() {
- if [[ ${NEED_ACTION} != "no" ]] ; then
- NEED_ACTION="no"
- DOIT=$1
- else
- die "one action at a time!"
- fi
-}
-
-while [[ $# -gt 0 ]] ; do
- x=$1
- shift
- case ${x} in
- -c|--get-current-profile) select_action get_current_profile ;;
- -l|--list|--list-profiles) select_action list_profiles ;;
- -u|--uninstall) select_action uninstall_target ;;
- --linker) select_action "switch_linker $1"; shift ;;
- -d|--debug) DEBUG="yes" ;;
- -h|--help) usage 0 ;;
- -V|--version)
- unset Header
- cvsver="$Header: /var/cvsroot/gentoo-x86/sys-devel/binutils-config/files/binutils-config-4,v 1.1 2014/07/29 11:15:38 vapier Exp $"
- cvsver=${cvsver##*binutils-config-}
- bver=${cvsver%%,v *}
- cvsver=${cvsver#* }
- echo "binutils-config-${bver} (r${cvsver%% *})"
- exit 0
- ;;
- -*)
- die "invalid switch! Try '--help'."
- ;;
- *)
- if [[ ${UARG+set} == "set" ]] ; then
- die "only one profile/target at a time please"
- fi
- NEED_ACTION="maybe"
- UARG=${x}
- ;;
- esac
-done
-
-[[ ${NEED_ACTION} == "yes" ]] && usage 1
-[[ ${DEBUG} == "yes" ]] && set -x
-
-# All operations need to know the current HOST to figure out
-# what is a native target and what is a cross target
-set_HOST
-
-# All operations need to know the profile the user wants
-case ${DOIT} in
-switch_profile|switch_linker_*)
- # decode user's profile choice
- x=${UARG:-$(TARGET=${HOST} set_current_profile)}
- PROFILE=""
- if [[ -z $(echo ${x} | tr -d '[:digit:]') ]] ; then
- # User gave us a # representing the profile
- i=1
- for y in "${ENV_D}"/* ; do
- [[ ${y/config-} != ${y} ]] && continue
-
- if [[ -f ${y} ]] && [[ ${x} -eq ${i} ]] ; then
- PROFILE=${y##*/}
- break
- fi
- ((++i))
- done
- fi
-
- if [[ -z ${PROFILE} ]] ; then
- # User gave us a full HOST-ver
- x=${x##*/}
- if [[ -f ${ENV_D}/${x} ]] ; then
- # Valid HOST-ver yeah!
- PROFILE=${x}
- else
- # Not a valid HOST-ver ...
- if [[ ! -f ${ENV_D}/config-${x} ]] ; then
- # Maybe they just gave us a ver ...
- if [[ -f ${ENV_D}/${HOST}-${x} ]] ; then
- x=${HOST}-${x}
- else
- die "could not locate '$x' in '${ENV_D}/'!"
- fi
- PROFILE=${x}
- else
- # Maybe they just gave us a target ... pick active profile
- PROFILE=$(TARGET=${x} set_current_profile)
- fi
- fi
- fi
- ;;
-*)
- # lookup current profile as the user gave us a target
- PROFILE=$(TARGET=${UARG:-${HOST}} set_current_profile) || exit 1
- ;;
-esac
-
-eval ${DOIT}
-
-# vim:ts=4
diff --git a/sys-devel/binutils-config/files/binutils-config-4-aix-ld-svr4.patch b/sys-devel/binutils-config/files/binutils-config-4-aix-ld-svr4.patch
deleted file mode 100644
index f0f8a4392a..0000000000
--- a/sys-devel/binutils-config/files/binutils-config-4-aix-ld-svr4.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-Don't change ld behaviour by adding -brtl flag here.
-Work around ld bug with -bsvr4 -bnoentry -bE:file args.
---- ld/aixplugin.c.orig 2015-02-10 17:28:17 +0100
-+++ ld/aixplugin.c 2015-02-10 17:33:55 +0100
-@@ -32,7 +32,7 @@
- String const *argString;
- String *newString = NULL;
- char libpath2runpath = 1; /* whether to record -L as runpath */
-- char svr4mode = 0; /* whether we are in -bsvr4 mode */
-+ String const *svr4modeArg = NULL; /* whether we are in -bsvr4 mode */
- char const *argBuffer;
- int argBufferLength;
-
-@@ -53,20 +53,22 @@
- || StringListAppendConcat(aixRunpathList, "/lib", strlen("/lib"), NULL) < 0
- ) break;
-
-- /* always use runtime linking (-brtl) */
-- if (StringListAppendConcat(data->out->argList, "-brtl", strlen("-brtl"), NULL) < 0)
-- break;
--
- /* detect if we are in svr4 mode (-bsvr4).
- * "-R runpath" is only accepted in svr4 mode,
- * but we add "-R runpath" as extension in normal mode to add default runpath.
-+ * Also, 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
-+ * ld:open(): No such file or directory
-+ * Simplest workaround is to put -bsvr4 last.
- */
- for(argc = 1; argc < StringListGetSize(data->in->argList); argc++) {
- argString = StringListGetString(data->in->argList, argc);
- argBuffer = StringGetBuffer(argString);
- if (strcmp(argBuffer, "-bsvr4") == 0) {
-- svr4mode = 1;
-+ svr4modeArg = argString;
- libpath2runpath = 0;
-+ break;
- }
- }
-
-@@ -80,7 +82,7 @@
- libpath2runpath = 0;
- /* This also removes each runpath specified before. */
- StringListClear(runpathList);
-- if (svr4mode) {
-+ if (svr4modeArg) {
- StringListClear(defaultRunpathList);
- } /* else we accept -R as extension */
- continue;
-@@ -96,7 +98,7 @@
- /* '-blibpath:' kills previous '-blibpath:' */
- StringListClear(runpathList);
-
-- if (svr4mode) {
-+ if (svr4modeArg) {
- /* it also kills previous '-Rrunpathlist' in svr4mode */
- StringListClear(defaultRunpathList);
- } /* else we accept -R as extension */
-@@ -125,7 +127,7 @@
- continue;
- } else
- if (strncmp(argBuffer, "-R", strlen("-R")) == 0) {
-- if (svr4mode) {
-+ if (svr4modeArg) {
- /* in svr4 mode, '-R' kills previous '-blibpath:' arguments.
- * in normal mode, we implement '-R runpath' as an extension.
- */
-@@ -150,6 +152,10 @@
- break;
-
- continue;
-+ } else
-+ if (strcmp(argBuffer, "-bsvr4") == 0) {
-+ /* add -bsvr4 last */
-+ continue;
- }
-
- /* keep other arguments */
-@@ -193,6 +199,9 @@
- if (StringListAppendListModify(data->out->argList, data->in->sysLibpath, 0, -1, "-L", 2, NULL, 0) < 0)
- break;
-
-+ if (svr4modeArg && StringListAppendString(data->out->argList, svr4modeArg) < 0)
-+ break;
-+
- err = 0;
- } while(0); /* end dummy loop */
-
diff --git a/sys-devel/binutils-config/files/binutils-config-4-ldwrapper.patch b/sys-devel/binutils-config/files/binutils-config-4-ldwrapper.patch
deleted file mode 100644
index 98dd729d28..0000000000
--- a/sys-devel/binutils-config/files/binutils-config-4-ldwrapper.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/binutils-config b/binutils-config
-index 7454527..570a6b0 100755
---- a/binutils-config
-+++ b/binutils-config
-@@ -121,7 +121,26 @@ switch_profile() {
- cd "${ROOT}/${BINPATH}" || exit 1
- mkdir -p "${ROOT}/${BINPATH_LINKS}" "${EROOT}/usr/bin"
- for x in * ; do
-- atomic_ln "${BINPATH}/${x}" "${ROOT}/${BINPATH_LINKS}" "${x}"
-+ case ${x} in
-+ ld|ld64)
-+ # recompile the wrapper for the desired target
-+ # not a huge fan of it, never have been
-+ "@GENTOO_PORTAGE_EPREFIX@"/usr/lib/misc/binutils-config/create-ldwrapper \
-+ --wrapper-name="${x}" \
-+ --wrapper-source="${EROOT}usr/lib/misc/binutils-config" \
-+ --output-file="${ROOT}/${BINPATH_LINKS}/${x}" \
-+ --host="${HOST}" \
-+ --target="${TARGET}" \
-+ --binpath="${BINPATH#${EPREFIX}}" \
-+ --debug="${DEBUG}" \
-+ || return 1
-+ touch -r "${ROOT}/${BINPATH}/${x}" "${ROOT}/${BINPATH_LINKS}/${x}"
-+ ;;
-+ *)
-+ atomic_ln "${BINPATH}/${x}" "${ROOT}/${BINPATH_LINKS}" "${x}"
-+ ;;
-+ esac
-+
- atomic_ln "${BINPATH_LINKS}/${x}" "${EROOT}/usr/bin" "${TARGET}-${x}"
- if [[ ${TARGET} == ${HOST} ]] ; then
- atomic_ln "${TARGET}-${x}" "${EROOT}/usr/bin" "${x}"
diff --git a/sys-devel/binutils-config/files/binutils-config-4-no-macosx-version-min.patch b/sys-devel/binutils-config/files/binutils-config-4-no-macosx-version-min.patch
deleted file mode 100644
index bde2dbf265..0000000000
--- a/sys-devel/binutils-config/files/binutils-config-4-no-macosx-version-min.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=537684
-Patch by Michael Weiser
-
-Stripped down to c-file part only to avoid autoreconf triggering.
-
---- ./toolchain-prefix-wrapper-0.3.1723/ld/darwinplugin.c.orig 2015-01-24 21:23:44.000000000 +0100
-+++ ./toolchain-prefix-wrapper-0.3.1723/ld/darwinplugin.c 2015-01-24 21:24:04.000000000 +0100
-@@ -22,8 +22,6 @@
- err = -1;
-
- if (StringListAppendConcat(data->out->argList, "-search_paths_first", 19, NULL) < 0) break;
-- if (StringListAppendConcat(data->out->argList, "-macosx_version_min", 19, NULL) < 0) break;
-- if (StringListAppendConcat(data->out->argList, MIN_OSX_TARGET, sizeof(MIN_OSX_TARGET), NULL) < 0) break;
-
-
- /* keep argv[1] ... argv[n] */
diff --git a/sys-devel/binutils-config/metadata.xml b/sys-devel/binutils-config/metadata.xml
index 9b879b280b..b1f742a890 100644
--- a/sys-devel/binutils-config/metadata.xml
+++ b/sys-devel/binutils-config/metadata.xml
@@ -2,10 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
+ <email>prefix@gentoo.org</email>
+ <name>Gentoo Prefix Project</name>
+</maintainer>
+<maintainer type="project">
<email>toolchain@gentoo.org</email>
<name>Gentoo Toolchain Project</name>
</maintainer>
- <use>
- <flag name="sunld">Use Solaris linker instead of GNU binutils on Solaris</flag>
- </use>
</pkgmetadata>
next reply other threads:[~2017-11-25 18:33 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-25 18:33 Fabian Groffen [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-04-06 14:36 [gentoo-commits] repo/proj/prefix:master commit in: sys-devel/binutils-config/files/, sys-devel/binutils-config/ Fabian Groffen
2024-01-21 9:46 Fabian Groffen
2020-12-22 21:30 Fabian Groffen
2020-11-27 13:39 Fabian Groffen
2019-10-13 18:12 Fabian Groffen
2018-04-07 19:43 Fabian Groffen
2016-02-14 14:56 Fabian Groffen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1511624948.f1c2d739d6990e43502251afd7dcb6854abf8ce9.grobian@gentoo \
--to=grobian@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox