All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] Fix coreutils build on uclibc
@ 2013-04-05  0:38 Khem Raj
  2013-04-05  0:39 ` [PATCH 1/1] coreutils: Fix build on uclibc after upgrade to 8.21 Khem Raj
  2013-04-05 13:55 ` [PATCH 0/1] Fix coreutils build on uclibc Khem Raj
  0 siblings, 2 replies; 3+ messages in thread
From: Khem Raj @ 2013-04-05  0:38 UTC (permalink / raw)
  To: openembedded-core

coreutils after upgrade has started to fail to build on uclibc
targets, this series of patches fix the build on uclibc as well
as on eglibc is working normal.

The following changes since commit 2587a33134fde80dd1367629d9def45ac70256ee:

  site: add endianness information for libmemcached (2013-04-04 23:58:00 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib kraj/coreutils
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/coreutils

Khem Raj (1):
  coreutils: Fix build on uclibc after upgrade to 8.21

 ...d-ltr-and-lpthread-for-getting-spawn-func.patch |   15 ++++
 ...sys_time.in.h-Fix-use-of-restrict-keyword.patch |   51 +++++++++++++
 .../coreutils/coreutils-8.21/gcc-uclibc.patch      |   77 ++++++++++++++++++++
 meta/recipes-core/coreutils/coreutils_8.21.bb      |    5 +-
 4 files changed, 147 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/0001-local.mk-Add-ltr-and-lpthread-for-getting-spawn-func.patch
 create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/0001-sys_time.in.h-Fix-use-of-restrict-keyword.patch
 create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/gcc-uclibc.patch

-- 
1.7.9.5




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/1] coreutils: Fix build on uclibc after upgrade to 8.21
  2013-04-05  0:38 [PATCH 0/1] Fix coreutils build on uclibc Khem Raj
@ 2013-04-05  0:39 ` Khem Raj
  2013-04-05 13:55 ` [PATCH 0/1] Fix coreutils build on uclibc Khem Raj
  1 sibling, 0 replies; 3+ messages in thread
From: Khem Raj @ 2013-04-05  0:39 UTC (permalink / raw)
  To: openembedded-core

This upgrade started to breaking build on uclibc
the patches in there fixes the build. What patches
do are explained in patch headers

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...d-ltr-and-lpthread-for-getting-spawn-func.patch |   15 ++++
 ...sys_time.in.h-Fix-use-of-restrict-keyword.patch |   51 +++++++++++++
 .../coreutils/coreutils-8.21/gcc-uclibc.patch      |   77 ++++++++++++++++++++
 meta/recipes-core/coreutils/coreutils_8.21.bb      |    5 +-
 4 files changed, 147 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/0001-local.mk-Add-ltr-and-lpthread-for-getting-spawn-func.patch
 create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/0001-sys_time.in.h-Fix-use-of-restrict-keyword.patch
 create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/gcc-uclibc.patch

