findutils: pull in compile-time fix for x32 from upstream

Only a compile time patch has been added and affects the x32 ABI.

BUG=chromium-os:36866
TEST=`emerge-stumpy findutils` works
TEST=`emerge-x86-alex findutils` works
TEST=`emerge-x32-generic findutils` works
TEST=`emerge-daisy findutils` works

Change-Id: Ia7d4d1ee0c383a47d360d2d59e57adf5d440f1d6
Reviewed-on: https://gerrit.chromium.org/gerrit/39052
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
Mike Frysinger 2012-12-01 16:40:02 -05:00 committed by Gerrit
parent f06fbee965
commit a49d06de0b
3 changed files with 35 additions and 7 deletions

View File

@ -3,10 +3,10 @@ DEPEND=selinux? ( sys-libs/libselinux ) nls? ( virtual/libintl ) nls? ( sys-deve
DESCRIPTION=GNU utilities for finding files DESCRIPTION=GNU utilities for finding files
HOMEPAGE=http://www.gnu.org/software/findutils/ HOMEPAGE=http://www.gnu.org/software/findutils/
IUSE=nls selinux static IUSE=nls selinux static
KEYWORDS=~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 KEYWORDS=alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86
LICENSE=GPL-2 LICENSE=GPL-2
RDEPEND=selinux? ( sys-libs/libselinux ) nls? ( virtual/libintl ) RDEPEND=selinux? ( sys-libs/libselinux ) nls? ( virtual/libintl )
SLOT=0 SLOT=0
SRC_URI=ftp://alpha.gnu.org/gnu/findutils/findutils-4.4.2.tar.gz mirror://gnu/findutils/findutils-4.4.2.tar.gz SRC_URI=mirror://gnu-alpha/findutils/findutils-4.4.2.tar.gz mirror://gnu/findutils/findutils-4.4.2.tar.gz
_eclasses_=eutils 33ef77a15337022e05342d2c772a7a5a flag-o-matic 01a8b1eb019305bc4b4a8bd0b04e4cd8 multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29 _eclasses_=eutils 33ef77a15337022e05342d2c772a7a5a flag-o-matic 01a8b1eb019305bc4b4a8bd0b04e4cd8 multilib 5f4ad6cf85e365e8f0c6050ddd21659e portability 0be430f759a631e692678ed796e09f5c toolchain-funcs 6526ac6fc9aedf391efb91fcd75ace68 user 9e552f935106ff0bc92af16da64b4b29
_md5_=7fd43e3d8b68c370c6903d5bf79747b7 _md5_=4512e0c1929b2f55a210597633f8e8e8

View File

@ -0,0 +1,26 @@
newer gnulib has rewritten these checks in a way that works for the x32,
and for the targets we care about, these checks won't return false. so
just drop them to make our life simpler.
https://sites.google.com/site/x32abi/x32-patches
--- findutils-4.4.2/gnulib/lib/getdate.c.x32 2009-05-10 14:23:57.000000000 -0700
+++ findutils-4.4.2/gnulib/lib/getdate.c 2011-12-05 11:41:18.130675712 -0800
@@ -114,7 +114,6 @@
wraps around, but there's no portable way to check for that at
compile-time. */
verify (TYPE_IS_INTEGER (time_t));
-verify (LONG_MIN <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= LONG_MAX);
/* An integer value, and the number of digits in its textual
representation. */
--- findutils-4.4.2/gnulib/lib/mktime.c.x32 2009-05-10 14:25:13.000000000 -0700
+++ findutils-4.4.2/gnulib/lib/mktime.c 2011-12-05 11:49:38.368589386 -0800
@@ -166,7 +166,5 @@ ydhms_diff (long int year1, long int yda
{
verify (C99_integer_division, -1 / 2 == 0);
- verify (long_int_year_and_yday_are_wide_enough,
- INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX);
/* Compute intervening leap days correctly even if year is negative.
Take care to avoid integer overflow here. */

View File

@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation # Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/findutils/findutils-4.4.2-r1.ebuild,v 1.1 2011/07/05 21:08:17 vapier Exp $ # $Header: /var/cvsroot/gentoo-x86/sys-apps/findutils/findutils-4.4.2-r1.ebuild,v 1.10 2012/03/27 17:50:37 vapier Exp $
inherit eutils flag-o-matic toolchain-funcs multilib inherit eutils flag-o-matic toolchain-funcs multilib
@ -8,12 +8,12 @@ SELINUX_PATCH="findutils-4.4.2-selinux.diff"
DESCRIPTION="GNU utilities for finding files" DESCRIPTION="GNU utilities for finding files"
HOMEPAGE="http://www.gnu.org/software/findutils/" HOMEPAGE="http://www.gnu.org/software/findutils/"
SRC_URI="ftp://alpha.gnu.org/gnu/${PN}/${P}.tar.gz SRC_URI="mirror://gnu-alpha/${PN}/${P}.tar.gz
mirror://gnu/${PN}/${P}.tar.gz" mirror://gnu/${PN}/${P}.tar.gz"
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86"
IUSE="nls selinux static" IUSE="nls selinux static"
RDEPEND="selinux? ( sys-libs/libselinux ) RDEPEND="selinux? ( sys-libs/libselinux )
@ -25,6 +25,8 @@ src_unpack() {
unpack ${A} unpack ${A}
cd "${S}" cd "${S}"
epatch "${FILESDIR}"/${P}-gnulib-date-x32.patch
# Don't build or install locate because it conflicts with slocate, # Don't build or install locate because it conflicts with slocate,
# which is a secure version of locate. See bug 18729 # which is a secure version of locate. See bug 18729
sed -i '/^SUBDIRS/s/locate//' Makefile.in sed -i '/^SUBDIRS/s/locate//' Makefile.in