hi,
the m4-100-uclibc.patch and bison-100-uclibc.patch are taken from the
uclibc mailing list
greetz
--- bison-2.4.2/lib/spawn.in.h.orig 2010-04-23 12:37:10.000000000 +0200
+++ bison-2.4.2/lib/spawn.in.h 2010-04-23 12:37:38.000000000 +0200
@@ -31,7 +31,7 @@
/* Get definitions of 'struct sched_param' and 'sigset_t'.
But avoid namespace pollution on glibc systems. */
-#ifndef __GLIBC__
+#if 1
# include <sched.h>
# include <signal.h>
#endif
diff -durpN m4-1.4.14/lib/spawn.in.h m4-1.4.14-ucfix/lib/spawn.in.h
--- m4-1.4.14/lib/spawn.in.h 2010-01-28 05:04:07.000000000 -0800
+++ m4-1.4.14-ucfix/lib/spawn.in.h 2010-02-27 23:10:41.000000000 -0800
@@ -31,7 +31,7 @@
/* Get definitions of 'struct sched_param' and 'sigset_t'.
But avoid namespace pollution on glibc systems. */
-#ifndef __GLIBC__
+#if 1
# include <sched.h>
# include <signal.h>
#endif
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../uclibc/patches/bison-30-warn_redefined.patch
# Copyright (C) 2004 - 2009 The T2 SDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- T2-COPYRIGHT-NOTE-END ---
Warn symbol is part of libc.o, use a difference name.
--- bison-2.4.1/src/complain.c.orig 2009-02-20 14:57:21.000000000 +0100
+++ bison-2.4.1/src/complain.c 2009-02-20 14:57:55.000000000 +0100
@@ -94,7 +94,7 @@
}
void
-warn (const char *message, ...)
+warn_bison (const char *message, ...)
{
set_warning_issued ();
ERROR_MESSAGE (NULL, _("warning"), message);
--- bison-2.4.1/src/complain.h.orig 2009-02-20 14:55:49.000000000 +0100
+++ bison-2.4.1/src/complain.h 2009-02-20 14:57:00.000000000 +0100
@@ -25,7 +25,7 @@
/** Informative messages, but we proceed. */
-void warn (char const *format, ...)
+void warn_bison (char const *format, ...)
__attribute__ ((__format__ (__printf__, 1, 2)));
void warn_at (location loc, char const *format, ...)
--- bison-2.4.2/src/files.c.orig 2010-02-25 05:56:42.000000000 +0100
+++ bison-2.4.2/src/files.c 2010-04-23 12:28:56.000000000 +0200
@@ -366,7 +366,7 @@ output_file_name_check (char **file_name
for (i = 0; i < file_names_count; i++)
if (0 == strcmp (file_names[i], *file_name))
{
- warn (_("conflicting outputs to file %s"),
+ warn_bison (_("conflicting outputs to file %s"),
quote (*file_name));
conflict = true;
}
--- bison-2.4.1/src/conflicts.c.orig 2009-02-20 15:08:17.000000000 +0100
+++ bison-2.4.1/src/conflicts.c 2009-02-20 15:07:59.000000000 +0100
@@ -579,7 +579,7 @@
if (! glr_parser && rrc_total > 0 && expected_rr_conflicts != -1)
{
- warn (_("%%expect-rr applies only to GLR parsers"));
+ warn_bison (_("%%expect-rr applies only to GLR parsers"));
expected_rr_conflicts = -1;
}
--- bison-2.4.1/src/scan-skel.l.orig 2009-02-20 15:15:07.000000000 +0100
+++ bison-2.4.1/src/scan-skel.l 2009-02-20 15:17:00.000000000 +0100
@@ -186,14 +186,14 @@
fail_for_at_directive_too_many_args (at_directive_argv[0]);
fputs (last_component (at_directive_argv[1]), yyout);
}
- else if (0 == strcmp (at_directive_argv[0], "@warn")
+ else if (0 == strcmp (at_directive_argv[0], "@warn_bison")
|| 0 == strcmp (at_directive_argv[0], "@complain")
|| 0 == strcmp (at_directive_argv[0], "@fatal"))
{
void (*func)(char const *, ...);
switch (at_directive_argv[0][1])
{
- case 'w': func = warn; break;
+ case 'w': func = warn_bison; break;
case 'c': func = complain; break;
case 'f': func = fatal; break;
default: aver (false); break;
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# T2 SDE: package/.../uclibc/patches/sed-4.1.4-malloc.patch
# Copyright (C) 2004 - 2005 The T2 SDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- T2-COPYRIGHT-NOTE-END ---
Source:
http://lists.gnu.org/archive/html/bug-gnu-utils/2005-08/msg00112.html
Bug Report: sed-4.1.4 misinterprets uClibc's malloc (patch included)
From: Yuri Vasilevski
Subject: Bug Report: sed-4.1.4 misinterprets uClibc's malloc (patch included)
Date: Tue, 23 Aug 2005 23:17:40 -0500
Hi,
Recent versions of sed expect glibc behavior form malloc, i.e.
malloc(0) return live pointer. This is not true for uClibc (and many
other old/classical libc implementations).
So I made and attach a patch to solve this problem. It basically makes
re_node_set_alloc(set,0) behave exactly as re_node_set_init_empty(set).
Yuri.
diff -Naur sed-4.1.4.orig/lib/regex_internal.c sed-4.1.4/lib/regex_internal.c
--- sed-4.1.4.orig/lib/regex_internal.c 2005-01-28 09:07:56 +0000
+++ sed-4.1.4/lib/regex_internal.c 2005-08-24 03:20:28 +0000
@@ -885,8 +885,9 @@
{
set->alloc = size;
set->nelem = 0;
- set->elems = re_malloc (Idx, size);
- if (BE (set->elems == NULL, 0))
+ set->elems = re_malloc (Idx, size); /* can be NULL if size == 0
+ (see re_node_set_init_empty(set)) */
+ if (BE (set->elems == NULL && size != 0, 0))
return REG_ESPACE;
return REG_NOERROR;
}
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2