diff --git a/meta/recipes-core/coreutils/coreutils-8.21/0001-local.mk-Add-ltr-and-lpthread-for-getting-spawn-func.patch b/meta/recipes-core/coreutils/coreutils-8.21/0001-local.mk-Add-ltr-and-lpthread-for-getting-spawn-func.patch
new file mode 100644
index 0000000..f231b4a
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-8.21/0001-local.mk-Add-ltr-and-lpthread-for-getting-spawn-func.patch
@@ -0,0 +1,15 @@
+Index: coreutils-8.21/src/local.mk
+===================================================================
+--- coreutils-8.21.orig/src/local.mk	2013-01-30 16:46:24.000000000 -0800
++++ coreutils-8.21/src/local.mk	2013-04-03 09:32:17.775482144 -0700
+@@ -302,6 +302,10 @@
+ # for pthread
+ src_sort_LDADD += $(LIB_PTHREAD)
+ 
++# uclibc
++src_timeout_LDADD += $(YIELD_LIB) $(LIBMULTITHREAD)
++src_sort_LDADD += $(YIELD_LIB) $(LIBMULTITHREAD)
++
+ # Get the release year from lib/version-etc.c.
+ RELEASE_YEAR = \
+   `sed -n '/.*COPYRIGHT_YEAR = \([0-9][0-9][0-9][0-9]\) };/s//\1/p' \
diff --git a/meta/recipes-core/coreutils/coreutils-8.21/0001-sys_time.in.h-Fix-use-of-restrict-keyword.patch b/meta/recipes-core/coreutils/coreutils-8.21/0001-sys_time.in.h-Fix-use-of-restrict-keyword.patch
new file mode 100644
index 0000000..c549710
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-8.21/0001-sys_time.in.h-Fix-use-of-restrict-keyword.patch
@@ -0,0 +1,51 @@
+From 23fe0be0366c0110446ab93abb74a8d7a36412af Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 3 Apr 2013 01:13:17 -0700
+Subject: [PATCH] sys_time.in.h: Fix use of restrict keyword
+
+GCC detects that we call 'restrict' as param name in function
+signatures and complains since both params are called 'restrict'
+therefore we use __restrict to denote the C99 keywork
+
+This only happens of uclibc since this code is not excercised with
+eglibc otherwise we will have same issue there too
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+---
+ lib/sys_time.in.h |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/sys_time.in.h b/lib/sys_time.in.h
+index 656c3f1..97bc077 100644
+--- a/lib/sys_time.in.h
++++ b/lib/sys_time.in.h
+@@ -84,20 +84,20 @@ struct timeval
+ #   define gettimeofday rpl_gettimeofday
+ #  endif
+ _GL_FUNCDECL_RPL (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict)
++                  (struct timeval *__restrict, void *__restrict)
+                   _GL_ARG_NONNULL ((1)));
+ _GL_CXXALIAS_RPL (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict));
++                  (struct timeval *__restrict, void *__restrict));
+ # else
+ #  if !@HAVE_GETTIMEOFDAY@
+ _GL_FUNCDECL_SYS (gettimeofday, int,
+-                  (struct timeval *restrict, void *restrict)
++                  (struct timeval *__restrict, void *__restrict)
+                   _GL_ARG_NONNULL ((1)));
+ #  endif
+ /* Need to cast, because on glibc systems, by default, the second argument is
+                                                   struct timezone *.  */
+ _GL_CXXALIAS_SYS_CAST (gettimeofday, int,
+-                       (struct timeval *restrict, void *restrict));
++                       (struct timeval *__restrict, void *__restrict));
+ # endif
+ _GL_CXXALIASWARN (gettimeofday);
+ #elif defined GNULIB_POSIXCHECK
+-- 
+1.7.9.5
+
diff --git a/meta/recipes-core/coreutils/coreutils-8.21/gcc-uclibc.patch b/meta/recipes-core/coreutils/coreutils-8.21/gcc-uclibc.patch
new file mode 100644
index 0000000..d763ee8
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-8.21/gcc-uclibc.patch
@@ -0,0 +1,77 @@
+There are some new warnings coming out of gcc 4.7+ in first case
+declaration of is_range is in a else block and is jumped over by
+a vicious 'goto' so lets move the is_range declation before the
+
+second option disables -Wsuggest-attribute=const warning on
+gcc 4.7+
+
+
+Fixes issues like
+
+| make[2]: *** [lib/strerror-override.o] Error 1
+| make[2]: *** Waiting for unfinished jobs....
+| In file included from lib/fnmatch.c:170:0:
+| lib/fnmatch_loop.c: In function 'internal_fnmatch':
+| lib/fnmatch_loop.c:237:21: error: jump skips variable initialization [-Werror=jump-misses-init]
+|                      goto normal_bracket;
+|                      ^
+| lib/fnmatch_loop.c:601:23: note: label 'normal_bracket' defined here
+|                        normal_bracket:
+|                        ^
+| lib/fnmatch_loop.c:423:26: note: 'is_range' declared here
+|                      bool is_range = false;
+|                           ^
+
+
+and 
+
+
+| lib/strerror-override.c: In function 'strerror_override':
+| lib/strerror-override.c:35:1: error: function might be candidate for attribute 'const' [-Werror=suggest-attribute=const]
+|  strerror_override (int errnum)
+|  ^
+| cc1: all warnings being treated as errors
+
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+--- ./lib/fnmatch_loop.c.khem	2013-04-04 17:00:13.816681938 -0700
++++ ./lib/fnmatch_loop.c	2013-04-04 17:06:50.896689411 -0700
+@@ -202,6 +202,7 @@ FCT (const CHAR *pattern, const CHAR *st
+             const CHAR *p_init = p;
+             const CHAR *n_init = n;
+             register bool not;
++            bool is_range = false;
+             CHAR cold;
+             UCHAR fn;
+ 
+@@ -420,7 +421,6 @@ FCT (const CHAR *pattern, const CHAR *st
+                   }
+                 else
+                   {
+-                    bool is_range = false;
+ 
+ #ifdef _LIBC
+                     bool is_seqval = false;
+--- ./lib/strerror-override.c.khem	2013-04-04 17:07:27.684690137 -0700
++++ ./lib/strerror-override.c	2013-04-04 17:14:38.324697803 -0700
+@@ -28,11 +28,16 @@
+ #  include <winsock2.h>
+ # endif
+ #endif
++/* Without this pragma, gcc 4.7 suggests that the
++  error: function might be candidate for attribute 'const' */
++#if (__GNUC__ == 4&& 6<= __GNUC_MINOR__) || 4< __GNUC__
++# pragma GCC diagnostic ignored "-Wsuggest-attribute=const"
++#endif
+ 
+ /* If ERRNUM maps to an errno value defined by gnulib, return a string
+    describing the error.  Otherwise return NULL.  */
+ const char *
+-strerror_override (int errnum)
++strerror_override (const int errnum)
+ {
+   /* These error messages are taken from glibc/sysdeps/gnu/errlist.c.  */
+   switch (errnum)
diff --git a/meta/recipes-core/coreutils/coreutils_8.21.bb b/meta/recipes-core/coreutils/coreutils_8.21.bb
index 88561c7..76ec600 100644
--- a/meta/recipes-core/coreutils/coreutils_8.21.bb
+++ b/meta/recipes-core/coreutils/coreutils_8.21.bb
@@ -17,6 +17,9 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
            file://remove-usr-local-lib-from-m4.patch \
            file://coreutils-build-with-acl.patch \
            file://dummy_help2man.patch \
+           file://0001-sys_time.in.h-Fix-use-of-restrict-keyword.patch \
+           file://0001-local.mk-Add-ltr-and-lpthread-for-getting-spawn-func.patch \
+           file://gcc-uclibc.patch \
           "
 
 SRC_URI[md5sum] = "065ba41828644eca5dd8163446de5d64"
@@ -24,7 +27,7 @@ SRC_URI[sha256sum] = "adaa44bdab3fa5eb352e80d8a31fdbf957b78653d0c2cd30d63e161444
 
 EXTRA_OECONF = "--disable-acl"
 EXTRA_OECONF_class-native = "--disable-acl --without-gmp"
-
+LDFLAGS_libc-uclibc = "-lrt -pthread"
 # [ df mktemp base64 gets a special treatment and is not included in this
 bindir_progs = "basename chcon cksum comm csplit cut dir dircolors dirname du \
                 env expand expr factor fmt fold groups head hostid id install \
-- 
1.7.9.5




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 0/1] Fix coreutils build on uclibc
  2013-04-05  0:38 [PATCH 0/1] Fix coreutils build on uclibc Khem Raj
  2013-04-05  0:39 ` [PATCH 1/1] coreutils: Fix build on uclibc after upgrade to 8.21 Khem Raj
