summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-05-05 03:32:45 +0000
committerMike Frysinger <vapier@gentoo.org>2005-05-05 03:32:45 +0000
commit8ba85e2b4706d3f58bf64ba1dbc88ed536854492 (patch)
treed79f2ad572771abb564e483ccb6a633c4f8cbf66 /sys-devel/m4
parentInstall as gm4 by default and drop in a m4 symlink on GNU systems #90858. (diff)
downloadgentoo-2-8ba85e2b4706d3f58bf64ba1dbc88ed536854492.tar.gz
gentoo-2-8ba85e2b4706d3f58bf64ba1dbc88ed536854492.tar.bz2
gentoo-2-8ba85e2b4706d3f58bf64ba1dbc88ed536854492.zip
Fix 64bit issues where pointers are stored in types which are too small #87873 by Matt Hargett.
(Portage version: 2.0.51.21)
Diffstat (limited to 'sys-devel/m4')
-rw-r--r--sys-devel/m4/ChangeLog7
-rw-r--r--sys-devel/m4/files/m4-1.4.3-pointer.patch43
-rw-r--r--sys-devel/m4/m4-1.4.3.ebuild3
3 files changed, 51 insertions, 2 deletions
diff --git a/sys-devel/m4/ChangeLog b/sys-devel/m4/ChangeLog
index 23681ddc882e..af56bad6650a 100644
--- a/sys-devel/m4/ChangeLog
+++ b/sys-devel/m4/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-devel/m4
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/ChangeLog,v 1.38 2005/05/05 03:06:11 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/ChangeLog,v 1.39 2005/05/05 03:32:45 vapier Exp $
+
+ 05 May 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/m4-1.4.3-pointer.patch, m4-1.4.3.ebuild:
+ Fix 64bit issues where pointers are stored in types which are too small
+ #87873 by Matt Hargett.
05 May 2005; Mike Frysinger <vapier@gentoo.org> m4-1.4.3.ebuild:
Install as gm4 by default and drop in a m4 symlink on GNU systems #90858.
diff --git a/sys-devel/m4/files/m4-1.4.3-pointer.patch b/sys-devel/m4/files/m4-1.4.3-pointer.patch
new file mode 100644
index 000000000000..325fd55592df
--- /dev/null
+++ b/sys-devel/m4/files/m4-1.4.3-pointer.patch
@@ -0,0 +1,43 @@
+Grab changes from upstream gnulib CVS. We want to make sure
+that when we deal with pointers, we never try and store a pointer
+in a type that is smaller than the size of a pointer.
+
+http://bugs.gentoo.org/show_bug.cgi?id=87873
+
+--- lib/regex.c
++++ lib/regex.c
+@@ -1023,2 +1023,3 @@
+
++typedef unsigned long int active_reg_t;
+ #define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code) \
+@@ -1028,3 +1029,3 @@
+ of 0 + -1 isn't done as unsigned. */ \
+- int this_reg; \
++ active_reg_t this_reg; \
+ \
+@@ -1135,3 +1136,3 @@
+ DEBUG_STATEMENT (fail_stack_elt_t failure_id;) \
+- int this_reg; \
++ active_reg_t this_reg; \
+ const unsigned char *string_temp; \
+@@ -1166,6 +1167,6 @@
+ /* Restore register info. */ \
+- high_reg = (unsigned) POP_FAILURE_ITEM (); \
++ high_reg = (active_reg_t) POP_FAILURE_ITEM (); \
+ DEBUG_PRINT2 (" Popping high active reg: %d\n", high_reg); \
+ \
+- low_reg = (unsigned) POP_FAILURE_ITEM (); \
++ low_reg = (active_reg_t) POP_FAILURE_ITEM (); \
+ DEBUG_PRINT2 (" Popping low active reg: %d\n", low_reg); \
+@@ -3406,4 +3407,4 @@
+ /* The currently active registers. */
+- unsigned lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+- unsigned highest_active_reg = NO_HIGHEST_ACTIVE_REG;
++ active_reg_t lowest_active_reg = NO_LOWEST_ACTIVE_REG;
++ active_reg_t highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+
+@@ -3992,3 +3993,3 @@
+ /* xx why this test? */
+- if ((int) old_regend[r] >= (int) regstart[r])
++ if (old_regend[r] >= regstart[r])
+ regend[r] = old_regend[r];
diff --git a/sys-devel/m4/m4-1.4.3.ebuild b/sys-devel/m4/m4-1.4.3.ebuild
index 96360e9730d3..6b7a53f13240 100644
--- a/sys-devel/m4/m4-1.4.3.ebuild
+++ b/sys-devel/m4/m4-1.4.3.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/m4-1.4.3.ebuild,v 1.3 2005/05/05 03:06:11 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/m4/m4-1.4.3.ebuild,v 1.4 2005/05/05 03:32:45 vapier Exp $
inherit eutils toolchain-funcs
@@ -21,6 +21,7 @@ src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${P}-pointer.patch
}
src_compile() {