diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-05-05 03:32:45 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-05-05 03:32:45 +0000 |
commit | 8ba85e2b4706d3f58bf64ba1dbc88ed536854492 (patch) | |
tree | d79f2ad572771abb564e483ccb6a633c4f8cbf66 /sys-devel/m4 | |
parent | Install as gm4 by default and drop in a m4 symlink on GNU systems #90858. (diff) | |
download | gentoo-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/ChangeLog | 7 | ||||
-rw-r--r-- | sys-devel/m4/files/m4-1.4.3-pointer.patch | 43 | ||||
-rw-r--r-- | sys-devel/m4/m4-1.4.3.ebuild | 3 |
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() { |