Permalink
Browse files

Merge branch 'master' of git.funtoo.org:funtoo-overlay

  • Loading branch information...
2 parents fe2b75b + c07c1fc commit 6b267929ca6fd2b6896fcb1438cc457512bd19a7 @angryvincent angryvincent committed Oct 16, 2013
@@ -10,3 +10,8 @@
>sys-devel/gcc-4.6.4-r2
>sys-devel/binutils-2.22-r1
+# Jean-Francis Roy <jeanfrancis@funtoo.org> (15 Oct 2013)
+# Mask ARM-related glibc upgrade, will be unmasked
+# in the ARM profile. This mask will avoid any
+# unnecessary glibc bump for non-ARM users.
+=sys-libs/glibc-2.13-r5
@@ -0,0 +1,72 @@
+#!/bin/bash
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/gcc/files/fix_libtool_files.sh,v 1.14 2007/09/06 11:00:44 uberlord Exp $
+
+usage() {
+cat << "USAGE_END"
+Usage: fix_libtool_files.sh <old-gcc-version> [--oldarch <old-CHOST>]
+
+ Where <old-gcc-version> is the version number of the
+ previous gcc version. For example, if you updated to
+ gcc-3.2.1, and you had gcc-3.2 installed, run:
+
+ # fix_libtool_files.sh 3.2
+
+ If you updated to gcc-3.2.3, and the old CHOST was i586-pc-linux-gnu
+ but you now have CHOST as i686-pc-linux-gnu, run:
+
+ # fix_libtool_files.sh 3.2 --oldarch i586-pc-linux-gnu
+
+ Note that if only the CHOST and not the version changed, you can run
+ it with the current version and the '--oldarch <old-CHOST>' arguments,
+ and it will do the expected:
+
+ # fix_libtool_files.sh `gcc -dumpversion` --oldarch i586-pc-linux-gnu
+
+USAGE_END
+ exit 1
+}
+
+if [[ $2 != "--oldarch" && $# -ne 1 ]] || \
+ [[ $2 == "--oldarch" && $# -ne 3 ]]
+then
+ usage
+fi
+
+ARGV1=$1
+ARGV2=$2
+ARGV3=$3
+
+source /etc/profile || exit 1
+source /etc/init.d/functions.sh || exit 1
+
+if [[ ${EUID} -ne 0 ]] ; then
+ eerror "${0##*/}: Must be root."
+ exit 1
+fi
+
+# make sure the files come out sane
+umask 0022
+
+if [[ ${ARGV2} == "--oldarch" ]] && [[ -n ${ARGV3} ]] ; then
+ OLDCHOST=${ARGV3}
+else
+ OLDCHOST=
+fi
+
+AWKDIR="/lib/rcscripts/awk"
+
+if [[ ! -r ${AWKDIR}/fixlafiles.awk ]] ; then
+ eerror "${0##*/}: ${AWKDIR}/fixlafiles.awk does not exist!"
+ exit 1
+fi
+
+OLDVER=${ARGV1}
+
+export OLDVER OLDCHOST
+
+einfo "Scanning libtool files for hardcoded gcc library paths..."
+gawk -f "${AWKDIR}/fixlafiles.awk"
+
+# vim:ts=4
@@ -0,0 +1,16 @@
+Chances are quite good that the installed makeinfo is sufficient.
+So ignore false positives where the makeinfo installed is so new
+that it violates the cheesy version grep.
+
+http://bugs.gentoo.org/198182
+
+--- configure
++++ configure
+@@ -3573,6 +3573,6 @@
+ :
+ else
+- MAKEINFO="$MISSING makeinfo"
++ :
+ fi
+ ;;
+
@@ -178,6 +178,47 @@ src_configure() {
use libssp || export gcc_cv_libc_provides_ssp=yes
+ # ARM
+ if use arm ; then
+ local a arm_arch=${CTARGET%%-*}
+ # Remove trailing endian variations first: eb el be bl b l
+ for a in e{b,l} {b,l}e b l ; do
+ if [[ ${arm_arch} == *${a} ]] ; then
+ arm_arch=${arm_arch%${a}}
+ break
+ fi
+ done
+
+ # Convert armv7{a,r,m} to armv7-{a,r,m}
+ local arm_arch_without_dash=${arm_arch}
+ [[ ${arm_arch} == armv7? ]] && arm_arch=${arm_arch/7/7-}
+ # See if this is a valid --with-arch flag
+ if (srcdir=${S}/gcc target=${CTARGET} with_arch=${arm_arch};
+ . "${srcdir}"/config.gcc) &>/dev/null
+ then
+ confgcc+=" --with-arch=${arm_arch}"
+ fi
+
+ # Enable hardvfp
+ tc-is-softfloat="no"
+ local CTARGET_TMP=${CTARGET:-${CHOST}}
+ if [[ ${CTARGET_TMP//_/-} == *-softfloat-* ]] ; then
+ tc-is-softfloat="yes"
+ elif [[ ${CTARGET_TMP//_/-} == *-softfp-* ]] ; then
+ tc-is-softfloat="softfp"
+ fi
+
+ if [[ $(tc-is-softfloat) == "no" ]] && [[ ${CTARGET} == armv[67]* ]]
+ then
+ # Follow the new arm hardfp distro standard by default
+ confgcc+=" --with-float=hard"
+ case ${CTARGET} in
+ armv6*) confgcc+=" --with-fpu=vfp" ;;
+ armv7*) confgcc+=" --with-fpu=vfpv3-d16" ;;
+ esac
+ fi
+ fi
+
local branding="Funtoo"
if use hardened; then
branding="$branding Hardened ${PVR}, pie-${PIE_VER}"
@@ -219,6 +260,16 @@ src_configure() {
# It can find 2.4.2 with no problem automatically but needs help with newer versions
# due to mpfr dir structure changes. We look for includes in the source directory,
# and libraries in the build (objdir) directory.
+
+ if use arm ; then
+ # Source : https://sourceware.org/bugzilla/attachment.cgi?id=6807
+ # Workaround for a problem introduced with GMP 5.1.0.
+ # If configured by gcc with the "none" host & target, it will result in undefined references
+ # to '__gmpn_invert_limb' during linking.
+ # Should be fixed by next version of gcc.
+ sed -i "s/none-/${arm_arch_without_dash}-/" ${WORKDIR}/objdir/Makefile || die
+ fi
+
}
src_compile() {
Oops, something went wrong.

0 comments on commit 6b26792

Please sign in to comment.