@ 2013-04-05 13:55 ` Khem Raj
  1 sibling, 0 replies; 3+ messages in thread
From: Khem Raj @ 2013-04-05 13:55 UTC (permalink / raw)
  To: openembedded-core

I think Henning's patch to site config will solve the same problem we do not need this patch

On Apr 4, 2013, at 5:38 PM, Khem Raj <raj.khem@gmail.com> wrote:

> coreutils after upgrade has started to fail to build on uclibc
> targets, this series of patches fix the build on uclibc as well
> as on eglibc is working normal.
> 
> The following changes since commit 2587a33134fde80dd1367629d9def45ac70256ee:
> 
>  site: add endianness information for libmemcached (2013-04-04 23:58:00 +0100)
> 
> are available in the git repository at:
> 
>  git://git.openembedded.org/openembedded-core-contrib kraj/coreutils
>  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/coreutils
> 
> Khem Raj (1):
>  coreutils: Fix build on uclibc after upgrade to 8.21
> 
> ...d-ltr-and-lpthread-for-getting-spawn-func.patch |   15 ++++
> ...sys_time.in.h-Fix-use-of-restrict-keyword.patch |   51 +++++++++++++
> .../coreutils/coreutils-8.21/gcc-uclibc.patch      |   77 ++++++++++++++++++++
> meta/recipes-core/coreutils/coreutils_8.21.bb      |    5 +-
> 4 files changed, 147 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/0001-local.mk-Add-ltr-and-lpthread-for-getting-spawn-func.patch
> create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/0001-sys_time.in.h-Fix-use-of-restrict-keyword.patch
> create mode 100644 meta/recipes-core/coreutils/coreutils-8.21/gcc-uclibc.patch
> 
> -- 
> 1.7.9.5
> 




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-04-05 14:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-05  0:38 [PATCH 0/1] Fix coreutils build on uclibc Khem Raj
2013-04-05  0:39 ` [PATCH 1/1] coreutils: Fix build on uclibc after upgrade to 8.21 Khem Raj
2013-04-05 13:55 ` [PATCH 0/1] Fix coreutils build on uclibc Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.