All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/19] mirrors: Add debian archive snapshot mirrors to search list
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 02/19] gdb: Replace struct siginfo with proper siginfo_t Khem Raj
                   ` (20 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

I ran across this problem when apt 0.7.14 was not fetchable
from regular debian mirrors and existing snapshot mirror
did not have it either since we did not use proper syntax
so it was not hitting that.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/mirrors.bbclass |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/classes/mirrors.bbclass b/meta/classes/mirrors.bbclass
index 86ccd7a..1a9a531 100644
--- a/meta/classes/mirrors.bbclass
+++ b/meta/classes/mirrors.bbclass
@@ -1,5 +1,7 @@
 MIRRORS += "\
-${DEBIAN_MIRROR}/main	http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool/ \n \
+${DEBIAN_MIRROR}	http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool \n \
+${DEBIAN_MIRROR}	http://snapshot.debian.org/archive/debian-archive/20110127T084257Z/debian/pool \n \
+${DEBIAN_MIRROR}	http://snapshot.debian.org/archive/debian-archive/20090802T004153Z/debian/pool \n \
 ${DEBIAN_MIRROR}	ftp://ftp.de.debian.org/debian/pool \n \
 ${DEBIAN_MIRROR}	ftp://ftp.au.debian.org/debian/pool \n \
 ${DEBIAN_MIRROR}	ftp://ftp.cl.debian.org/debian/pool \n \
-- 
1.7.9.5




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

* [PATCH V2 00/14] eglibc 2.16
@ 2012-07-08 16:10 Khem Raj
  2012-07-08 16:10 ` [PATCH 01/19] mirrors: Add debian archive snapshot mirrors to search list Khem Raj
                   ` (21 more replies)
  0 siblings, 22 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

V2:

Additionally, changed gcc to use git fetcher
update E5500/E6500 patches for gcc and binutils (backported from mainline)
images form p5020ds 32/64 bit built fine. (btw. it does not build with eglibc-2.15)
Updated eglibc rpc patch needed for cross build from scratch
Updates the gets patch for busybox now its a backport instead of
home grown.

bitbake world works clean for ppc/x86/x86_64 , for mips and arm
the failures are prexisting.
mips - webkit and pseudo fail to build
arm - guile-2.0 and pseudo fail to build

V1:
This patch adds eglibc 2.16 recipes. I was able to build world
on x86 except perf which was failing with 2.15 as well.

I have also build and run core-image-sato on all qemus

I did not remove 2.15 to allow some soak in time.

The following changes since commit 8f16811a8d51982a8b3d70e6087aef4a41926840:

  bootimg: Use STAGING_KERNEL_DIR (2012-07-06 09:38:17 +0100)

are available in the git repository at:

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

Khem Raj (19):
  mirrors: Add debian archive snapshot mirrors to search list
  gdb: Replace struct siginfo with proper siginfo_t
  busybox: Include sys/resource.h for rusage definition
  coreutils: Fix build with eglibc 2.16
  diffutils: Fix build with eglibc 2.16
  udev: Fix build with eglibc 2.16
  gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
  bison: Fix for gets being removed from eglibc 2.16
  grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
  boost: Upgrade recipe to 1.50.0
  puzzles: Fix checksums
  valgrind: Fix build with eglibc 2.16
  libpam: Fix build with eglibc 2.16
  gcc-cross-initial.inc: Use BFD ld as default always
  gcc: Switch to git SRC_URI
  binutils: Backport the e5500/e6500 patches from mainline
  gcc: Refresh support for fsl E5500/E6500
  qemu: Explicitly add --disable-gl-accel when gl is not enabled
  eglibc: Add recipes for 2.16 release

 meta/classes/mirrors.bbclass                       |    4 +-
 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch  |   20 +
 meta/recipes-bsp/grub/grub_1.99.bb                 |    3 +-
 .../busybox/busybox-1.19.4/sys_resource.patch      |   99 +++
 meta/recipes-core/busybox/busybox_1.19.4.bb        |    3 +-
 .../coreutils/coreutils-8.14/remove-gets.patch     |   23 +
 meta/recipes-core/coreutils/coreutils_8.14.bb      |    3 +-
 .../eglibc/cross-localedef-native_2.16.bb          |   44 +
 .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch    |  108 +++
 .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch   |   17 +
 .../eglibc-svn-arm-lowlevellock-include-tls.patch  |   21 +
 .../eglibc_fix_findidx_parameters.patch            |   38 +
 .../eglibc/eglibc-2.16/generate-supported.mk       |   11 +
 .../eglibc/eglibc-2.16/initgroups_keys.patch       |   20 +
 .../eglibc/eglibc-2.16/ld-search-order.patch       |   56 ++
 .../eglibc/eglibc-2.16/mips-rld-map-check.patch    |   26 +
 .../eglibc/eglibc-2.16/multilib_readlib.patch      |   17 +
 .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch |  538 ++++++++++++
 .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch       |  112 +++
 .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  123 +++
 .../eglibc/eglibc-2.16/rpc-bootstrap.patch         |   63 ++
 .../eglibc-2.16/use-sysroot-cxx-headers.patch      |   42 +
 meta/recipes-core/eglibc/eglibc-initial_2.16.bb    |    6 +
 meta/recipes-core/eglibc/eglibc-locale_2.16.bb     |    1 +
 meta/recipes-core/eglibc/eglibc_2.16.bb            |  146 ++++
 .../gettext/gettext-0.18.1.1/remove_gets.patch     |   58 ++
 meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    3 +-
 meta/recipes-core/udev/udev/include_resource.patch |   31 +
 meta/recipes-core/udev/udev_164.bb                 |    7 +-
 meta/recipes-devtools/binutils/binutils-2.22.inc   |    2 +-
 .../binutils/binutils/binutils-powerpc-e5500.patch |  918 +++++++++++++++++++-
 .../recipes-devtools/bison/bison/remove-gets.patch |   20 +
 meta/recipes-devtools/bison/bison_2.5.bb           |    6 +-
 meta/recipes-devtools/gcc/gcc-4.7.inc              |   17 +-
 .../gcc/gcc-4.7/define_insn_reservation.patch      |  118 +++
 .../gcc/gcc-4.7/ppc_with_cpu.patch                 |  752 ++++++++++++++++
 ...pc-e5500.patch => ppce5500-e6500-support.patch} |  560 ++++++++----
 .../gcc/gcc-4.7/rs6000-tables.patch                |  135 +++
 meta/recipes-devtools/gcc/gcc-cross-initial.inc    |    1 +
 meta/recipes-devtools/gdb/gdb-common.inc           |    2 +-
 meta/recipes-devtools/gdb/gdb.inc                  |    1 +
 meta/recipes-devtools/gdb/gdb/siginfo_t.patch      |  403 +++++++++
 .../recipes-devtools/guile/files/remove-gets.patch |   23 +
 meta/recipes-devtools/guile/guile_2.0.5.bb         |    3 +-
 meta/recipes-devtools/m4/m4-1.4.16.inc             |    6 +-
 meta/recipes-devtools/m4/m4/remove-gets.patch      |   21 +
 meta/recipes-devtools/qemu/qemu.inc                |    2 +-
 .../valgrind-3.7.0/configure-with-glibc-2.16.patch |   32 +
 meta/recipes-devtools/valgrind/valgrind_3.7.0.bb   |    6 +-
 .../augeas/augeas/remove-gets.patch                |   20 +
 meta/recipes-extended/augeas/augeas_0.10.0.bb      |    4 +-
 .../cpio/cpio-2.11/remove-gets.patch               |   20 +
 meta/recipes-extended/cpio/cpio_2.11.bb            |    5 +-
 .../diffutils/diffutils-3.2/remove-gets.patch      |   22 +
 meta/recipes-extended/diffutils/diffutils_3.2.bb   |    6 +-
 .../pam/libpam/include-sys-resource.patch          |   12 +
 meta/recipes-extended/pam/libpam_1.1.5.bb          |    6 +-
 .../tar/tar-1.26/remove-gets.patch                 |   20 +
 meta/recipes-extended/tar/tar_1.26.bb              |    5 +-
 .../wget/wget-1.13.4/remove-gets.patch             |   23 +
 meta/recipes-extended/wget/wget_1.13.4.bb          |    3 +-
 meta/recipes-sato/puzzles/puzzles_r9561.bb         |   11 +-
 .../boost/{boost_1.49.0.bb => boost_1.50.0.bb}     |    5 +-
 .../gnutls/gnutls/remove-gets.patch                |   41 +
 meta/recipes-support/gnutls/gnutls_2.12.20.bb      |    3 +-
 65 files changed, 4629 insertions(+), 248 deletions(-)
 create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
 create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
 create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
 create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
 create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
 create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
 create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
 create mode 100644 meta/recipes-core/udev/udev/include_resource.patch
 create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
 rename meta/recipes-devtools/gcc/gcc-4.7/{powerpc-e5500.patch => ppce5500-e6500-support.patch} (41%)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch
 create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch
 create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch
 create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
 create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch
 create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
 create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
 create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch
 create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch
 create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
 rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)
 create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patch

-- 
1.7.9.5




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

* [PATCH 02/19] gdb: Replace struct siginfo with proper siginfo_t
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
  2012-07-08 16:10 ` [PATCH 01/19] mirrors: Add debian archive snapshot mirrors to search list Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 03/19] busybox: Include sys/resource.h for rusage definition Khem Raj
                   ` (19 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

Fixes errors like

/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/work/armv5te-oe-linux-gnueabi/gdb-7.4.1-r0.0/gdb-7.4.1/gdb/linux-nat.h:79:18:
error: field 'siginfo' has incomplete type

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gdb/gdb-common.inc      |    2 +-
 meta/recipes-devtools/gdb/gdb.inc             |    1 +
 meta/recipes-devtools/gdb/gdb/siginfo_t.patch |  403 +++++++++++++++++++++++++
 3 files changed, 405 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch

diff --git a/meta/recipes-devtools/gdb/gdb-common.inc b/meta/recipes-devtools/gdb/gdb-common.inc
index be4d77a..348bdee 100644
--- a/meta/recipes-devtools/gdb/gdb-common.inc
+++ b/meta/recipes-devtools/gdb/gdb-common.inc
@@ -12,7 +12,7 @@ LTTNGUST_mips64 = ""
 LTTNGUST_mips64el = ""
 LTTNGUST_sh4 = ""
 
-INC_PR = "r0"
+INC_PR = "r1"
 
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
 		file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \
diff --git a/meta/recipes-devtools/gdb/gdb.inc b/meta/recipes-devtools/gdb/gdb.inc
index a620eca..c1ad83a 100644
--- a/meta/recipes-devtools/gdb/gdb.inc
+++ b/meta/recipes-devtools/gdb/gdb.inc
@@ -5,6 +5,7 @@ inherit gettext
 SRC_URI += "file://kill_arm_map_symbols.patch \
             file://gdbserver-cflags-last.diff;striplevel=0 \
 	    file://renesas-sh-native-support.patch \
+	    file://siginfo_t.patch \
            "
 #LDFLAGS_append = " -s"
 #export CFLAGS_append=" -L${STAGING_LIBDIR}"
diff --git a/meta/recipes-devtools/gdb/gdb/siginfo_t.patch b/meta/recipes-devtools/gdb/gdb/siginfo_t.patch
new file mode 100644
index 0000000..465645d
--- /dev/null
+++ b/meta/recipes-devtools/gdb/gdb/siginfo_t.patch
@@ -0,0 +1,403 @@
+POSIX says you get "siginto_t" *not* "struct siginfo
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: gdb-7.4.1/gdb/alpha-linux-tdep.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/alpha-linux-tdep.c	2012-01-05 20:43:04.000000000 -0800
++++ gdb-7.4.1/gdb/alpha-linux-tdep.c	2012-07-03 10:12:30.154227388 -0700
+@@ -114,7 +114,7 @@
+   /* __NR_rt_sigreturn has a couple of structures on the stack.  This is:
+ 
+ 	struct rt_sigframe {
+-	  struct siginfo info;
++	  siginfo_t info;
+ 	  struct ucontext uc;
+         };
+ 
+Index: gdb-7.4.1/gdb/amd64-linux-nat.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/amd64-linux-nat.c	2012-01-05 20:43:04.000000000 -0800
++++ gdb-7.4.1/gdb/amd64-linux-nat.c	2012-07-03 10:12:30.154227388 -0700
+@@ -671,13 +671,13 @@
+    INF.  */
+ 
+ static int
+-amd64_linux_siginfo_fixup (struct siginfo *native, gdb_byte *inf, int direction)
++amd64_linux_siginfo_fixup (siginfo_t *native, gdb_byte *inf, int direction)
+ {
+   /* Is the inferior 32-bit?  If so, then do fixup the siginfo
+      object.  */
+   if (gdbarch_addr_bit (get_frame_arch (get_current_frame ())) == 32)
+     {
+-      gdb_assert (sizeof (struct siginfo) == sizeof (compat_siginfo_t));
++      gdb_assert (sizeof (siginfo_t) == sizeof (compat_siginfo_t));
+ 
+       if (direction == 0)
+ 	compat_siginfo_from_siginfo ((struct compat_siginfo *) inf, native);
+Index: gdb-7.4.1/gdb/arm-linux-nat.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/arm-linux-nat.c	2012-01-05 20:43:04.000000000 -0800
++++ gdb-7.4.1/gdb/arm-linux-nat.c	2012-07-03 10:12:30.154227388 -0700
+@@ -1137,7 +1137,7 @@
+ static int
+ arm_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
+ {
+-  struct siginfo *siginfo_p = linux_nat_get_siginfo (inferior_ptid);
++  siginfo_t *siginfo_p = linux_nat_get_siginfo (inferior_ptid);
+   int slot = siginfo_p->si_errno;
+ 
+   /* This must be a hardware breakpoint.  */
+Index: gdb-7.4.1/gdb/arm-linux-tdep.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/arm-linux-tdep.c	2012-01-05 20:43:04.000000000 -0800
++++ gdb-7.4.1/gdb/arm-linux-tdep.c	2012-07-03 10:12:30.154227388 -0700
+@@ -301,7 +301,7 @@
+ 
+ /* There are three elements in an rt_sigframe before the ucontext:
+    pinfo, puc, and info.  The first two are pointers and the third
+-   is a struct siginfo, with size 128 bytes.  We could follow puc
++   is a siginfo_t, with size 128 bytes.  We could follow puc
+    to the ucontext, but it's simpler to skip the whole thing.  */
+ #define ARM_OLD_RT_SIGFRAME_SIGINFO 0x8
+ #define ARM_OLD_RT_SIGFRAME_UCONTEXT 0x88
+Index: gdb-7.4.1/gdb/frv-linux-tdep.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/frv-linux-tdep.c	2012-01-05 20:43:12.000000000 -0800
++++ gdb-7.4.1/gdb/frv-linux-tdep.c	2012-07-03 10:12:30.154227388 -0700
+@@ -94,9 +94,9 @@
+       {
+ 	      void (*pretcode)(void);
+ 	      int sig;
+-	      struct siginfo *pinfo;
++	      siginfo_t *pinfo;
+ 	      void *puc;
+-	      struct siginfo info;
++	      siginfo_t info;
+ 	      struct ucontext uc;
+ 	      uint32_t retcode[2];
+       };
+Index: gdb-7.4.1/gdb/gdbserver/linux-arm-low.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/gdbserver/linux-arm-low.c	2012-01-05 20:43:37.000000000 -0800
++++ gdb-7.4.1/gdb/gdbserver/linux-arm-low.c	2012-07-03 10:12:30.154227388 -0700
+@@ -631,7 +631,7 @@
+ arm_stopped_by_watchpoint (void)
+ {
+   struct lwp_info *lwp = get_thread_lwp (current_inferior);
+-  struct siginfo siginfo;
++  siginfo_t siginfo;
+ 
+   /* We must be able to set hardware watchpoints.  */
+   if (arm_linux_get_hw_watchpoint_count () == 0)
+Index: gdb-7.4.1/gdb/gdbserver/linux-low.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/gdbserver/linux-low.c	2012-01-05 20:43:37.000000000 -0800
++++ gdb-7.4.1/gdb/gdbserver/linux-low.c	2012-07-03 10:12:30.154227388 -0700
+@@ -4522,7 +4522,7 @@
+    layout of the inferiors' architecture.  */
+ 
+ static void
+-siginfo_fixup (struct siginfo *siginfo, void *inf_siginfo, int direction)
++siginfo_fixup (siginfo_t *siginfo, void *inf_siginfo, int direction)
+ {
+   int done = 0;
+ 
+@@ -4534,9 +4534,9 @@
+   if (!done)
+     {
+       if (direction == 1)
+-	memcpy (siginfo, inf_siginfo, sizeof (struct siginfo));
++	memcpy (siginfo, inf_siginfo, sizeof (siginfo_t));
+       else
+-	memcpy (inf_siginfo, siginfo, sizeof (struct siginfo));
++	memcpy (inf_siginfo, siginfo, sizeof (siginfo_t));
+     }
+ }
+ 
+@@ -4545,8 +4545,8 @@
+ 		    unsigned const char *writebuf, CORE_ADDR offset, int len)
+ {
+   int pid;
+-  struct siginfo siginfo;
+-  char inf_siginfo[sizeof (struct siginfo)];
++  siginfo_t siginfo;
++  char inf_siginfo[sizeof (siginfo_t)];
+ 
+   if (current_inferior == NULL)
+     return -1;
+Index: gdb-7.4.1/gdb/gdbserver/linux-low.h
+===================================================================
+--- gdb-7.4.1.orig/gdb/gdbserver/linux-low.h	2012-01-05 20:43:37.000000000 -0800
++++ gdb-7.4.1/gdb/gdbserver/linux-low.h	2012-07-03 10:20:28.554250548 -0700
+@@ -22,6 +22,7 @@
+ #endif
+ 
+ #include "gdb_proc_service.h"
++#include <signal.h>
+ 
+ #ifdef HAVE_LINUX_REGSETS
+ typedef void (*regset_fill_func) (struct regcache *, void *);
+@@ -46,8 +47,6 @@
+ extern struct regset_info target_regsets[];
+ #endif
+ 
+-struct siginfo;
+-
+ struct process_info_private
+ {
+   /* Arch-specific additions.  */
+@@ -103,7 +102,7 @@
+      Returns true if any conversion was done; false otherwise.
+      If DIRECTION is 1, then copy from INF to NATIVE.
+      If DIRECTION is 0, copy from NATIVE to INF.  */
+-  int (*siginfo_fixup) (struct siginfo *native, void *inf, int direction);
++  int (*siginfo_fixup) (siginfo_t *native, void *inf, int direction);
+ 
+   /* Hook to call when a new process is created or attached to.
+      If extra per-process architecture-specific data is needed,
+Index: gdb-7.4.1/gdb/gdbserver/linux-x86-low.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/gdbserver/linux-x86-low.c	2012-01-05 20:43:37.000000000 -0800
++++ gdb-7.4.1/gdb/gdbserver/linux-x86-low.c	2012-07-03 10:12:30.154227388 -0700
+@@ -906,13 +906,13 @@
+    INF.  */
+ 
+ static int
+-x86_siginfo_fixup (struct siginfo *native, void *inf, int direction)
++x86_siginfo_fixup (siginfo_t *native, void *inf, int direction)
+ {
+ #ifdef __x86_64__
+   /* Is the inferior 32-bit?  If so, then fixup the siginfo object.  */
+   if (register_size (0) == 4)
+     {
+-      if (sizeof (struct siginfo) != sizeof (compat_siginfo_t))
++      if (sizeof (siginfo_t) != sizeof (compat_siginfo_t))
+ 	fatal ("unexpected difference in siginfo");
+ 
+       if (direction == 0)
+Index: gdb-7.4.1/gdb/hppa-linux-tdep.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/hppa-linux-tdep.c	2012-01-05 20:43:15.000000000 -0800
++++ gdb-7.4.1/gdb/hppa-linux-tdep.c	2012-07-03 10:12:30.158227388 -0700
+@@ -181,10 +181,10 @@
+     }
+ 
+   /* sp + sfoffs[try] points to a struct rt_sigframe, which contains
+-     a struct siginfo and a struct ucontext.  struct ucontext contains
++     a siginfo_t and a struct ucontext.  struct ucontext contains
+      a struct sigcontext.  Return an offset to this sigcontext here.  Too 
+      bad we cannot include system specific headers :-(.
+-     sizeof(struct siginfo) == 128
++     sizeof(siginfo_t) == 128
+      offsetof(struct ucontext, uc_mcontext) == 24.  */
+   return sp + sfoffs[try] + 128 + 24;
+ }
+Index: gdb-7.4.1/gdb/ia64-linux-nat.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/ia64-linux-nat.c	2012-01-05 20:43:16.000000000 -0800
++++ gdb-7.4.1/gdb/ia64-linux-nat.c	2012-07-03 10:12:30.158227388 -0700
+@@ -637,7 +637,7 @@
+ ia64_linux_stopped_data_address (struct target_ops *ops, CORE_ADDR *addr_p)
+ {
+   CORE_ADDR psr;
+-  struct siginfo *siginfo_p;
++  siginfo_t *siginfo_p;
+   struct regcache *regcache = get_current_regcache ();
+ 
+   siginfo_p = linux_nat_get_siginfo (inferior_ptid);
+Index: gdb-7.4.1/gdb/linux-nat.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/linux-nat.c	2012-01-05 20:43:19.000000000 -0800
++++ gdb-7.4.1/gdb/linux-nat.c	2012-07-03 10:12:30.158227388 -0700
+@@ -179,7 +179,7 @@
+ /* The method to call, if any, when the siginfo object needs to be
+    converted between the layout returned by ptrace, and the layout in
+    the architecture of the inferior.  */
+-static int (*linux_nat_siginfo_fixup) (struct siginfo *,
++static int (*linux_nat_siginfo_fixup) (siginfo_t *,
+ 				       gdb_byte *,
+ 				       int);
+ 
+@@ -4138,7 +4138,7 @@
+    layout of the inferiors' architecture.  */
+ 
+ static void
+-siginfo_fixup (struct siginfo *siginfo, gdb_byte *inf_siginfo, int direction)
++siginfo_fixup (siginfo_t *siginfo, gdb_byte *inf_siginfo, int direction)
+ {
+   int done = 0;
+ 
+@@ -4150,9 +4150,9 @@
+   if (!done)
+     {
+       if (direction == 1)
+-	memcpy (siginfo, inf_siginfo, sizeof (struct siginfo));
++	memcpy (siginfo, inf_siginfo, sizeof (siginfo_t));
+       else
+-	memcpy (inf_siginfo, siginfo, sizeof (struct siginfo));
++	memcpy (inf_siginfo, siginfo, sizeof (siginfo_t));
+     }
+ }
+ 
+@@ -4162,8 +4162,8 @@
+ 		    const gdb_byte *writebuf, ULONGEST offset, LONGEST len)
+ {
+   int pid;
+-  struct siginfo siginfo;
+-  gdb_byte inf_siginfo[sizeof (struct siginfo)];
++  siginfo_t siginfo;
++  gdb_byte inf_siginfo[sizeof (siginfo_t)];
+ 
+   gdb_assert (object == TARGET_OBJECT_SIGNAL_INFO);
+   gdb_assert (readbuf || writebuf);
+@@ -5852,7 +5852,7 @@
+    inferior.  */
+ void
+ linux_nat_set_siginfo_fixup (struct target_ops *t,
+-			     int (*siginfo_fixup) (struct siginfo *,
++			     int (*siginfo_fixup) (siginfo_t *,
+ 						   gdb_byte *,
+ 						   int))
+ {
+@@ -5861,7 +5861,7 @@
+ }
+ 
+ /* Return the saved siginfo associated with PTID.  */
+-struct siginfo *
++siginfo_t *
+ linux_nat_get_siginfo (ptid_t ptid)
+ {
+   struct lwp_info *lp = find_lwp_pid (ptid);
+Index: gdb-7.4.1/gdb/linux-nat.h
+===================================================================
+--- gdb-7.4.1.orig/gdb/linux-nat.h	2012-01-05 20:43:19.000000000 -0800
++++ gdb-7.4.1/gdb/linux-nat.h	2012-07-03 10:12:30.158227388 -0700
+@@ -76,7 +76,7 @@
+ 
+   /* Non-zero si_signo if this LWP stopped with a trap.  si_addr may
+      be the address of a hardware watchpoint.  */
+-  struct siginfo siginfo;
++  siginfo_t siginfo;
+ 
+   /* STOPPED_BY_WATCHPOINT is non-zero if this LWP stopped with a data
+      watchpoint trap.  */
+@@ -171,7 +171,7 @@
+    that ptrace returns, and the layout in the architecture of the
+    inferior.  */
+ void linux_nat_set_siginfo_fixup (struct target_ops *,
+-				  int (*) (struct siginfo *,
++				  int (*) (siginfo_t *,
+ 					   gdb_byte *,
+ 					   int));
+ 
+@@ -180,7 +180,7 @@
+ void linux_nat_switch_fork (ptid_t new_ptid);
+ 
+ /* Return the saved siginfo associated with PTID.  */
+-struct siginfo *linux_nat_get_siginfo (ptid_t ptid);
++siginfo_t *linux_nat_get_siginfo (ptid_t ptid);
+ 
+ /* Compute and return the processor core of a given thread.  */
+ int linux_nat_core_of_thread_1 (ptid_t ptid);
+Index: gdb-7.4.1/gdb/linux-tdep.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/linux-tdep.c	2012-01-05 20:43:19.000000000 -0800
++++ gdb-7.4.1/gdb/linux-tdep.c	2012-07-03 10:12:30.158227388 -0700
+@@ -150,7 +150,7 @@
+   append_composite_type_field (type, "si_fd", int_type);
+   append_composite_type_field (sifields_type, "_sigpoll", type);
+ 
+-  /* struct siginfo */
++  /* siginfo_t */
+   siginfo_type = arch_composite_type (gdbarch, NULL, TYPE_CODE_STRUCT);
+   TYPE_NAME (siginfo_type) = xstrdup ("siginfo");
+   append_composite_type_field (siginfo_type, "si_signo", int_type);
+Index: gdb-7.4.1/gdb/mips-linux-tdep.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/mips-linux-tdep.c	2012-01-05 20:43:20.000000000 -0800
++++ gdb-7.4.1/gdb/mips-linux-tdep.c	2012-07-03 10:12:30.158227388 -0700
+@@ -905,7 +905,7 @@
+    struct rt_sigframe {
+      u32 rs_ass[4];            [argument save space for o32]
+      u32 rs_code[2]            [signal trampoline or fill]
+-     struct siginfo rs_info;
++     siginfo_t rs_info;
+      struct ucontext rs_uc;
+    };
+ 
+@@ -1033,7 +1033,7 @@
+   struct rt_sigframe_n32 {
+     u32 rs_ass[4];                  [ argument save space for o32 ]
+     u32 rs_code[2];                 [ signal trampoline or fill ]
+-    struct siginfo rs_info;
++    siginfo_t rs_info;
+     struct ucontextn32 rs_uc;
+   };
+ 
+@@ -1048,7 +1048,7 @@
+   struct rt_sigframe {
+     u32 rs_ass[4];                  [ argument save space for o32 ]
+     u32 rs_code[2];                 [ signal trampoline ]
+-    struct siginfo rs_info;
++    siginfo_t rs_info;
+     struct ucontext rs_uc;
+   };
+ 
+Index: gdb-7.4.1/gdb/mn10300-linux-tdep.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/mn10300-linux-tdep.c	2012-01-05 20:43:20.000000000 -0800
++++ gdb-7.4.1/gdb/mn10300-linux-tdep.c	2012-07-03 10:12:30.158227388 -0700
+@@ -528,9 +528,9 @@
+ {
+ 	void (*pretcode)(void);
+ 	int sig;
+-	struct siginfo *pinfo;
++	siginfo_t *pinfo;
+ 	void *puc;
+-	struct siginfo info;
++	siginfo_t info;
+ 	struct ucontext uc;
+ 	struct fpucontext fpuctx;
+ 	char retcode[8];
+Index: gdb-7.4.1/gdb/ppc-linux-nat.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/ppc-linux-nat.c	2012-01-05 20:43:22.000000000 -0800
++++ gdb-7.4.1/gdb/ppc-linux-nat.c	2012-07-03 10:12:30.158227388 -0700
+@@ -2213,7 +2213,7 @@
+ static int
+ ppc_linux_stopped_data_address (struct target_ops *target, CORE_ADDR *addr_p)
+ {
+-  struct siginfo *siginfo_p;
++  siginfo_t *siginfo_p;
+ 
+   siginfo_p = linux_nat_get_siginfo (inferior_ptid);
+ 
+Index: gdb-7.4.1/gdb/procfs.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/procfs.c	2012-01-05 20:43:25.000000000 -0800
++++ gdb-7.4.1/gdb/procfs.c	2012-07-03 10:12:30.158227388 -0700
+@@ -262,7 +262,7 @@
+ #ifdef HAVE_PR_SIGINFO64_T
+ typedef pr_siginfo64_t gdb_siginfo_t;
+ #else
+-typedef struct siginfo gdb_siginfo_t;
++typedef siginfo_t gdb_siginfo_t;
+ #endif
+ 
+ /* On mips-irix, praddset and prdelset are defined in such a way that
+Index: gdb-7.4.1/gdb/tic6x-linux-tdep.c
+===================================================================
+--- gdb-7.4.1.orig/gdb/tic6x-linux-tdep.c	2012-01-05 20:54:31.000000000 -0800
++++ gdb-7.4.1/gdb/tic6x-linux-tdep.c	2012-07-03 10:12:30.158227388 -0700
+@@ -34,7 +34,7 @@
+ 
+ /* The offset from rt_sigframe pointer to SP register.  */
+ #define TIC6X_SP_RT_SIGFRAME 8
+-/* Size of struct siginfo info.  */
++/* Size of siginfo_t info.  */
+ #define TIC6X_SIGINFO_SIZE 128
+ /* Size of type stack_t, which contains three fields of type void*, int, and
+    size_t respectively.  */
-- 
1.7.9.5




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

* [PATCH 03/19] busybox: Include sys/resource.h for rusage definition
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
  2012-07-08 16:10 ` [PATCH 01/19] mirrors: Add debian archive snapshot mirrors to search list Khem Raj
  2012-07-08 16:10 ` [PATCH 02/19] gdb: Replace struct siginfo with proper siginfo_t Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 04/19] coreutils: Fix build with eglibc 2.16 Khem Raj
                   ` (18 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

Seen with eglibc 2.16

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../busybox/busybox-1.19.4/sys_resource.patch      |   99 ++++++++++++++++++++
 meta/recipes-core/busybox/busybox_1.19.4.bb        |    3 +-
 2 files changed, 101 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch

diff --git a/meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch b/meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
new file mode 100644
index 0000000..bd55961
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
@@ -0,0 +1,99 @@
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+
+From c5fe9f7b723f949457263ef8e22ab807d5b549ce Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Fri, 06 Jul 2012 03:19:09 +0000
+Subject: include sys/resource.h where needed
+
+We use functions from sys/resource.h in misc applets, but don't include
+the header.  This breaks building with newer glibc versions, so add the
+include where needed.
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+Index: busybox-1.19.4/loginutils/passwd.c
+===================================================================
+--- busybox-1.19.4.orig/loginutils/passwd.c	2012-02-04 11:34:24.000000000 -0800
++++ busybox-1.19.4/loginutils/passwd.c	2012-07-06 17:48:27.388096092 -0700
+@@ -15,6 +15,7 @@
+ 
+ #include "libbb.h"
+ #include <syslog.h>
++#include <sys/resource.h> /* setrlimit */
+ 
+ static void nuke_str(char *str)
+ {
+Index: busybox-1.19.4/miscutils/time.c
+===================================================================
+--- busybox-1.19.4.orig/miscutils/time.c	2012-02-04 11:24:55.000000000 -0800
++++ busybox-1.19.4/miscutils/time.c	2012-07-06 17:48:27.388096092 -0700
+@@ -16,6 +16,7 @@
+ //usage:     "\n	-v	Verbose"
+ 
+ #include "libbb.h"
++#include <sys/resource.h> /* getrusage */
+ 
+ /* Information on the resources used by a child process.  */
+ typedef struct {
+Index: busybox-1.19.4/networking/inetd.c
+===================================================================
+--- busybox-1.19.4.orig/networking/inetd.c	2012-02-04 11:34:24.000000000 -0800
++++ busybox-1.19.4/networking/inetd.c	2012-07-06 17:48:54.852097259 -0700
+@@ -165,6 +165,7 @@
+ //usage:     "\n		(default: 0 - disabled)"
+ 
+ #include <syslog.h>
++#include <sys/resource.h> /* setrlimit */
+ #include <sys/un.h>
+ 
+ #include "libbb.h"
+Index: busybox-1.19.4/networking/ntpd.c
+===================================================================
+--- busybox-1.19.4.orig/networking/ntpd.c	2012-02-04 11:24:55.000000000 -0800
++++ busybox-1.19.4/networking/ntpd.c	2012-07-06 17:48:27.392096048 -0700
+@@ -46,6 +46,7 @@
+ #include "libbb.h"
+ #include <math.h>
+ #include <netinet/ip.h> /* For IPTOS_LOWDELAY definition */
++#include <sys/resource.h> /* setpriority */
+ #include <sys/timex.h>
+ #ifndef IPTOS_LOWDELAY
+ # define IPTOS_LOWDELAY 0x10
+Index: busybox-1.19.4/networking/ntpd_simple.c
+===================================================================
+--- busybox-1.19.4.orig/networking/ntpd_simple.c	2012-02-04 11:24:55.000000000 -0800
++++ busybox-1.19.4/networking/ntpd_simple.c	2012-07-06 17:48:27.400095949 -0700
+@@ -7,6 +7,7 @@
+  */
+ #include "libbb.h"
+ #include <netinet/ip.h> /* For IPTOS_LOWDELAY definition */
++#include <sys/resource.h> /* setpriority */
+ #ifndef IPTOS_LOWDELAY
+ # define IPTOS_LOWDELAY 0x10
+ #endif
+Index: busybox-1.19.4/runit/chpst.c
+===================================================================
+--- busybox-1.19.4.orig/runit/chpst.c	2012-02-04 11:34:24.000000000 -0800
++++ busybox-1.19.4/runit/chpst.c	2012-07-06 17:48:27.400095949 -0700
+@@ -91,6 +91,7 @@
+ //usage:     "\n			a SIGXCPU after N seconds"
+ 
+ #include "libbb.h"
++#include <sys/resource.h> /* getrlimit */
+ 
+ /*
+ Five applets here: chpst, envdir, envuidgid, setuidgid, softlimit.
+Index: busybox-1.19.4/shell/shell_common.c
+===================================================================
+--- busybox-1.19.4.orig/shell/shell_common.c	2012-02-04 11:34:24.000000000 -0800
++++ busybox-1.19.4/shell/shell_common.c	2012-07-06 17:48:27.400095949 -0700
+@@ -18,6 +18,7 @@
+  */
+ #include "libbb.h"
+ #include "shell_common.h"
++#include <sys/resource.h> /* getrlimit */
+ 
+ const char defifsvar[] ALIGN1 = "IFS= \t\n";
+ 
diff --git a/meta/recipes-core/busybox/busybox_1.19.4.bb b/meta/recipes-core/busybox/busybox_1.19.4.bb
index de331ad..4271c67 100644
--- a/meta/recipes-core/busybox/busybox_1.19.4.bb
+++ b/meta/recipes-core/busybox/busybox_1.19.4.bb
@@ -1,5 +1,5 @@
 require busybox.inc
-PR = "r8"
+PR = "r9"
 
 SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://B921600.patch \
@@ -8,6 +8,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://run-parts.in.usr-bin.patch \
            file://watch.in.usr-bin.patch \
            file://busybox-udhcpc-no_deconfig.patch \
+           file://sys_resource.patch \
            file://find-touchscreen.sh \
            file://busybox-cron \
            file://busybox-httpd \
-- 
1.7.9.5




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

* [PATCH 04/19] coreutils: Fix build with eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (2 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 03/19] busybox: Include sys/resource.h for rusage definition Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 05/19] diffutils: " Khem Raj
                   ` (17 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

eglibc 2.16 has removed gets so we account for that

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../coreutils/coreutils-8.14/remove-gets.patch     |   23 ++++++++++++++++++++
 meta/recipes-core/coreutils/coreutils_8.14.bb      |    3 ++-
 2 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch

diff --git a/meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch b/meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
new file mode 100644
index 0000000..4f61c92
--- /dev/null
+++ b/meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
@@ -0,0 +1,23 @@
+use gets iff its defined. eglibc 2.16 removed gets
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: coreutils-8.14/lib/stdio.in.h
+===================================================================
+--- coreutils-8.14.orig/lib/stdio.in.h	2011-09-24 04:20:48.000000000 -0700
++++ coreutils-8.14/lib/stdio.in.h	2012-07-03 10:36:19.886296576 -0700
+@@ -713,11 +713,13 @@
+ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ #  undef gets
+ # endif
++# if defined gets
+ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++# endif
+ #endif
+ 
+ 
diff --git a/meta/recipes-core/coreutils/coreutils_8.14.bb b/meta/recipes-core/coreutils/coreutils_8.14.bb
index 214bedb..9a714a9 100644
--- a/meta/recipes-core/coreutils/coreutils_8.14.bb
+++ b/meta/recipes-core/coreutils/coreutils_8.14.bb
@@ -7,7 +7,7 @@ BUGTRACKER = "http://debbugs.gnu.org/coreutils"
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
                     file://src/ls.c;startline=5;endline=16;md5=e1a509558876db58fb6667ba140137ad"
-PR = "r4"
+PR = "r5"
 DEPENDS = "gmp libcap"
 DEPENDS_virtclass-native = ""
 
@@ -15,6 +15,7 @@ inherit autotools gettext
 
 SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
            file://remove-usr-local-lib-from-m4.patch \
+           file://remove-gets.patch \
           "
 SRC_URI[md5sum] = "bcb135ce553493a45aba01b39eb3920a"
 SRC_URI[sha256sum] = "0d120817c19292edb19e92ae6b8eac9020e03d51e0af9cb116cf82b65d18b02d"
-- 
1.7.9.5




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

* [PATCH 05/19] diffutils: Fix build with eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (3 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 04/19] coreutils: Fix build with eglibc 2.16 Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 06/19] udev: " Khem Raj
                   ` (16 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

eglibc 2.16 has removed gets so we account for that

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../diffutils/diffutils-3.2/remove-gets.patch      |   22 ++++++++++++++++++++
 meta/recipes-extended/diffutils/diffutils_3.2.bb   |    6 ++++--
 2 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch

diff --git a/meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch b/meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
new file mode 100644
index 0000000..58ed62d
--- /dev/null
+++ b/meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
@@ -0,0 +1,22 @@
+check for gets before using it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: diffutils-3.2/lib/stdio.in.h
+===================================================================
+--- diffutils-3.2.orig/lib/stdio.in.h	2011-08-28 04:57:28.000000000 -0700
++++ diffutils-3.2/lib/stdio.in.h	2012-07-03 10:45:07.518322117 -0700
+@@ -693,11 +693,13 @@
+ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ #  undef gets
+ # endif
++# if defined gets
+ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++# endif
+ #endif
+ 
+ 
diff --git a/meta/recipes-extended/diffutils/diffutils_3.2.bb b/meta/recipes-extended/diffutils/diffutils_3.2.bb
index 174866c..c46863d 100644
--- a/meta/recipes-extended/diffutils/diffutils_3.2.bb
+++ b/meta/recipes-extended/diffutils/diffutils_3.2.bb
@@ -5,9 +5,11 @@ SECTION = "base"
 LICENSE = "GPLv3+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-PR = "r0"
+PR = "r1"
 
-SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz \
+           file://remove-gets.patch \
+          "
 
 inherit autotools update-alternatives gettext
 
-- 
1.7.9.5




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

* [PATCH 06/19] udev: Fix build with eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (4 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 05/19] diffutils: " Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 07/19] gettext, m4, augeas, gnutls: Account for removal of gets in " Khem Raj
                   ` (15 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

Include sys/resource.h to get definition of
PRIO_PROCESS

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/udev/udev/include_resource.patch |   31 ++++++++++++++++++++
 meta/recipes-core/udev/udev_164.bb                 |    7 +++--
 2 files changed, 35 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-core/udev/udev/include_resource.patch

diff --git a/meta/recipes-core/udev/udev/include_resource.patch b/meta/recipes-core/udev/udev/include_resource.patch
new file mode 100644
index 0000000..a46ce59
--- /dev/null
+++ b/meta/recipes-core/udev/udev/include_resource.patch
@@ -0,0 +1,31 @@
+Fixes errors like below with eglibc 2.16
+
+libudev/libudev-util-private.c:348:16: error: 'PRIO_PROCESS' undeclared (first use in this function)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: udev-164/libudev/libudev-util-private.c
+===================================================================
+--- udev-164.orig/libudev/libudev-util-private.c	2010-08-03 02:42:26.000000000 -0700
++++ udev-164/libudev/libudev-util-private.c	2012-07-03 10:53:35.082346684 -0700
+@@ -21,6 +21,7 @@
+ #include <grp.h>
+ #include <sys/wait.h>
+ #include <sys/param.h>
++#include <sys/resource.h>
+ 
+ #include "libudev.h"
+ #include "libudev-private.h"
+Index: udev-164/udev/udevd.c
+===================================================================
+--- udev-164.orig/udev/udevd.c	2010-10-13 04:08:29.000000000 -0700
++++ udev-164/udev/udevd.c	2012-07-03 10:53:19.214345914 -0700
+@@ -43,6 +43,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/inotify.h>
+ #include <sys/utsname.h>
++#include <sys/resource.h>
+ 
+ #include "udev.h"
+ #include "sd-daemon.h"
diff --git a/meta/recipes-core/udev/udev_164.bb b/meta/recipes-core/udev/udev_164.bb
index c5813ec..2a8dd83 100644
--- a/meta/recipes-core/udev/udev_164.bb
+++ b/meta/recipes-core/udev/udev_164.bb
@@ -1,8 +1,9 @@
 include udev.inc
 
-PR = "r13"
-
-SRC_URI += "file://udev-166-v4l1-1.patch"
+PR = "r14"
 
+SRC_URI += "file://udev-166-v4l1-1.patch \
+            file://include_resource.patch \
+           "
 SRC_URI[md5sum] = "fddac2d54761ea34865af9467377ca9f"
 SRC_URI[sha256sum] = "c12e66280b5e1465f6587a8cfa47d7405c4caa7e52ce5dd13478d04f6ec05e5c"
-- 
1.7.9.5




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

* [PATCH 07/19] gettext, m4, augeas, gnutls: Account for removal of gets in eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (5 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 06/19] udev: " Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 08/19] bison: Fix for gets being removed from " Khem Raj
                   ` (14 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

These recipes use gnulib which needs this change to use gets
when its defined and not otherwise. Until that change goes into
gnulib and then all these package upgrade gnulib in their sourcebase
we patch them

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../gettext/gettext-0.18.1.1/remove_gets.patch     |   58 ++++++++++++++++++++
 meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    3 +-
 meta/recipes-devtools/m4/m4-1.4.16.inc             |    6 +-
 meta/recipes-devtools/m4/m4/remove-gets.patch      |   21 +++++++
 .../augeas/augeas/remove-gets.patch                |   20 +++++++
 meta/recipes-extended/augeas/augeas_0.10.0.bb      |    4 +-
 .../gnutls/gnutls/remove-gets.patch                |   41 ++++++++++++++
 meta/recipes-support/gnutls/gnutls_2.12.20.bb      |    3 +-
 8 files changed, 151 insertions(+), 5 deletions(-)
 create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
 create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch
 create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch
 create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patch

diff --git a/meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch b/meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
new file mode 100644
index 0000000..3d3c400
--- /dev/null
+++ b/meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
@@ -0,0 +1,58 @@
+eglibc 2.16 has removed gets so we need to check for it
+being there before using it.
+
+
+From glibc stdio.h
+
+The function has been officially removed in ISO C11.  This opportunity
+   is used to also remove it from the GNU feature list.  It is now only
+   available when explicitly using an old ISO C, Unix, or POSIX standard.
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h
+===================================================================
+--- gettext-0.18.1.1.orig/gettext-runtime/gnulib-lib/stdio.in.h	2010-05-17 12:56:12.000000000 -0700
++++ gettext-0.18.1.1/gettext-runtime/gnulib-lib/stdio.in.h	2012-07-02 22:42:21.292223316 -0700
+@@ -140,8 +140,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+Index: gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h
+===================================================================
+--- gettext-0.18.1.1.orig/gettext-tools/gnulib-lib/stdio.in.h	2010-05-24 02:42:46.000000000 -0700
++++ gettext-0.18.1.1/gettext-tools/gnulib-lib/stdio.in.h	2012-07-02 23:02:33.476281979 -0700
+@@ -140,8 +140,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
+Index: gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h
+===================================================================
+--- gettext-0.18.1.1.orig/gettext-tools/libgettextpo/stdio.in.h	2010-05-17 12:58:03.000000000 -0700
++++ gettext-0.18.1.1/gettext-tools/libgettextpo/stdio.in.h	2012-07-02 23:01:57.440280253 -0700
+@@ -140,8 +140,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/meta/recipes-core/gettext/gettext_0.18.1.1.bb b/meta/recipes-core/gettext/gettext_0.18.1.1.bb
index d9512fe..09a9465 100644
--- a/meta/recipes-core/gettext/gettext_0.18.1.1.bb
+++ b/meta/recipes-core/gettext/gettext_0.18.1.1.bb
@@ -5,7 +5,7 @@ SECTION = "libs"
 LICENSE = "GPLv3+ & LGPL-2.1+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-PR = "r14"
+PR = "r15"
 DEPENDS = "libxml2-native gettext-native virtual/libiconv ncurses expat"
 DEPENDS_virtclass-native = "libxml2-native gettext-minimal-native"
 PROVIDES = "virtual/libintl virtual/gettext"
@@ -13,6 +13,7 @@ PROVIDES_virtclass-native = "virtual/gettext-native"
 RCONFLICTS_${PN} = "proxy-libintl"
 SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
 	   file://parallel.patch \
+	   file://remove_gets.patch \
           "
 
 SRC_URI_append_libc-uclibc = " file://wchar-uclibc.patch \
diff --git a/meta/recipes-devtools/m4/m4-1.4.16.inc b/meta/recipes-devtools/m4/m4-1.4.16.inc
index 1669775..01016d6 100644
--- a/meta/recipes-devtools/m4/m4-1.4.16.inc
+++ b/meta/recipes-devtools/m4/m4-1.4.16.inc
@@ -5,8 +5,10 @@ LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
 	            file://examples/COPYING;md5=fbc986d45b3dae6725c29870dd6b669d"
 
-PR = "r3"
-SRC_URI += "file://ac_config_links.patch"
+PR = "r4"
+SRC_URI += "file://ac_config_links.patch \
+            file://remove-gets.patch \
+           "
 
 SRC_URI[md5sum] = "a5dfb4f2b7370e9d34293d23fd09b280"
 SRC_URI[sha256sum] = "e9176a35bb13a1b08482359aa554ee8072794f58f00e4827bf0e06b570c827da"
diff --git a/meta/recipes-devtools/m4/m4/remove-gets.patch b/meta/recipes-devtools/m4/m4/remove-gets.patch
new file mode 100644
index 0000000..9c396d9
--- /dev/null
+++ b/meta/recipes-devtools/m4/m4/remove-gets.patch
@@ -0,0 +1,21 @@
+eglibc has remove gets starting 2.16
+therefore check for its being there before 
+undefining it.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: m4-1.4.16/lib/stdio.in.h
+===================================================================
+--- m4-1.4.16.orig/lib/stdio.in.h	2011-03-01 08:39:29.000000000 -0800
++++ m4-1.4.16/lib/stdio.in.h	2012-07-03 08:32:08.145935928 -0700
+@@ -161,8 +161,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/meta/recipes-extended/augeas/augeas/remove-gets.patch b/meta/recipes-extended/augeas/augeas/remove-gets.patch
new file mode 100644
index 0000000..bd6e92c
--- /dev/null
+++ b/meta/recipes-extended/augeas/augeas/remove-gets.patch
@@ -0,0 +1,20 @@
+eglibc 2.16 has remove gets so check for it to be there before using it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: augeas-0.10.0/gnulib/lib/stdio.in.h
+===================================================================
+--- augeas-0.10.0.orig/gnulib/lib/stdio.in.h	2011-03-03 17:07:59.000000000 -0800
++++ augeas-0.10.0/gnulib/lib/stdio.in.h	2012-07-03 19:46:42.871894833 -0700
+@@ -161,8 +161,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/meta/recipes-extended/augeas/augeas_0.10.0.bb b/meta/recipes-extended/augeas/augeas_0.10.0.bb
index 1a08707..0840428 100644
--- a/meta/recipes-extended/augeas/augeas_0.10.0.bb
+++ b/meta/recipes-extended/augeas/augeas_0.10.0.bb
@@ -1,6 +1,8 @@
 require augeas.inc
 
-PR = "r2"
+SRC_URI += "file://remove-gets.patch \
+           "
+PR = "r3"
 
 SRC_URI[md5sum] = "fe1834e90a066c3208ac0214622c7352"
 SRC_URI[sha256sum] = "ec111af06186216930176ebe5ecccdf7bf528528aee9acde1d5d70088484afca"
diff --git a/meta/recipes-support/gnutls/gnutls/remove-gets.patch b/meta/recipes-support/gnutls/gnutls/remove-gets.patch
new file mode 100644
index 0000000..8b7df62
--- /dev/null
+++ b/meta/recipes-support/gnutls/gnutls/remove-gets.patch
@@ -0,0 +1,41 @@
+eglibc 2.16 has removed gets completely
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: gnutls-2.12.20/gl/stdio.in.h
+===================================================================
+--- gnutls-2.12.20.orig/gl/stdio.in.h	2012-03-01 07:47:48.000000000 -0800
++++ gnutls-2.12.20/gl/stdio.in.h	2012-07-03 18:17:57.191637189 -0700
+@@ -710,11 +710,13 @@
+ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ #  undef gets
+ # endif
++# if defined gets
+ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++# endif
+ #endif
+ 
+ 
+Index: gnutls-2.12.20/lib/gl/stdio.in.h
+===================================================================
+--- gnutls-2.12.20.orig/lib/gl/stdio.in.h	2012-03-01 07:53:13.000000000 -0800
++++ gnutls-2.12.20/lib/gl/stdio.in.h	2012-07-03 18:18:56.351639640 -0700
+@@ -710,11 +710,13 @@
+ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ #  undef gets
+ # endif
++# if defined gets
+ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++# endif
+ #endif
+ 
+ 
diff --git a/meta/recipes-support/gnutls/gnutls_2.12.20.bb b/meta/recipes-support/gnutls/gnutls_2.12.20.bb
index 248c90f..a48a8b5 100644
--- a/meta/recipes-support/gnutls/gnutls_2.12.20.bb
+++ b/meta/recipes-support/gnutls/gnutls_2.12.20.bb
@@ -1,10 +1,11 @@
 require gnutls.inc
 
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
 SRC_URI += "file://gnutls-openssl.patch \
             file://correct_rpl_gettimeofday_signature.patch \
             file://configure-fix.patch \
+            file://remove-gets.patch \
            "
 
 SRC_URI[md5sum] = "f1dea97da5d4dcdbc675720c9aad9ee3"
-- 
1.7.9.5




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

* [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (6 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 07/19] gettext, m4, augeas, gnutls: Account for removal of gets in " Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-28 10:40   ` Jack Mitchell
  2012-07-08 16:10 ` [PATCH 09/19] grub, guile, cpio, tar, wget: Fix gnulib for absense of gets in eglibc Khem Raj
                   ` (13 subsequent siblings)
  21 siblings, 1 reply; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../recipes-devtools/bison/bison/remove-gets.patch |   20 ++++++++++++++++++++
 meta/recipes-devtools/bison/bison_2.5.bb           |    6 ++++--
 2 files changed, 24 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch

diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch b/meta/recipes-devtools/bison/bison/remove-gets.patch
new file mode 100644
index 0000000..2dfa00f
--- /dev/null
+++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
@@ -0,0 +1,20 @@
+gets has been removed from eglibc 2.16
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: bison-2.5/lib/stdio.in.h
+===================================================================
+--- bison-2.5.orig/lib/stdio.in.h	2012-07-04 09:09:48.336532195 -0700
++++ bison-2.5/lib/stdio.in.h	2012-07-04 09:10:22.868533884 -0700
+@@ -180,8 +180,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/meta/recipes-devtools/bison/bison_2.5.bb b/meta/recipes-devtools/bison/bison_2.5.bb
index fc3bb6d..687f06a 100644
--- a/meta/recipes-devtools/bison/bison_2.5.bb
+++ b/meta/recipes-devtools/bison/bison_2.5.bb
@@ -9,14 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 SECTION = "devel"
 DEPENDS = "bison-native flex-native"
 
-PR = "r1"
+PR = "r2"
 
 BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
 	   file://m4.patch \
 	  "
 
 SRC_URI = "${BASE_SRC_URI} \
-        file://fix_cross_manpage_building.patch "
+           file://fix_cross_manpage_building.patch \
+           file://remove-gets.patch \
+          "
 
 SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
 SRC_URI[sha256sum] = "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"
-- 
1.7.9.5




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

* [PATCH 09/19] grub, guile, cpio, tar, wget: Fix gnulib for absense of gets in eglibc
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (7 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 08/19] bison: Fix for gets being removed from " Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 10/19] boost: Upgrade recipe to 1.50.0 Khem Raj
                   ` (12 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

eglibc 2.16 does not export gets anymore

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch  |   20 +++++++++++++++++
 meta/recipes-bsp/grub/grub_1.99.bb                 |    3 ++-
 .../recipes-devtools/guile/files/remove-gets.patch |   23 ++++++++++++++++++++
 meta/recipes-devtools/guile/guile_2.0.5.bb         |    3 ++-
 .../cpio/cpio-2.11/remove-gets.patch               |   20 +++++++++++++++++
 meta/recipes-extended/cpio/cpio_2.11.bb            |    5 ++++-
 .../tar/tar-1.26/remove-gets.patch                 |   20 +++++++++++++++++
 meta/recipes-extended/tar/tar_1.26.bb              |    5 ++++-
 .../wget/wget-1.13.4/remove-gets.patch             |   23 ++++++++++++++++++++
 meta/recipes-extended/wget/wget_1.13.4.bb          |    3 ++-
 10 files changed, 120 insertions(+), 5 deletions(-)
 create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
 create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch
 create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
 create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch
 create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch

diff --git a/meta/recipes-bsp/grub/grub-1.99/remove-gets.patch b/meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
new file mode 100644
index 0000000..463f784
--- /dev/null
+++ b/meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
@@ -0,0 +1,20 @@
+ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: grub-1.99/grub-core/gnulib/stdio.in.h
+===================================================================
+--- grub-1.99.orig/grub-core/gnulib/stdio.in.h	2010-12-01 06:45:43.000000000 -0800
++++ grub-1.99/grub-core/gnulib/stdio.in.h	2012-07-04 12:25:02.057099107 -0700
+@@ -140,8 +140,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/meta/recipes-bsp/grub/grub_1.99.bb b/meta/recipes-bsp/grub/grub_1.99.bb
index 0d49f23..775c6aa 100644
--- a/meta/recipes-bsp/grub/grub_1.99.bb
+++ b/meta/recipes-bsp/grub/grub_1.99.bb
@@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 DEPENDS = "autogen-native"
 RDEPENDS_${PN} = "diffutils freetype"
-PR = "r8"
+PR = "r9"
 
 SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
           file://grub-install.in.patch \
@@ -23,6 +23,7 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
           file://grub-1.99-gcc-4.7.0-uninitialized-var-errors.patch \
           file://grub-1.99-gcc-4.7.0-strict-aliasing-errors.patch \
           file://grub-1.99-fix-enable_execute_stack-check.patch \
+          file://remove-gets.patch \
           file://40_custom"
 
 SRC_URI[md5sum] = "ca9f2a2d571b57fc5c53212d1d22e2b5"
diff --git a/meta/recipes-devtools/guile/files/remove-gets.patch b/meta/recipes-devtools/guile/files/remove-gets.patch
new file mode 100644
index 0000000..6d3605f
--- /dev/null
+++ b/meta/recipes-devtools/guile/files/remove-gets.patch
@@ -0,0 +1,23 @@
+ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: guile-2.0.5/lib/stdio.in.h
+===================================================================
+--- guile-2.0.5.orig/lib/stdio.in.h	2012-01-24 03:06:06.000000000 -0800
++++ guile-2.0.5/lib/stdio.in.h	2012-07-04 12:28:15.617108481 -0700
+@@ -711,11 +711,13 @@
+ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ #  undef gets
+ # endif
++# if defined gets
+ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++# endif
+ #endif
+ 
+ 
diff --git a/meta/recipes-devtools/guile/guile_2.0.5.bb b/meta/recipes-devtools/guile/guile_2.0.5.bb
index cf222a6..fc94a41 100644
--- a/meta/recipes-devtools/guile/guile_2.0.5.bb
+++ b/meta/recipes-devtools/guile/guile_2.0.5.bb
@@ -20,6 +20,7 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.gz \
            file://guile_2.0.5_fix_sed_error.patch \
            file://guile_2.0.5_disable_goops_optimizations.patch \
            file://guile_2.0.5_fix_cross_compilation.patch \
+           file://remove-gets.patch \
            "
 
 #           file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch
@@ -28,7 +29,7 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.gz \
 SRC_URI[md5sum] = "bcf70d54b44c99cb9acd3f63c5486b4b"
 SRC_URI[sha256sum] = "2a026ea6cdbc51ca71bcd9787839debfa45ac5db1e26dc00b30ca9b128b10956"
 
-PR = "r1"
+PR = "r2"
 
 inherit autotools gettext
 BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch b/meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
new file mode 100644
index 0000000..b4d113d
--- /dev/null
+++ b/meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
@@ -0,0 +1,20 @@
+ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: cpio-2.11/gnu/stdio.in.h
+===================================================================
+--- cpio-2.11.orig/gnu/stdio.in.h	2012-07-04 12:13:43.133066247 -0700
++++ cpio-2.11/gnu/stdio.in.h	2012-07-04 12:14:10.189067564 -0700
+@@ -138,8 +138,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/meta/recipes-extended/cpio/cpio_2.11.bb b/meta/recipes-extended/cpio/cpio_2.11.bb
index 73a3444..9b37dcd 100644
--- a/meta/recipes-extended/cpio/cpio_2.11.bb
+++ b/meta/recipes-extended/cpio/cpio_2.11.bb
@@ -3,7 +3,10 @@ include cpio_v2.inc
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
 
-PR = "r2"
+PR = "r3"
+
+SRC_URI += "file://remove-gets.patch \
+           "
 
 SRC_URI[md5sum] = "1112bb6c45863468b5496ba128792f6c"
 SRC_URI[sha256sum] = "601b1d774cd6e4cd39416203c91ec59dbd65dd27d79d75e1a9b89497ea643978"
diff --git a/meta/recipes-extended/tar/tar-1.26/remove-gets.patch b/meta/recipes-extended/tar/tar-1.26/remove-gets.patch
new file mode 100644
index 0000000..2429d42
--- /dev/null
+++ b/meta/recipes-extended/tar/tar-1.26/remove-gets.patch
@@ -0,0 +1,20 @@
+ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: tar-1.26/gnu/stdio.in.h
+===================================================================
+--- tar-1.26.orig/gnu/stdio.in.h	2011-03-12 01:14:33.000000000 -0800
++++ tar-1.26/gnu/stdio.in.h	2012-07-04 12:18:58.997081535 -0700
+@@ -163,8 +163,10 @@
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ 
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@
diff --git a/meta/recipes-extended/tar/tar_1.26.bb b/meta/recipes-extended/tar/tar_1.26.bb
index 9c06d7e..4c8ab2c 100644
--- a/meta/recipes-extended/tar/tar_1.26.bb
+++ b/meta/recipes-extended/tar/tar_1.26.bb
@@ -3,7 +3,10 @@ require tar.inc
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
-PR = "r2"
+PR = "r3"
+
+SRC_URI += "file://remove-gets.patch \
+           "
 
 SRC_URI[md5sum] = "2cee42a2ff4f1cd4f9298eeeb2264519"
 SRC_URI[sha256sum] = "5a5369f464502a598e938029c310d4b3abd51e6bb8dfd045663e61c8ea9f6d41"
diff --git a/meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch b/meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
new file mode 100644
index 0000000..ed1d019
--- /dev/null
+++ b/meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
@@ -0,0 +1,23 @@
+ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: wget-1.13.4/lib/stdio.in.h
+===================================================================
+--- wget-1.13.4.orig/lib/stdio.in.h	2011-09-13 01:15:14.000000000 -0700
++++ wget-1.13.4/lib/stdio.in.h	2012-07-04 12:22:45.749092515 -0700
+@@ -693,11 +693,13 @@
+ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ #  undef gets
+ # endif
++# if defined gets
+ _GL_CXXALIASWARN (gets);
+ /* It is very rare that the developer ever has full control of stdin,
+    so any use of gets warrants an unconditional warning.  Assume it is
+    always declared, since it is required by C89.  */
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++# endif
+ #endif
+ 
+ 
diff --git a/meta/recipes-extended/wget/wget_1.13.4.bb b/meta/recipes-extended/wget/wget_1.13.4.bb
index e20ff48..9a9441e 100644
--- a/meta/recipes-extended/wget/wget_1.13.4.bb
+++ b/meta/recipes-extended/wget/wget_1.13.4.bb
@@ -1,7 +1,8 @@
-PR = "${INC_PR}.2"
+PR = "${INC_PR}.3"
 
 SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
            file://fix_makefile.patch \
+           file://remove-gets.patch \
           "
 SRC_URI[md5sum] = "1df489976a118b9cbe1b03502adbfc27"
 SRC_URI[sha256sum] = "24c7710bc9f220ce23d8a9e0f5673b0efc1cace62db6de0239b5863ecc934dcd"
-- 
1.7.9.5




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

* [PATCH 10/19] boost: Upgrade recipe to 1.50.0
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (8 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 09/19] grub, guile, cpio, tar, wget: Fix gnulib for absense of gets in eglibc Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 11/19] puzzles: Fix checksums Khem Raj
                   ` (11 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

1.49.0 is not buildable with eglibc 2.16 since
it exposes a define TIME_UTC which is also used
in boost until 1.50.0 when it was renamed to
TIME_UTC_ so instead of porting needed patches
we upgrade boost to latest release

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../boost/{boost_1.49.0.bb => boost_1.50.0.bb}     |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
 rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)

diff --git a/meta/recipes-support/boost/boost_1.49.0.bb b/meta/recipes-support/boost/boost_1.50.0.bb
similarity index 53%
rename from meta/recipes-support/boost/boost_1.49.0.bb
rename to meta/recipes-support/boost/boost_1.50.0.bb
index 71fdc48..78ebf1e 100644
--- a/meta/recipes-support/boost/boost_1.49.0.bb
+++ b/meta/recipes-support/boost/boost_1.50.0.bb
@@ -5,6 +5,5 @@ LIC_FILES_CHKSUM = "file://LICENSE_1_0.txt;md5=e4224ccaecb14d942c71d31bef20d78c"
 PR = "${INC_PR}.0"
 
 SRC_URI += "file://arm-intrinsics.patch"
-
-SRC_URI[md5sum] = "0d202cb811f934282dea64856a175698"
-SRC_URI[sha256sum] = "dd748a7f5507a7e7af74f452e1c52a64e651ed1f7263fce438a06641d2180d3c"
+SRC_URI[md5sum] = "52dd00be775e689f55a987baebccc462"
+SRC_URI[sha256sum] = "c9ace2b8c81fa6703d1d17c7e478de3bc51101c5adbdeb3f6cb72cf3045a8529"
-- 
1.7.9.5




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

* [PATCH 11/19] puzzles: Fix checksums
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (9 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 10/19] boost: Upgrade recipe to 1.50.0 Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 12/19] valgrind: Fix build with eglibc 2.16 Khem Raj
                   ` (10 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-sato/puzzles/puzzles_r9561.bb |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-sato/puzzles/puzzles_r9561.bb b/meta/recipes-sato/puzzles/puzzles_r9561.bb
index 83fabdf..b5a47fd 100644
--- a/meta/recipes-sato/puzzles/puzzles_r9561.bb
+++ b/meta/recipes-sato/puzzles/puzzles_r9561.bb
@@ -9,13 +9,12 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENCE;md5=453de74d749439762ef4814f7bee1fec"
 
 # Upstream updates puzzles.tar.gz for the new release, so checksums seem to be changing regularly right now
-#SRC_URI = "svn://ixion.tartarus.org/main;module=puzzles;rev=${MOD_PV}"
-SRC_URI = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.tar.gz"
-SRC_URI[md5sum] = "c86695aebfc95efe1d6241863849101b"
-SRC_URI[sha256sum] = "2c20a45189387e3de8804a58bdb4e47ac4bb0f890001a509dfbdc015b5a84b95"
+SRC_URI = "svn://svn.tartarus.org/sgt;module=puzzles;rev=${MOD_PV}"
+#SRC_URI = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${PV}.tar.gz"
+SRC_URI[md5sum] = "d45c4ce0530d62d59d819a91b1b1e055"
+SRC_URI[sha256sum] = "87b54f2990fb6bee4981e22851f86361fb7e0b0d2010e22eeb387b6564d0bc11"
 
-
-S = "${WORKDIR}/${BPN}-${PV}"
+S = "${WORKDIR}/${BPN}"
 
 do_configure () {
 	./mkfiles.pl
-- 
1.7.9.5




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

* [PATCH 12/19] valgrind: Fix build with eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (10 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 11/19] puzzles: Fix checksums Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 13/19] libpam: " Khem Raj
                   ` (9 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../valgrind-3.7.0/configure-with-glibc-2.16.patch |   32 ++++++++++++++++++++
 meta/recipes-devtools/valgrind/valgrind_3.7.0.bb   |    6 ++--
 2 files changed, 36 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch

diff --git a/meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch b/meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
new file mode 100644
index 0000000..c622637
--- /dev/null
+++ b/meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
@@ -0,0 +1,32 @@
+Add case for glibc 2.16 and correct error message to denote support until 2.16
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: valgrind-3.7.0/configure.in
+===================================================================
+--- valgrind-3.7.0.orig/configure.in	2012-07-04 12:57:10.557192441 -0700
++++ valgrind-3.7.0/configure.in	2012-07-04 12:57:58.785194776 -0700
+@@ -788,6 +788,13 @@
+ 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ 	;;
++     2.16)
++	AC_MSG_RESULT(2.16 family)
++	AC_DEFINE([GLIBC_2_16], 1, [Define to 1 if you're using glibc 2.16.x])
++	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++	;;
+      darwin)
+ 	AC_MSG_RESULT(Darwin)
+ 	AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
+@@ -801,7 +808,7 @@
+ 
+      *)
+ 	AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
+-	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14])
++	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16])
+ 	AC_MSG_ERROR([or Darwin libc])
+ 	;;
+ esac
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.7.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.7.0.bb
index 6b54472..97b135c 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.7.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.7.0.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803 \
 
 X11DEPENDS = "virtual/libx11"
 DEPENDS = "${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
-PR = "r4"
+PR = "r5"
 
 SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
 	   file://fix_issue_caused_by_ccache.patch \
@@ -17,7 +17,9 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
            file://fixed-perl-path.patch \
            file://fix_for_automake_1.11.2.patch \
            file://configure-fix.patch \
-           file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch"
+           file://Added-support-for-PPC-instructions-mfatbu-mfatbl.patch \
+           file://configure-with-glibc-2.16.patch \
+          "
 
 SRC_URI[md5sum] = "a855fda56edf05614f099dca316d1775"
 SRC_URI[sha256sum] = "5d62c0330f1481fe2c593249192fa68ff454c19c34343978cc9ce91aa324cbf6"
-- 
1.7.9.5




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

* [PATCH 13/19] libpam: Fix build with eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (11 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 12/19] valgrind: Fix build with eglibc 2.16 Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 14/19] gcc-cross-initial.inc: Use BFD ld as default always Khem Raj
                   ` (8 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

pam_unix_acct.c: In function '_unix_run_verify_binary':
pam_unix_acct.c:97:19: error: storage size of 'rlim' isn't known
pam_unix_acct.c:106:19: error: 'RLIMIT_NOFILE' undeclared (first use in
this function)
pam_unix_acct.c:106:19: note: each undeclared identifier is reported
only once for each function it appears in

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../pam/libpam/include-sys-resource.patch          |   12 ++++++++++++
 meta/recipes-extended/pam/libpam_1.1.5.bb          |    6 ++++--
 2 files changed, 16 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch

diff --git a/meta/recipes-extended/pam/libpam/include-sys-resource.patch b/meta/recipes-extended/pam/libpam/include-sys-resource.patch
new file mode 100644
index 0000000..0108a88
--- /dev/null
+++ b/meta/recipes-extended/pam/libpam/include-sys-resource.patch
@@ -0,0 +1,12 @@
+Index: Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c
+===================================================================
+--- Linux-PAM-1.1.5.orig/modules/pam_unix/pam_unix_acct.c	2012-07-04 12:37:44.881136025 -0700
++++ Linux-PAM-1.1.5/modules/pam_unix/pam_unix_acct.c	2012-07-04 12:38:00.601136785 -0700
+@@ -47,6 +47,7 @@
+ #include <time.h>		/* for time() */
+ #include <errno.h>
+ #include <sys/wait.h>
++#include <sys/resource.h>
+ 
+ #include <security/_pam_macros.h>
+ 
diff --git a/meta/recipes-extended/pam/libpam_1.1.5.bb b/meta/recipes-extended/pam/libpam_1.1.5.bb
index 08ce1d1..275e5d8 100644
--- a/meta/recipes-extended/pam/libpam_1.1.5.bb
+++ b/meta/recipes-extended/pam/libpam_1.1.5.bb
@@ -9,12 +9,14 @@ SECTION = "base"
 LICENSE = "GPLv2+ | BSD"
 LIC_FILES_CHKSUM = "file://COPYING;md5=ca0395de9a86191a078b8b79302e3083"
 
-PR = "r3"
+PR = "r4"
 
 SRC_URI = "https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-${PV}.tar.bz2 \
            file://99_pam \
            file://pam.d/* \
-           file://libpam-xtests.patch"
+           file://libpam-xtests.patch \
+           file://include-sys-resource.patch \
+          "
 
 SRC_URI_append_libc-uclibc = " file://pam-no-innetgr.patch"
 
-- 
1.7.9.5




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

* [PATCH 14/19] gcc-cross-initial.inc: Use BFD ld as default always
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (12 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 13/19] libpam: " Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 15/19] gcc: Switch to git SRC_URI Khem Raj
                   ` (7 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

When using gold as default linker in final toolchain
gcc-cross-initial still needs to use BFD ld since it
will link eglibc-initial

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-cross-initial.inc |    1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
index faec391..10cb512 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
@@ -21,6 +21,7 @@ EXTRA_OECONF = "--with-newlib \
 		--with-sysroot=${STAGING_DIR_TARGET} \
 		--with-build-sysroot=${STAGING_DIR_TARGET} \
 		${EXTRA_OECONF_INITIAL} \
+		${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)} \
 		${@get_gcc_fpu_setting(bb, d)}"
 
 do_compile () {
-- 
1.7.9.5




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

* [PATCH 15/19] gcc: Switch to git SRC_URI
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (13 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 14/19] gcc-cross-initial.inc: Use BFD ld as default always Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 16/19] binutils: Backport the e5500/e6500 patches from mainline Khem Raj
                   ` (6 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

svn has been giving troubles with svn 1.7 upgrade

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-4.7.inc |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-4.7.inc b/meta/recipes-devtools/gcc/gcc-4.7.inc
index 65153b3..a824573 100644
--- a/meta/recipes-devtools/gcc/gcc-4.7.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.7.inc
@@ -8,7 +8,7 @@ PR = "r2"
 # on branch then PV should be incremented to 4.7.2+svnr${SRCPV}
 # to reflect that change
 
-PV = "4.7.1+svnr${SRCPV}"
+PV = "4.7.1+git${SRCPV}"
 
 # BINV should be incremented after updating to a revision
 # after a minor gcc release (e.g. 4.7.1 or 4.7.2) has been made
@@ -18,7 +18,7 @@ PV = "4.7.1+svnr${SRCPV}"
 
 BINV = "4.7.2"
 
-SRCREV = "188658"
+SRCREV = "d07e24f4ab59f264d68d21838795349faab5dede"
 BRANCH = "gcc-4_7-branch"
 FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-4.7' ], d)}"
 
@@ -33,7 +33,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                    file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
 		   file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8"
 
-SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
+SRC_URI = "git://github.com/mirrors/gcc.git;branch=${BRANCH};proto=git \
 	   file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
 	   file://100-uclibc-conf.patch \
            file://gcc-uclibc-locale-ctype_touplow_t.patch \
@@ -70,8 +70,8 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
 	   file://fix-g++-sysroot.patch \
 	  "
 
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
-B = "${WORKDIR}/${BRANCH}/build.${HOST_SYS}.${TARGET_SYS}"
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
+B = "${WORKDIR}/git/build.${HOST_SYS}.${TARGET_SYS}"
 
 # Language Overrides
 FORTRAN = ""
-- 
1.7.9.5




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

* [PATCH 16/19] binutils: Backport the e5500/e6500 patches from mainline
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (14 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 15/19] gcc: Switch to git SRC_URI Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 17/19] gcc: Refresh support for fsl E5500/E6500 Khem Raj
                   ` (5 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

This updates the E5500 and E6500 support patches
as they have been applied upstream binutils.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/binutils/binutils-2.22.inc   |    2 +-
 .../binutils/binutils/binutils-powerpc-e5500.patch |  918 +++++++++++++++++++-
 2 files changed, 872 insertions(+), 48 deletions(-)

diff --git a/meta/recipes-devtools/binutils/binutils-2.22.inc b/meta/recipes-devtools/binutils/binutils-2.22.inc
index 6f1e0dc..ca2d30e 100644
--- a/meta/recipes-devtools/binutils/binutils-2.22.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.22.inc
@@ -1,4 +1,4 @@
-PR = "r10"
+PR = "r11"
 
 LIC_FILES_CHKSUM="\
     file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
diff --git a/meta/recipes-devtools/binutils/binutils/binutils-powerpc-e5500.patch b/meta/recipes-devtools/binutils/binutils/binutils-powerpc-e5500.patch
index cd42a77..1f146ce 100644
--- a/meta/recipes-devtools/binutils/binutils/binutils-powerpc-e5500.patch
+++ b/meta/recipes-devtools/binutils/binutils/binutils-powerpc-e5500.patch
@@ -1,103 +1,501 @@
-Upstream-Status: Pending
+Upstream-Status: Backport
+Signed-off- by: Khem Raj <raj.khem@gmail.com>
 
-Add support for FSL PowerPC e5500 core.
+From 4f017a6dfe0c3e84c21431c85e82ce2af0941ac1 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@bigpond.net.au>
+Date: Fri, 9 Mar 2012 23:39:02 +0000
+Subject: [PATCH] include/opcode/ 	* ppc.h: Add PPC_OPCODE_ALTIVEC2,
+ PPC_OPCODE_E6500, PPC_OPCODE_TMR. opcodes/ 	* ppc-dis.c
+ (ppc_opts): Add entries for "e5500" and "e6500". 	*
+ ppc-opc.c (insert_ls, TMR, ESYNC, XSYNCLE_MASK): New. 
+ (PPCVEC2, PPCTMR, E6500): New short names. 
+ (powerpc_opcodes): Add vabsdub, vabsduh, vabsduw, dni,
+ mvidsplt, 	mviwsplt, icblq., mftmr, mttmr, dcblq.,
+ miso, lvexbx, lvexhx, 	lvexwx, stvexbx, stvexhx, stvexwx,
+ lvepx, lvepxl, stvepx, stvepxl, 	lvtrx, lvtrxl,
+ lvtlx, lvtlxl, stvfrx, stvfrxl, stvflx, stvflxl, 
+ lvswx, lvswxl, stvswx, stvswxl, lvsm mnemonics. Accept LS,
+ ESYNC 	optional operands on sync instruction for E6500
+ target. bfd/ 	* archures.c: Add bfd_mach_ppc_e5500 and
+ bfd_mach_ppc_e6500. 	* bfd-in2.h: Regenerate. 	*
+ cpu-powerpc.c (bfd_powerpc_archs): Add entryies for 
+ bfd_mach_ppc_e5500 and bfd_mach_ppc_e6500. gas/ 	*
+ config/tc-ppc.c (md_show_usage): Document -me5500 and
+ -me6500. 	(ppc_handle_align): Add termination nop
+ opcode for e500mc family. 	* doc/as.texinfo: Document
+ options -me5500 and -me6500. 	* doc/c-ppc.texi: Likewise.
+ gas/testsuite/ 	* gas/ppc/e500mc64_nop.s: New test
+ case for e500mc family 	termination nops. 	*
+ gas/ppc/e500mc64_nop.d: Likewise. 	*
+ gas/ppc/e5500_nop.s: Likewise. 	*
+ gas/ppc/e5500_nop.d: Likewise. 	*
+ gas/ppc/e6500_nop.s: Likewise. 	*
+ gas/ppc/e6500_nop.d: Likewise. 	* gas/ppc/e6500.s:
+ New. 	* gas/ppc/e6500.d: Likewise. 	* gas/ppc/ppc.exp:
+ Run e6500, e500mc64_nop, e5500_nop, and e6500_nop.
 
-Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
-Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+---
+ bfd/ChangeLog                        |    7 +++
+ bfd/archures.c                       |    6 +-
+ bfd/bfd-in2.h                        |    2 +
+ bfd/cpu-powerpc.c                    |   34 ++++++++++-
+ gas/ChangeLog                        |    7 +++
+ gas/config/tc-ppc.c                  |   14 ++++-
+ gas/doc/as.texinfo                   |    6 +-
+ gas/doc/c-ppc.texi                   |    8 ++-
+ gas/testsuite/ChangeLog              |   13 ++++
+ gas/testsuite/gas/ppc/e500mc64_nop.d |   13 ++++
+ gas/testsuite/gas/ppc/e500mc64_nop.s |    5 ++
+ gas/testsuite/gas/ppc/e5500_nop.d    |   13 ++++
+ gas/testsuite/gas/ppc/e5500_nop.s    |    5 ++
+ gas/testsuite/gas/ppc/e6500.d        |   75 +++++++++++++++++++++++
+ gas/testsuite/gas/ppc/e6500.s        |   69 +++++++++++++++++++++
+ gas/testsuite/gas/ppc/e6500_nop.d    |   13 ++++
+ gas/testsuite/gas/ppc/e6500_nop.s    |    5 ++
+ gas/testsuite/gas/ppc/ppc.exp        |    4 ++
+ include/opcode/ChangeLog             |    4 ++
+ include/opcode/ppc.h                 |   11 +++-
+ opcodes/ChangeLog                    |   12 ++++
+ opcodes/ppc-dis.c                    |   14 ++++-
+ opcodes/ppc-opc.c                    |  112 +++++++++++++++++++++++++++++++---
+ 23 files changed, 432 insertions(+), 20 deletions(-)
+ create mode 100644 gas/testsuite/gas/ppc/e500mc64_nop.d
+ create mode 100644 gas/testsuite/gas/ppc/e500mc64_nop.s
+ create mode 100644 gas/testsuite/gas/ppc/e5500_nop.d
+ create mode 100644 gas/testsuite/gas/ppc/e5500_nop.s
+ create mode 100644 gas/testsuite/gas/ppc/e6500.d
+ create mode 100644 gas/testsuite/gas/ppc/e6500.s
+ create mode 100644 gas/testsuite/gas/ppc/e6500_nop.d
+ create mode 100644 gas/testsuite/gas/ppc/e6500_nop.s
 
 Index: binutils-2.22/bfd/archures.c
 ===================================================================
---- binutils-2.22.orig/bfd/archures.c
-+++ binutils-2.22/bfd/archures.c
-@@ -239,6 +239,7 @@ DESCRIPTION
+--- binutils-2.22.orig/bfd/archures.c	2012-07-06 20:40:40.000000000 -0700
++++ binutils-2.22/bfd/archures.c	2012-07-06 20:41:27.822780001 -0700
+@@ -1,7 +1,7 @@
+ /* BFD library support routines for architectures.
+    Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+-   Free Software Foundation, Inc.
++   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
++   2012 Free Software Foundation, Inc.
+    Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
+ 
+    This file is part of BFD, the Binary File Descriptor library.
+@@ -239,6 +239,8 @@
  .#define bfd_mach_ppc_e500      500
  .#define bfd_mach_ppc_e500mc    5001
  .#define bfd_mach_ppc_e500mc64  5005
 +.#define bfd_mach_ppc_e5500     5006
++.#define bfd_mach_ppc_e6500     5007
  .#define bfd_mach_ppc_titan     83
  .  bfd_arch_rs6000,    {* IBM RS/6000 *}
  .#define bfd_mach_rs6k		6000
 Index: binutils-2.22/bfd/bfd-in2.h
 ===================================================================
---- binutils-2.22.orig/bfd/bfd-in2.h
-+++ binutils-2.22/bfd/bfd-in2.h
-@@ -1946,6 +1946,7 @@ enum bfd_architecture
+--- binutils-2.22.orig/bfd/bfd-in2.h	2012-07-06 20:40:40.000000000 -0700
++++ binutils-2.22/bfd/bfd-in2.h	2012-07-06 20:41:27.822780001 -0700
+@@ -1946,6 +1946,8 @@
  #define bfd_mach_ppc_e500      500
  #define bfd_mach_ppc_e500mc    5001
  #define bfd_mach_ppc_e500mc64  5005
 +#define bfd_mach_ppc_e5500     5006
++#define bfd_mach_ppc_e6500     5007
  #define bfd_mach_ppc_titan     83
    bfd_arch_rs6000,    /* IBM RS/6000 */
  #define bfd_mach_rs6k          6000
 Index: binutils-2.22/bfd/cpu-powerpc.c
 ===================================================================
---- binutils-2.22.orig/bfd/cpu-powerpc.c
-+++ binutils-2.22/bfd/cpu-powerpc.c
-@@ -352,6 +352,20 @@ const bfd_arch_info_type bfd_powerpc_arc
-     FALSE, /* not the default */
-     powerpc_compatible,
-     bfd_default_scan,
-+    &bfd_powerpc_archs[19]
-+  },
-+  {
-+    64, /* 64 bits in a word */
-+    64, /* 64 bits in an address */
-+    8,  /* 8 bits in a byte */
-+    bfd_arch_powerpc,
-+    bfd_mach_ppc_e5500,
-+    "powerpc",
-+    "powerpc:e5500",
-+    3,
-+    FALSE, /* not the default */
-+    powerpc_compatible,
-+    bfd_default_scan,
-     0
-   }
- };
+--- binutils-2.22.orig/bfd/cpu-powerpc.c	2012-07-06 20:40:40.000000000 -0700
++++ binutils-2.22/bfd/cpu-powerpc.c	2012-07-06 20:41:27.822780001 -0700
+@@ -1,6 +1,6 @@
+ /* BFD PowerPC CPU definition
+-   Copyright 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2005, 2007, 2008, 2010
+-   Free Software Foundation, Inc.
++   Copyright 1994, 1995, 1996, 2000, 2001, 2002, 2003, 2005, 2007, 2008,
++   2010, 2012 Free Software Foundation, Inc.
+    Contributed by Ian Lance Taylor, Cygnus Support.
+ 
+    This file is part of BFD, the Binary File Descriptor library.
 Index: binutils-2.22/gas/config/tc-ppc.c
 ===================================================================
---- binutils-2.22.orig/gas/config/tc-ppc.c
-+++ binutils-2.22/gas/config/tc-ppc.c
-@@ -1265,6 +1265,7 @@ PowerPC options:\n\
+--- binutils-2.22.orig/gas/config/tc-ppc.c	2012-07-06 20:40:40.000000000 -0700
++++ binutils-2.22/gas/config/tc-ppc.c	2012-07-06 20:41:27.826780001 -0700
+@@ -1,6 +1,6 @@
+ /* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
+    Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+-   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
++   2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+    Free Software Foundation, Inc.
+    Written by Ian Lance Taylor, Cygnus Support.
+ 
+@@ -1265,6 +1265,8 @@
  -me500, -me500x2        generate code for Motorola e500 core complex\n\
  -me500mc,               generate code for Freescale e500mc core complex\n\
  -me500mc64,             generate code for Freescale e500mc64 core complex\n\
 +-me5500,                generate code for Freescale e5500 core complex\n\
++-me6500,                generate code for Freescale e6500 core complex\n\
  -mspe                   generate code for Motorola SPE instructions\n\
  -mtitan                 generate code for AppliedMicro Titan core complex\n\
  -mregnames              Allow symbolic names for registers\n\
+@@ -6012,8 +6014,14 @@
+ 	    }
+ 
+ 	  if ((ppc_cpu & PPC_OPCODE_POWER7) != 0)
+-	    /* power7 group terminating nop: "ori 2,2,0".  */
+-	    md_number_to_chars (dest, 0x60420000, 4);
++	    {
++	      if (ppc_cpu & PPC_OPCODE_E500MC)
++		/* e500mc group terminating nop: "ori 0,0,0".  */
++		md_number_to_chars (dest, 0x60000000, 4);
++	      else
++		/* power7 group terminating nop: "ori 2,2,0".  */
++		md_number_to_chars (dest, 0x60420000, 4);
++	    }
+ 	  else
+ 	    /* power6 group terminating nop: "ori 1,1,0".  */
+ 	    md_number_to_chars (dest, 0x60210000, 4);
 Index: binutils-2.22/gas/doc/as.texinfo
 ===================================================================
---- binutils-2.22.orig/gas/doc/as.texinfo
-+++ binutils-2.22/gas/doc/as.texinfo
-@@ -434,7 +434,7 @@ gcc(1), ld(1), and the Info entries for 
+--- binutils-2.22.orig/gas/doc/as.texinfo	2012-07-06 20:40:40.000000000 -0700
++++ binutils-2.22/gas/doc/as.texinfo	2012-07-06 20:41:27.826780001 -0700
+@@ -1,6 +1,6 @@
+ \input texinfo @c                               -*-Texinfo-*-
+ @c  Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+-@c  2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
++@c  2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+ @c  Free Software Foundation, Inc.
+ @c UPDATE!!  On future updates--
+ @c   (1)   check for new machine-dep cmdline options in
+@@ -434,8 +434,8 @@
     [@b{-a32}|@b{-a64}]
     [@b{-mpwrx}|@b{-mpwr2}|@b{-mpwr}|@b{-m601}|@b{-mppc}|@b{-mppc32}|@b{-m603}|@b{-m604}|@b{-m403}|@b{-m405}|
      @b{-m440}|@b{-m464}|@b{-m476}|@b{-m7400}|@b{-m7410}|@b{-m7450}|@b{-m7455}|@b{-m750cl}|@b{-mppc64}|
 -    @b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-mppc64bridge}|@b{-mbooke}|
-+    @b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-me5500}|@b{-mppc64bridge}|@b{-mbooke}|
-     @b{-mpower4}|@b{-mpr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|@b{-mpower6}|@b{-mpwr6}|
+-    @b{-mpower4}|@b{-mpr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|@b{-mpower6}|@b{-mpwr6}|
++    @b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-me5500}|@b{-me6500}|@b{-mppc64bridge}|
++    @b{-mbooke}|@b{-mpower4}|@b{-mpr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|@b{-mpower6}|@b{-mpwr6}|
      @b{-mpower7}|@b{-mpw7}|@b{-ma2}|@b{-mcell}|@b{-mspe}|@b{-mtitan}|@b{-me300}|@b{-mcom}]
     [@b{-many}] [@b{-maltivec}|@b{-mvsx}]
+    [@b{-mregnames}|@b{-mno-regnames}]
 Index: binutils-2.22/gas/doc/c-ppc.texi
 ===================================================================
---- binutils-2.22.orig/gas/doc/c-ppc.texi
-+++ binutils-2.22/gas/doc/c-ppc.texi
-@@ -88,6 +88,9 @@ Generate code for Freescale e500mc core 
+--- binutils-2.22.orig/gas/doc/c-ppc.texi	2012-07-06 20:40:40.000000000 -0700
++++ binutils-2.22/gas/doc/c-ppc.texi	2012-07-06 20:41:27.826780001 -0700
+@@ -1,5 +1,5 @@
+ @c Copyright 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+-@c Free Software Foundation, Inc.
++@c 2012 Free Software Foundation, Inc.
+ @c This is part of the GAS manual.
+ @c For copying conditions, see the file as.texinfo.
+ @c man end
+@@ -88,6 +88,12 @@
  @item -me500mc64
  Generate code for Freescale e500mc64 core complex.
  
 +@item -me5500
 +Generate code for Freescale e5500 core complex.
 +
++@item -me6500
++Generate code for Freescale e6500 core complex.
++
  @item -mspe
  Generate code for Motorola SPE instructions.
  
+Index: binutils-2.22/gas/testsuite/gas/ppc/e500mc64_nop.d
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.22/gas/testsuite/gas/ppc/e500mc64_nop.d	2012-07-06 20:41:27.826780001 -0700
+@@ -0,0 +1,13 @@
++#as: -mppc -me500mc64
++#objdump: -dr -Me500mc64
++#name: Power E500MC64 nop tests
++
++.*: +file format elf(32)?(64)?-powerpc.*
++
++Disassembly of section \.text:
++
++0+00 <start>:
++   0:	60 00 00 00 	nop
++   4:	60 00 00 00 	nop
++   8:	60 00 00 00 	nop
++   c:	60 00 00 00 	nop
+Index: binutils-2.22/gas/testsuite/gas/ppc/e500mc64_nop.s
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.22/gas/testsuite/gas/ppc/e500mc64_nop.s	2012-07-06 20:41:27.826780001 -0700
+@@ -0,0 +1,5 @@
++# Power E500MC64 nop tests
++	.section  ".text"
++start:
++	nop
++	.p2align 4,,15
+Index: binutils-2.22/gas/testsuite/gas/ppc/e5500_nop.d
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.22/gas/testsuite/gas/ppc/e5500_nop.d	2012-07-06 20:41:27.826780001 -0700
+@@ -0,0 +1,13 @@
++#as: -mppc -me5500
++#objdump: -dr -Me5500
++#name: Power E5500 nop tests
++
++.*: +file format elf(32)?(64)?-powerpc.*
++
++Disassembly of section \.text:
++
++0+00 <start>:
++   0:	60 00 00 00 	nop
++   4:	60 00 00 00 	nop
++   8:	60 00 00 00 	nop
++   c:	60 00 00 00 	nop
+Index: binutils-2.22/gas/testsuite/gas/ppc/e5500_nop.s
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.22/gas/testsuite/gas/ppc/e5500_nop.s	2012-07-06 20:41:27.826780001 -0700
+@@ -0,0 +1,5 @@
++# Power E5500 nop tests
++	.section  ".text"
++start:
++	nop
++	.p2align 4,,15
+Index: binutils-2.22/gas/testsuite/gas/ppc/e6500.d
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.22/gas/testsuite/gas/ppc/e6500.d	2012-07-06 20:41:27.826780001 -0700
+@@ -0,0 +1,75 @@
++#as: -mppc -me6500
++#objdump: -dr -Me6500
++#name: Power E6500 tests
++
++.*: +file format elf(32)?(64)?-powerpc.*
++
++Disassembly of section \.text:
++
++0+00 <start>:
++   0:	10 01 10 c0 	vabsdub v0,v1,v2
++   4:	10 01 11 00 	vabsduh v0,v1,v2
++   8:	10 01 11 40 	vabsduw v0,v1,v2
++   c:	7c 01 10 dc 	mvidsplt v0,r1,r2
++  10:	7c 01 11 1c 	mviwsplt v0,r1,r2
++  14:	7c 00 12 0a 	lvexbx  v0,0,r2
++  18:	7c 01 12 0a 	lvexbx  v0,r1,r2
++  1c:	7c 00 12 4a 	lvexhx  v0,0,r2
++  20:	7c 01 12 4a 	lvexhx  v0,r1,r2
++  24:	7c 00 12 8a 	lvexwx  v0,0,r2
++  28:	7c 01 12 8a 	lvexwx  v0,r1,r2
++  2c:	7c 00 13 0a 	stvexbx v0,0,r2
++  30:	7c 01 13 0a 	stvexbx v0,r1,r2
++  34:	7c 00 13 4a 	stvexhx v0,0,r2
++  38:	7c 01 13 4a 	stvexhx v0,r1,r2
++  3c:	7c 00 13 8a 	stvexwx v0,0,r2
++  40:	7c 01 13 8a 	stvexwx v0,r1,r2
++  44:	7c 00 12 4e 	lvepx   v0,0,r2
++  48:	7c 01 12 4e 	lvepx   v0,r1,r2
++  4c:	7c 00 12 0e 	lvepxl  v0,0,r2
++  50:	7c 01 12 0e 	lvepxl  v0,r1,r2
++  54:	7c 00 16 4e 	stvepx  v0,0,r2
++  58:	7c 01 16 4e 	stvepx  v0,r1,r2
++  5c:	7c 00 16 0e 	stvepxl v0,0,r2
++  60:	7c 01 16 0e 	stvepxl v0,r1,r2
++  64:	7c 00 14 8a 	lvtlx   v0,0,r2
++  68:	7c 01 14 8a 	lvtlx   v0,r1,r2
++  6c:	7c 00 16 8a 	lvtlxl  v0,0,r2
++  70:	7c 01 16 8a 	lvtlxl  v0,r1,r2
++  74:	7c 00 14 4a 	lvtrx   v0,0,r2
++  78:	7c 01 14 4a 	lvtrx   v0,r1,r2
++  7c:	7c 00 16 4a 	lvtrxl  v0,0,r2
++  80:	7c 01 16 4a 	lvtrxl  v0,r1,r2
++  84:	7c 00 15 8a 	stvflx  v0,0,r2
++  88:	7c 01 15 8a 	stvflx  v0,r1,r2
++  8c:	7c 00 17 8a 	stvflxl v0,0,r2
++  90:	7c 01 17 8a 	stvflxl v0,r1,r2
++  94:	7c 00 15 4a 	stvfrx  v0,0,r2
++  98:	7c 01 15 4a 	stvfrx  v0,r1,r2
++  9c:	7c 00 17 4a 	stvfrxl v0,0,r2
++  a0:	7c 01 17 4a 	stvfrxl v0,r1,r2
++  a4:	7c 00 14 ca 	lvswx   v0,0,r2
++  a8:	7c 01 14 ca 	lvswx   v0,r1,r2
++  ac:	7c 00 16 ca 	lvswxl  v0,0,r2
++  b0:	7c 01 16 ca 	lvswxl  v0,r1,r2
++  b4:	7c 00 15 ca 	stvswx  v0,0,r2
++  b8:	7c 01 15 ca 	stvswx  v0,r1,r2
++  bc:	7c 00 17 ca 	stvswxl v0,0,r2
++  c0:	7c 01 17 ca 	stvswxl v0,r1,r2
++  c4:	7c 00 16 0a 	lvsm    v0,0,r2
++  c8:	7c 01 16 0a 	lvsm    v0,r1,r2
++  cc:	7f 5a d3 78 	miso
++  d0:	7c 00 04 ac 	sync    
++  d4:	7c 00 04 ac 	sync    
++  d8:	7c 20 04 ac 	lwsync
++  dc:	7c 00 04 ac 	sync    
++  e0:	7c 07 04 ac 	sync    0,7
++  e4:	7c 28 04 ac 	sync    1,8
++  e8:	7c 00 00 c3 	dni     0,0
++  ec:	7f ff 00 c3 	dni     31,31
++  f0:	7c 40 0b 4d 	dcblq.  2,0,r1
++  f4:	7c 43 0b 4d 	dcblq.  2,r3,r1
++  f8:	7c 40 09 8d 	icblq.  2,0,r1
++  fc:	7c 43 09 8d 	icblq.  2,r3,r1
++ 100:	7c 10 02 dc 	mftmr   r0,16
++ 104:	7c 10 03 dc 	mttmr   16,r0
+Index: binutils-2.22/gas/testsuite/gas/ppc/e6500.s
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.22/gas/testsuite/gas/ppc/e6500.s	2012-07-06 20:41:27.830780001 -0700
+@@ -0,0 +1,69 @@
++# Power E6500 tests
++	.section ".text"
++start:
++	vabsdub	0, 1, 2
++	vabsduh	0, 1, 2
++	vabsduw	0, 1, 2
++	mvidsplt 0, 1, 2
++	mviwsplt 0, 1, 2
++	lvexbx	0, 0, 2
++	lvexbx	0, 1, 2
++	lvexhx	0, 0, 2
++	lvexhx	0, 1, 2
++	lvexwx	0, 0, 2
++	lvexwx	0, 1, 2
++	stvexbx	0, 0, 2
++	stvexbx	0, 1, 2
++	stvexhx	0, 0, 2
++	stvexhx	0, 1, 2
++	stvexwx	0, 0, 2
++	stvexwx	0, 1, 2
++	lvepx	0, 0, 2
++	lvepx	0, 1, 2
++	lvepxl	0, 0, 2
++	lvepxl	0, 1, 2
++	stvepx	0, 0, 2
++	stvepx	0, 1, 2
++	stvepxl	0, 0, 2
++	stvepxl	0, 1, 2
++	lvtlx	0, 0, 2
++	lvtlx	0, 1, 2
++	lvtlxl	0, 0, 2
++	lvtlxl	0, 1, 2
++	lvtrx	0, 0, 2
++	lvtrx	0, 1, 2
++	lvtrxl	0, 0, 2
++	lvtrxl	0, 1, 2
++	stvflx	0, 0, 2
++	stvflx	0, 1, 2
++	stvflxl	0, 0, 2
++	stvflxl	0, 1, 2
++	stvfrx	0, 0, 2
++	stvfrx	0, 1, 2
++	stvfrxl	0, 0, 2
++	stvfrxl	0, 1, 2
++	lvswx	0, 0, 2
++	lvswx	0, 1, 2
++	lvswxl	0, 0, 2
++	lvswxl	0, 1, 2
++	stvswx	0, 0, 2
++	stvswx	0, 1, 2
++	stvswxl	0, 0, 2
++	stvswxl	0, 1, 2
++	lvsm	0, 0, 2
++	lvsm	0, 1, 2
++	miso
++	sync
++	sync	0,0
++	sync	1,0
++	sync	2,0
++	sync	3,7
++	sync	3,8
++	dni	0,0
++	dni	31,31
++	dcblq.	2,0,1
++	dcblq.	2,3,1
++	icblq.	2,0,1
++	icblq.	2,3,1
++	mftmr	0,16
++	mttmr	16,0
+Index: binutils-2.22/gas/testsuite/gas/ppc/e6500_nop.d
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.22/gas/testsuite/gas/ppc/e6500_nop.d	2012-07-06 20:41:27.830780001 -0700
+@@ -0,0 +1,13 @@
++#as: -mppc -me6500
++#objdump: -dr -Me6500
++#name: Power E6500 nop tests
++
++.*: +file format elf(32)?(64)?-powerpc.*
++
++Disassembly of section \.text:
++
++0+00 <start>:
++   0:	60 00 00 00 	nop
++   4:	60 00 00 00 	nop
++   8:	60 00 00 00 	nop
++   c:	60 00 00 00 	nop
+Index: binutils-2.22/gas/testsuite/gas/ppc/e6500_nop.s
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ binutils-2.22/gas/testsuite/gas/ppc/e6500_nop.s	2012-07-06 20:41:27.830780001 -0700
+@@ -0,0 +1,5 @@
++# Power E6500 nop tests
++	.section  ".text"
++start:
++	nop
++	.p2align 4,,15
+Index: binutils-2.22/gas/testsuite/gas/ppc/ppc.exp
+===================================================================
+--- binutils-2.22.orig/gas/testsuite/gas/ppc/ppc.exp	2010-02-07 17:59:38.000000000 -0800
++++ binutils-2.22/gas/testsuite/gas/ppc/ppc.exp	2012-07-06 20:41:27.830780001 -0700
+@@ -42,6 +42,10 @@
+ 	run_list_test "range" "-a32"
+ 	run_dump_test "ppc750ps"
+ 	run_dump_test "e500mc"
++	run_dump_test "e6500"
++	run_dump_test "e500mc64_nop"
++	run_dump_test "e5500_nop"
++	run_dump_test "e6500_nop"
+ 	run_dump_test "a2"
+ 	run_dump_test "cell"
+ 	run_dump_test "common"
+Index: binutils-2.22/include/opcode/ppc.h
+===================================================================
+--- binutils-2.22.orig/include/opcode/ppc.h	2010-07-02 23:51:53.000000000 -0700
++++ binutils-2.22/include/opcode/ppc.h	2012-07-06 20:41:27.830780001 -0700
+@@ -1,6 +1,6 @@
+ /* ppc.h -- Header file for PowerPC opcode table
+    Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+-   2007, 2008, 2009, 2010 Free Software Foundation, Inc.
++   2007, 2008, 2009, 2010, 2012 Free Software Foundation, Inc.
+    Written by Ian Lance Taylor, Cygnus Support
+ 
+    This file is part of GDB, GAS, and the GNU binutils.
+@@ -174,6 +174,15 @@
+ /* Opcode which is supported by the e500 family */
+ #define PPC_OPCODE_E500	       0x100000000ull
+ 
++/* Opcode is supported by Extended Altivec Vector Unit */
++#define PPC_OPCODE_ALTIVEC2    0x200000000ull
++
++/* Opcode is supported by Power E6500 */
++#define PPC_OPCODE_E6500       0x400000000ull
++
++/* Opcode is supported by Thread management APU */
++#define PPC_OPCODE_TMR         0x800000000ull
++
+ /* A macro to extract the major opcode from an instruction.  */
+ #define PPC_OP(i) (((i) >> 26) & 0x3f)
+ \f
 Index: binutils-2.22/opcodes/ppc-dis.c
 ===================================================================
---- binutils-2.22.orig/opcodes/ppc-dis.c
-+++ binutils-2.22/opcodes/ppc-dis.c
-@@ -114,6 +114,12 @@ struct ppc_mopt ppc_opts[] = {
+--- binutils-2.22.orig/opcodes/ppc-dis.c	2012-07-06 20:40:40.000000000 -0700
++++ binutils-2.22/opcodes/ppc-dis.c	2012-07-06 20:41:27.830780001 -0700
+@@ -1,6 +1,6 @@
+ /* ppc-dis.c -- Disassemble PowerPC instructions
+    Copyright 1994, 1995, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+-   2008, 2009, 2010 Free Software Foundation, Inc.
++   2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
+    Written by Ian Lance Taylor, Cygnus Support
+ 
+    This file is part of the GNU opcodes library.
+@@ -114,6 +114,18 @@
  		| PPC_OPCODE_E500MC | PPC_OPCODE_64 | PPC_OPCODE_POWER5
  		| PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7),
      0 },
@@ -107,6 +505,432 @@ Index: binutils-2.22/opcodes/ppc-dis.c
 +		| PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
 +		| PPC_OPCODE_POWER7),
 +    0 },
++  { "e6500",   (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_ISEL
++		| PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK | PPC_OPCODE_RFMCI
++		| PPC_OPCODE_E500MC | PPC_OPCODE_64 | PPC_OPCODE_ALTIVEC
++		| PPC_OPCODE_ALTIVEC2 | PPC_OPCODE_E6500 | PPC_OPCODE_POWER4
++		| PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7),
++    0 },
    { "e500x2",  (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_SPE
  		| PPC_OPCODE_ISEL | PPC_OPCODE_EFS | PPC_OPCODE_BRLOCK
  		| PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK | PPC_OPCODE_RFMCI
+Index: binutils-2.22/opcodes/ppc-opc.c
+===================================================================
+--- binutils-2.22.orig/opcodes/ppc-opc.c	2011-11-21 01:29:40.000000000 -0800
++++ binutils-2.22/opcodes/ppc-opc.c	2012-07-06 20:41:27.834780001 -0700
+@@ -1,6 +1,6 @@
+ /* ppc-opc.c -- PowerPC opcode list
+    Copyright 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2004,
+-   2005, 2006, 2007, 2008, 2009, 2010, 2011
++   2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+    Free Software Foundation, Inc.
+    Written by Ian Lance Taylor, Cygnus Support
+ 
+@@ -53,6 +53,7 @@
+ static long extract_boe (unsigned long, ppc_cpu_t, int *);
+ static unsigned long insert_fxm (unsigned long, long, ppc_cpu_t, const char **);
+ static long extract_fxm (unsigned long, ppc_cpu_t, int *);
++static unsigned long insert_ls (unsigned long, long, ppc_cpu_t, const char **);
+ static unsigned long insert_mbe (unsigned long, long, ppc_cpu_t, const char **);
+ static long extract_mbe (unsigned long, ppc_cpu_t, int *);
+ static unsigned long insert_mb6 (unsigned long, long, ppc_cpu_t, const char **);
+@@ -477,6 +478,7 @@
+      lower 5 bits are stored in the upper 5 and vice- versa.  */
+ #define SPR SISIGNOPT + 1
+ #define PMR SPR
++#define TMR SPR
+ #define SPR_MASK (0x3ff << 11)
+   { 0x3ff, 11, insert_spr, extract_spr, 0 },
+ 
+@@ -499,8 +501,12 @@
+ #define T STRM
+   { 0x3, 21, NULL, NULL, 0 },
+ 
++  /* The ESYNC field in an X (sync) form instruction.  */
++#define ESYNC STRM + 1
++  { 0xf, 16, insert_ls, NULL, PPC_OPERAND_OPTIONAL },
++
+   /* The SV field in a POWER SC form instruction.  */
+-#define SV STRM + 1
++#define SV ESYNC + 1
+   { 0x3fff, 2, NULL, NULL, 0 },
+ 
+   /* The TBR field in an XFX form instruction.  This is like the SPR
+@@ -542,6 +548,7 @@
+ 
+   /* The UIMM field in a VX form instruction.  */
+ #define UIMM SIMM + 1
++#define DCTL UIMM
+   { 0x1f, 16, NULL, NULL, 0 },
+ 
+   /* The SHB field in a VA form instruction.  */
+@@ -1027,6 +1034,32 @@
+   return mask;
+ }
+ 
++/* The LS field in a sync instruction that accepts 2 operands
++   Values 2 and 3 are reserved,
++     must be treated as 0 for future compatibility
++   Values 0 and 1 can be accepted, if field ESYNC is zero
++   Otherwise L = complement of ESYNC-bit2 (1<<18) */
++
++static unsigned long
++insert_ls (unsigned long insn,
++	   long value,
++	   ppc_cpu_t dialect ATTRIBUTE_UNUSED,
++	   const char **errmsg ATTRIBUTE_UNUSED)
++{
++  unsigned long ls;
++
++  ls = (insn >> 21) & 0x03;
++  if (value == 0)
++    {
++      if (ls > 1)
++	return insn & ~(0x3 << 21);
++      return insn;
++    }
++  if ((value & 0x2) != 0)
++    return (insn & ~(0x3 << 21)) | ((value & 0xf) << 16);
++  return (insn & ~(0x3 << 21)) | (0x1 << 21) | ((value & 0xf) << 16);
++}
++
+ /* The MB and ME fields in an M form instruction expressed as a single
+    operand which is itself a bitmask.  The extraction function always
+    marks it as invalid, since we never want to recognize an
+@@ -1795,6 +1828,9 @@
+ /* An X form sync instruction with everything filled in except the LS field.  */
+ #define XSYNC_MASK (0xff9fffff)
+ 
++/* An X form sync instruction with everything filled in except the L and E fields.  */
++#define XSYNCLE_MASK (0xff90ffff)
++
+ /* An X_MASK, but with the EH bit clear.  */
+ #define XEH_MASK (X_MASK & ~((unsigned long )1))
+ 
+@@ -1989,6 +2025,7 @@
+ #define PPC860	PPC
+ #define PPCPS	PPC_OPCODE_PPCPS
+ #define PPCVEC	PPC_OPCODE_ALTIVEC
++#define PPCVEC2	PPC_OPCODE_ALTIVEC2
+ #define PPCVSX	PPC_OPCODE_VSX
+ #define POWER	PPC_OPCODE_POWER
+ #define POWER2	PPC_OPCODE_POWER | PPC_OPCODE_POWER2
+@@ -2007,6 +2044,7 @@
+ #define PPCEFS	PPC_OPCODE_EFS
+ #define PPCBRLK PPC_OPCODE_BRLOCK
+ #define PPCPMR	PPC_OPCODE_PMR
++#define PPCTMR  PPC_OPCODE_TMR
+ #define PPCCHLK PPC_OPCODE_CACHELCK
+ #define PPCRFMCI	PPC_OPCODE_RFMCI
+ #define E500MC  PPC_OPCODE_E500MC
+@@ -2014,6 +2052,7 @@
+ #define TITAN   PPC_OPCODE_TITAN  
+ #define MULHW   PPC_OPCODE_405 | PPC_OPCODE_440 | TITAN
+ #define E500	PPC_OPCODE_E500
++#define E6500	PPC_OPCODE_E6500
+ \f
+ /* The opcode table.
+ 
+@@ -2179,12 +2218,14 @@
+ {"machhwsu",	XO (4,	76,0,0),XO_MASK,     MULHW, 	PPCNONE,	{RT, RA, RB}},
+ {"machhwsu.",	XO (4,	76,0,1),XO_MASK,     MULHW, 	PPCNONE,	{RT, RA, RB}},
+ {"ps_cmpo1",	X  (4,	96), X_MASK|(3<<21), PPCPS,	PPCNONE,	{BF, FRA, FRB}},
++{"vabsdub",	VX (4, 192),	VX_MASK,     PPCVEC2,	PPCNONE,	{VD, VA, VB}},
+ {"vcmpeqfp",	VXR(4, 198,0),	VXR_MASK,    PPCVEC,	PPCNONE,	{VD, VA, VB}},
+ {"vpkuwus",	VX (4, 206),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
+ {"machhws",	XO (4, 108,0,0),XO_MASK,     MULHW, 	PPCNONE,	{RT, RA, RB}},
+ {"machhws.",	XO (4, 108,0,1),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
+ {"nmachhws",	XO (4, 110,0,0),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
+ {"nmachhws.",	XO (4, 110,0,1),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
++{"vabsduh",	VX (4, 256),	VX_MASK,     PPCVEC2,	PPCNONE,	{VD, VA, VB}},
+ {"vmaxsb",	VX (4, 258),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
+ {"vslb",	VX (4, 260),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
+ {"vmulosb",	VX (4, 264),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
+@@ -2197,6 +2238,7 @@
+ {"mulchwu.",	XRC(4, 136,1),	X_MASK,      MULHW,	PPCNONE,	{RT, RA, RB}},
+ {"macchwu",	XO (4, 140,0,0),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
+ {"macchwu.",	XO (4, 140,0,1),XO_MASK,     MULHW,	PPCNONE,	{RT, RA, RB}},
++{"vabsduw",	VX (4, 320),	VX_MASK,     PPCVEC2,	PPCNONE,	{VD, VA, VB}},
+ {"vmaxsh",	VX (4, 322),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
+ {"vslh",	VX (4, 324),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
+ {"vmulosh",	VX (4, 328),	VX_MASK,     PPCVEC,	PPCNONE,	{VD, VA, VB}},
+@@ -3680,6 +3722,8 @@
+ 
+ {"lbepx",	X(31,95),	X_MASK,   E500MC|PPCA2,	PPCNONE,	{RT, RA, RB}},
+ 
++{"dni",		XRC(31,97,1),	XRB_MASK,    E6500,	PPCNONE,	{DUI, DCTL}},
++
+ {"lvx",		X(31,103),	X_MASK,      PPCVEC,	PPCNONE,	{VD, RA, RB}},
+ {"lqfcmx",	APU(31,103,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+@@ -3689,6 +3733,8 @@
+ {"mul",		XO(31,107,0,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
+ {"mul.",	XO(31,107,0,1),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
+ 
++{"mvidsplt",	X(31,110),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA, RB}},
++
+ {"mtsrdin",	X(31,114),	XRA_MASK,    PPC64,	PPCNONE,	{RS, RB}},
+ 
+ {"lharx",	X(31,116),	XEH_MASK,    POWER7,	PPCNONE,	{RT, RA0, RB, EH}},
+@@ -3723,7 +3769,9 @@
+ {"adde.",	XO(31,138,0,1),	XO_MASK,     PPCCOM,	PPCNONE,	{RT, RA, RB}},
+ {"ae.",		XO(31,138,0,1),	XO_MASK,     PWRCOM,	PPCNONE,	{RT, RA, RB}},
+ 
+-{"dcbtstlse",	X(31,142),	X_MASK,      PPCCHLK,	PPCNONE,	{CT, RA, RB}},
++{"mviwsplt",	X(31,142),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA, RB}},
++
++{"dcbtstlse",	X(31,142),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA, RB}},
+ 
+ {"mtcr",	XFXM(31,144,0xff,0), XRARB_MASK, COM,	PPCNONE,	{RS}},
+ {"mtcrf",	XFXM(31,144,0,0), XFXFXM_MASK, COM,	PPCNONE,	{FXM, RS}},
+@@ -3760,7 +3808,7 @@
+ {"stvehx",	X(31,167),	X_MASK,      PPCVEC,	PPCNONE,	{VS, RA, RB}},
+ {"sthfcmx",	APU(31,167,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+-{"dcbtlse",	X(31,174),	X_MASK,      PPCCHLK,	PPCNONE,	{CT, RA, RB}},
++{"dcbtlse",	X(31,174),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA, RB}},
+ 
+ {"mtmsrd",	X(31,178),	XRLARB_MASK, PPC64,	PPCNONE,	{RS, A_L}},
+ 
+@@ -3778,6 +3826,8 @@
+ 
+ {"prtyd",	X(31,186),	XRB_MASK, POWER6|PPCA2,	PPCNONE,	{RA, RS}},
+ 
++{"icblq.",	XRC(31,198,1),	X_MASK,      E6500,	PPCNONE,	{CT, RA0, RB}},
++
+ {"stvewx",	X(31,199),	X_MASK,      PPCVEC,	PPCNONE,	{VS, RA, RB}},
+ {"stwfcmx",	APU(31,199,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+@@ -3855,8 +3905,12 @@
+ {"mfdcrx",	X(31,259),	X_MASK, BOOKE|PPCA2|PPC476, TITAN,	{RS, RA}},
+ {"mfdcrx.",	XRC(31,259,1),	X_MASK,      PPCA2,	PPCNONE,	{RS, RA}},
+ 
++{"lvexbx",	X(31,261),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++
+ {"icbt",	X(31,262),	XRT_MASK,    PPC403,	PPCNONE,	{RA, RB}},
+ 
++{"lvepxl",	X(31,263),	X_MASK,      PPCVEC2,   PPCNONE,	{VD, RA0, RB}},
++
+ {"ldfcmx",	APU(31,263,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ {"doz",		XO(31,264,0,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
+ {"doz.",	XO(31,264,0,1),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
+@@ -3890,6 +3944,9 @@
+ 
+ {"mfdcrux",	X(31,291),	X_MASK,      PPC464,	PPCNONE,	{RS, RA}},
+ 
++{"lvexhx",	X(31,293),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++{"lvepx",	X(31,295),	X_MASK,      PPCVEC2,   PPCNONE,	{VD, RA0, RB}},
++
+ {"tlbie",	X(31,306),	XRTLRA_MASK, PPC,	TITAN,  	{RB, L}},
+ {"tlbi",	X(31,306),	XRT_MASK,    POWER,	PPCNONE,	{RA0, RB}},
+ 
+@@ -3941,6 +3998,8 @@
+ {"mfdcr",	X(31,323), X_MASK, PPC403|BOOKE|PPCA2|PPC476, TITAN,	{RT, SPR}},
+ {"mfdcr.",	XRC(31,323,1),	X_MASK,      PPCA2,	PPCNONE,	{RT, SPR}},
+ 
++{"lvexwx",	X(31,325),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++
+ {"dcread",	X(31,326),	X_MASK,  PPC476|TITAN,	PPCNONE,	{RT, RA, RB}},
+ 
+ {"div",		XO(31,331,0,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
+@@ -3949,6 +4008,7 @@
+ {"lxvdsx",	X(31,332),	XX1_MASK,    PPCVSX,	PPCNONE,	{XT6, RA, RB}},
+ 
+ {"mfpmr",	X(31,334),	X_MASK, PPCPMR|PPCE300,	PPCNONE,	{RT, PMR}},
++{"mftmr",	X(31,366),	X_MASK,	PPCTMR|E6500,	PPCNONE,	{RT, TMR}},
+ 
+ {"mfmq",	XSPR(31,339,  0), XSPR_MASK, M601,	PPCNONE,	{RT}},
+ {"mfxer",	XSPR(31,339,  1), XSPR_MASK, COM,	PPCNONE,	{RT}},
+@@ -4179,6 +4239,8 @@
+ {"mtdcrx",	X(31,387),	X_MASK, BOOKE|PPCA2|PPC476, TITAN,	{RA, RS}},
+ {"mtdcrx.",	XRC(31,387,1),	X_MASK,      PPCA2,	PPCNONE,	{RA, RS}},
+ 
++{"stvexbx",	X(31,389),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
+ {"dcblc",	X(31,390),	X_MASK, PPCCHLK|PPC476|TITAN, PPCNONE,	{CT, RA, RB}},
+ {"stdfcmx",	APU(31,391,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+@@ -4187,7 +4249,7 @@
+ {"divweu",	XO(31,395,0,0),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
+ {"divweu.",	XO(31,395,0,1),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
+ 
+-{"dcblce",	X(31,398),	X_MASK,      PPCCHLK,	PPCNONE,	{CT, RA, RB}},
++{"dcblce",	X(31,398),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA, RB}},
+ 
+ {"slbmte",	X(31,402),	XRA_MASK,    PPC64,	PPCNONE,	{RS, RB}},
+ 
+@@ -4203,6 +4265,10 @@
+ 
+ {"mtdcrux",	X(31,419),	X_MASK,      PPC464,	PPCNONE,	{RA, RS}},
+ 
++{"stvexhx",	X(31,421),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
++{"dcblq.",	XRC(31,422,1),	X_MASK,      E6500,	PPCNONE,	{CT, RA0, RB}},
++
+ {"divde",	XO(31,425,0,0),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
+ {"divde.",	XO(31,425,0,1),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
+ {"divwe",	XO(31,427,0,0),	XO_MASK,  POWER7|PPCA2,	PPCNONE,	{RT, RA, RB}},
+@@ -4216,6 +4282,8 @@
+ 
+ {"mdors",	0x7f9ce378,	0xffffffff,  E500MC,	PPCNONE,	{0}},
+ 
++{"miso",	0x7f5ad378,	0xffffffff,  E6500,	PPCNONE,	{0}},
++
+ {"mr",		XRC(31,444,0),	X_MASK,      COM,	PPCNONE,	{RA, RS, RBS}},
+ {"or",		XRC(31,444,0),	X_MASK,      COM,	PPCNONE,	{RA, RS, RB}},
+ {"mr.",		XRC(31,444,1),	X_MASK,      COM,	PPCNONE,	{RA, RS, RBS}},
+@@ -4258,6 +4326,8 @@
+ {"mtdcr",	X(31,451), X_MASK, PPC403|BOOKE|PPCA2|PPC476, TITAN,	{SPR, RS}},
+ {"mtdcr.",	XRC(31,451,1), X_MASK,       PPCA2,	PPCNONE,	{SPR, RS}},
+ 
++{"stvexwx",	X(31,453),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
+ {"dccci",	X(31,454), XRT_MASK, PPC403|PPC440|TITAN|PPCA2, PPCNONE, {RAOPT, RBOPT}},
+ {"dci",		X(31,454),	XRARB_MASK, PPCA2|PPC476, PPCNONE,	{CT}},
+ 
+@@ -4268,6 +4338,7 @@
+ {"divwu.",	XO(31,459,0,1),	XO_MASK,     PPC,	PPCNONE,	{RT, RA, RB}},
+ 
+ {"mtpmr",	X(31,462),	X_MASK, PPCPMR|PPCE300,	PPCNONE,	{PMR, RS}},
++{"mttmr",	X(31,494),	X_MASK,	PPCTMR|E6500,	PPCNONE,	{TMR, RS}},
+ 
+ {"mtmq",	XSPR(31,467,  0), XSPR_MASK, M601,	PPCNONE,	{RS}},
+ {"mtxer",	XSPR(31,467,  1), XSPR_MASK, COM,	PPCNONE,	{RS}},
+@@ -4453,7 +4524,7 @@
+ {"divw",	XO(31,491,0,0),	XO_MASK,     PPC,	PPCNONE,	{RT, RA, RB}},
+ {"divw.",	XO(31,491,0,1),	XO_MASK,     PPC,	PPCNONE,	{RT, RA, RB}},
+ 
+-{"icbtlse",	X(31,494),	X_MASK,      PPCCHLK,	PPCNONE,	{CT, RA, RB}},
++{"icbtlse",	X(31,494),	X_MASK,      PPCCHLK,	E500MC,		{CT, RA, RB}},
+ 
+ {"slbia",	X(31,498),	0xffffffff,  PPC64,	PPCNONE,	{0}},
+ 
+@@ -4512,6 +4583,8 @@
+ 
+ {"lhdx",	X(31,547),	X_MASK,      E500MC,	PPCNONE,	{RT, RA, RB}},
+ 
++{"lvtrx",	X(31,549),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++
+ {"bbelr",	X(31,550),	X_MASK,      PPCBRLK,	PPCNONE,	{0}},
+ 
+ {"lvrx",	X(31,551),	X_MASK,      CELL,	PPCNONE,	{VD, RA0, RB}},
+@@ -4528,6 +4601,8 @@
+ 
+ {"lwdx",	X(31,579),	X_MASK,      E500MC,	PPCNONE,	{RT, RA, RB}},
+ 
++{"lvtlx",	X(31,581),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++
+ {"lwfcmux",	APU(31,583,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+ {"lxsdx",	X(31,588),	XX1_MASK,    PPCVSX,	PPCNONE,	{XT6, RA, RB}},
+@@ -4539,9 +4614,10 @@
+ 
+ {"lwsync",	XSYNC(31,598,1), 0xffffffff, PPC,	E500,		{0}},
+ {"ptesync",	XSYNC(31,598,2), 0xffffffff, PPC64,	PPCNONE,	{0}},
++{"sync",	X(31,598),	XSYNCLE_MASK,E6500,	PPCNONE,	{LS, ESYNC}},
+ {"sync",	X(31,598),	XSYNC_MASK,  PPCCOM,	BOOKE|PPC476,	{LS}},
+ {"msync",	X(31,598),	0xffffffff, BOOKE|PPCA2|PPC476, PPCNONE, {0}},
+-{"sync",	X(31,598),	0xffffffff, BOOKE|PPC476, PPCNONE, {0}},
++{"sync",	X(31,598),	0xffffffff, BOOKE|PPC476, E6500,	{0}},
+ {"lwsync",	X(31,598),	0xffffffff, E500,	PPCNONE,	{0}},
+ {"dcs",		X(31,598),	0xffffffff,  PWRCOM,	PPCNONE,	{0}},
+ 
+@@ -4552,6 +4628,8 @@
+ 
+ {"lddx",	X(31,611),	X_MASK,      E500MC,	PPCNONE,	{RT, RA, RB}},
+ 
++{"lvswx",	X(31,613),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++
+ {"lqfcmux",	APU(31,615,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+ {"nego",	XO(31,104,1,0),	XORB_MASK,   COM,	PPCNONE,	{RT, RA}},
+@@ -4601,6 +4679,8 @@
+ 
+ {"sthdx",	X(31,675),	X_MASK,      E500MC,	PPCNONE,	{RS, RA, RB}},
+ 
++{"stvfrx",	X(31,677),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
+ {"stvrx",	X(31,679),	X_MASK,      CELL,	PPCNONE,	{VS, RA0, RB}},
+ {"sthfcmux",	APU(31,679,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+@@ -4613,6 +4693,8 @@
+ 
+ {"stwdx",	X(31,707),	X_MASK,      E500MC,	PPCNONE,	{RS, RA, RB}},
+ 
++{"stvflx",	X(31,709),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
+ {"stwfcmux",	APU(31,711,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+ {"stxsdx",	X(31,716),	XX1_MASK,    PPCVSX,	PPCNONE,	{XS6, RA, RB}},
+@@ -4645,6 +4727,8 @@
+ 
+ {"stddx",	X(31,739),	X_MASK,      E500MC,	PPCNONE,	{RS, RA, RB}},
+ 
++{"stvswx",	X(31,741),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
+ {"stqfcmux",	APU(31,743,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+ {"subfmeo",	XO(31,232,1,0),	XORB_MASK,   PPCCOM,	PPCNONE,	{RT, RA}},
+@@ -4673,6 +4757,8 @@
+ {"srliq",	XRC(31,760,0),	X_MASK,      M601,	PPCNONE,	{RA, RS, SH}},
+ {"srliq.",	XRC(31,760,1),	X_MASK,      M601,	PPCNONE,	{RA, RS, SH}},
+ 
++{"lvsm",	X(31,773),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++{"stvepxl",	X(31,775),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
+ {"lvlxl",	X(31,775),	X_MASK,      CELL,	PPCNONE,	{VD, RA0, RB}},
+ {"ldfcmux",	APU(31,775,0), 	APU_MASK,    PPC405,	PPCNONE,	{FCRT, RA, RB}},
+ 
+@@ -4705,6 +4791,8 @@
+ 
+ {"lfddx",	X(31,803),	X_MASK,      E500MC,	PPCNONE,	{FRT, RA, RB}},
+ 
++{"lvtrxl",	X(31,805),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++{"stvepx",	X(31,807),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
+ {"lvrxl",	X(31,807),	X_MASK,      CELL,	PPCNONE,	{VD, RA0, RB}},
+ 
+ {"rac",		X(31,818),	X_MASK,      M601,	PPCNONE,	{RT, RA, RB}},
+@@ -4725,6 +4813,8 @@
+ {"sradi",	XS(31,413,0),	XS_MASK,     PPC64,	PPCNONE,	{RA, RS, SH6}},
+ {"sradi.",	XS(31,413,1),	XS_MASK,     PPC64,	PPCNONE,	{RA, RS, SH6}},
+ 
++{"lvtlxl",	X(31,837),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++
+ {"divo",	XO(31,331,1,0),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
+ {"divo.",	XO(31,331,1,1),	XO_MASK,     M601,	PPCNONE,	{RT, RA, RB}},
+ 
+@@ -4743,6 +4833,8 @@
+ 
+ {"lfiwax",	X(31,855),	X_MASK, POWER6|PPCA2|PPC476, PPCNONE,	{FRT, RA0, RB}},
+ 
++{"lvswxl",	X(31,869),	X_MASK,      PPCVEC2,	PPCNONE,	{VD, RA0, RB}},
++
+ {"abso",	XO(31,360,1,0),	XORB_MASK,   M601,	PPCNONE,	{RT, RA}},
+ {"abso.",	XO(31,360,1,1),	XORB_MASK,   M601,	PPCNONE,	{RT, RA}},
+ 
+@@ -4788,6 +4880,8 @@
+ 
+ {"stfddx",	X(31,931),	X_MASK,      E500MC,	PPCNONE,	{FRS, RA, RB}},
+ 
++{"stvfrxl",	X(31,933),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
+ {"wclrone",	XOPL2(31,934,2),XRT_MASK,    PPCA2,	PPCNONE,	{RA0, RB}},
+ {"wclrall",	X(31,934),	XRARB_MASK,  PPCA2,	PPCNONE,	{L}},
+ {"wclr",	X(31,934),	X_MASK,	     PPCA2,	PPCNONE,	{L, RA0, RB}},
+@@ -4816,6 +4910,8 @@
+ {"extsb",	XRC(31,954,0),	XRB_MASK,    PPC,	PPCNONE,	{RA, RS}},
+ {"extsb.",	XRC(31,954,1),	XRB_MASK,    PPC,	PPCNONE,	{RA, RS}},
+ 
++{"stvflxl",	X(31,965),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
+ {"iccci",	X(31,966), XRT_MASK, PPC403|PPC440|TITAN|PPCA2, PPCNONE, {RAOPT, RBOPT}},
+ {"ici",		X(31,966),	XRARB_MASK,  PPCA2|PPC476, PPCNONE,	{CT}},
+ 
+@@ -4843,6 +4939,8 @@
+ 
+ {"icbiep",	XRT(31,991,0),	XRT_MASK, E500MC|PPCA2,	PPCNONE,	{RA, RB}},
+ 
++{"stvswxl",	X(31,997),	X_MASK,      PPCVEC2,	PPCNONE,	{VS, RA0, RB}},
++
+ {"icread",	X(31,998), XRT_MASK, PPC403|PPC440|PPC476|TITAN, PPCNONE, {RA, RB}},
+ 
+ {"nabso",	XO(31,488,1,0),	XORB_MASK,   M601,	PPCNONE,	{RT, RA}},
-- 
1.7.9.5




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

* [PATCH 17/19] gcc: Refresh support for fsl E5500/E6500
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (15 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 16/19] binutils: Backport the e5500/e6500 patches from mainline Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 18/19] qemu: Explicitly add --disable-gl-accel when gl is not enabled Khem Raj
                   ` (4 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

These patches are backport from gcc mainline
they fix issues where eglibc was not compilable
for e5500+ due to missing vector intrinsics
It obsoletes the existing e5500 patch

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-4.7.inc              |    7 +-
 .../gcc/gcc-4.7/define_insn_reservation.patch      |  118 +++
 .../gcc/gcc-4.7/ppc_with_cpu.patch                 |  752 ++++++++++++++++++++
 ...pc-e5500.patch => ppce5500-e6500-support.patch} |  560 +++++++++++----
 .../gcc/gcc-4.7/rs6000-tables.patch                |  135 ++++
 5 files changed, 1412 insertions(+), 160 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
 rename meta/recipes-devtools/gcc/gcc-4.7/{powerpc-e5500.patch => ppce5500-e6500-support.patch} (41%)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.7.inc b/meta/recipes-devtools/gcc/gcc-4.7.inc
index a824573..72edd1a 100644
--- a/meta/recipes-devtools/gcc/gcc-4.7.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.7.inc
@@ -1,6 +1,6 @@
 require gcc-common.inc
 
-PR = "r2"
+PR = "r3"
 
 # Third digit in PV should be incremented after a minor release
 # happens from this branch on gcc e.g. currently its 4.7.1
@@ -59,7 +59,10 @@ SRC_URI = "git://github.com/mirrors/gcc.git;branch=${BRANCH};proto=git \
 	   file://disable_relax_pic_calls_flag.patch \
 	   file://COLLECT_GCC_OPTIONS.patch \
            file://use-defaults.h-and-t-oe-in-B.patch \
-	   file://powerpc-e5500.patch \
+	   file://ppc_with_cpu.patch \
+	   file://ppce5500-e6500-support.patch \
+	   file://rs6000-tables.patch \
+	   file://define_insn_reservation.patch \
 	   file://pr32219.patch \
 	   file://fortran-cross-compile-hack.patch \
 	   file://libgcc-sjlj-check.patch \
diff --git a/meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch b/meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
new file mode 100644
index 0000000..2b0ff67
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
@@ -0,0 +1,118 @@
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+From aab806a131efe9706396692ecc67d324371e39bc Mon Sep 17 00:00:00 2001
+From: edmarwjr <edmarwjr@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Fri, 22 Jun 2012 20:13:23 +0000
+Subject: [PATCH] 2012-06-22  Edmar Wienskoski  <edmar@freescale.com>
+
+	* config/rs6000/rs6000.md (define_attr "type"): New type popcnt.
+	(popcntb<mode>2): Add attribute type popcnt.
+	(popcntd<mode>2): Ditto.
+	* config/rs6000/power4.md (define_insn_reservation): Add type popcnt.
+	* config/rs6000/power5.md (define_insn_reservation): Ditto.
+	* config/rs6000/power7.md (define_insn_reservation): Ditto.
+	* config/rs6000/476.md (define_insn_reservation): Ditto.
+	* config/rs6000/power6.md (define_insn_reservation): New
+	reservation for popcnt instructions.
+
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188901 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog               |   12 ++++++++++++
+ gcc/config/rs6000/476.md    |    2 +-
+ gcc/config/rs6000/power5.md |    2 +-
+ gcc/config/rs6000/power6.md |    5 +++++
+ gcc/config/rs6000/power7.md |    2 +-
+ gcc/config/rs6000/rs6000.md |   10 +++++++---
+ 6 files changed, 27 insertions(+), 6 deletions(-)
+
+Index: gcc-4_7-branch/gcc/config/rs6000/476.md
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/476.md	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/476.md	2012-07-06 19:50:30.078779999 -0700
+@@ -71,7 +71,7 @@
+    ppc476_i_pipe|ppc476_lj_pipe")
+ 
+ (define_insn_reservation "ppc476-complex-integer" 1
+-  (and (eq_attr "type" "cmp,cr_logical,delayed_cr,cntlz,isel,isync,sync,trap")
++  (and (eq_attr "type" "cmp,cr_logical,delayed_cr,cntlz,isel,isync,sync,trap,popcnt")
+        (eq_attr "cpu" "ppc476"))
+   "ppc476_issue,\
+    ppc476_i_pipe")
+Index: gcc-4_7-branch/gcc/config/rs6000/power5.md
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/power5.md	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/power5.md	2012-07-06 19:50:30.078779999 -0700
+@@ -142,7 +142,7 @@
+ ; Integer latency is 2 cycles
+ (define_insn_reservation "power5-integer" 2
+   (and (eq_attr "type" "integer,insert_dword,shift,trap,\
+-                        var_shift_rotate,cntlz,exts,isel")
++                        var_shift_rotate,cntlz,exts,isel,popcnt")
+        (eq_attr "cpu" "power5"))
+   "iq_power5")
+ 
+Index: gcc-4_7-branch/gcc/config/rs6000/power6.md
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/power6.md	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/power6.md	2012-07-06 19:50:30.078779999 -0700
+@@ -216,6 +216,11 @@
+        (eq_attr "cpu" "power6"))
+   "FXU_power6")
+ 
++(define_insn_reservation "power6-popcnt" 1
++  (and (eq_attr "type" "popcnt")
++       (eq_attr "cpu" "power6"))
++  "FXU_power6")
++
+ (define_insn_reservation "power6-insert" 1
+   (and (eq_attr "type" "insert_word")
+        (eq_attr "cpu" "power6"))
+Index: gcc-4_7-branch/gcc/config/rs6000/power7.md
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/power7.md	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/power7.md	2012-07-06 19:50:30.078779999 -0700
+@@ -150,7 +150,7 @@
+ ; FX Unit
+ (define_insn_reservation "power7-integer" 1
+   (and (eq_attr "type" "integer,insert_word,insert_dword,shift,trap,\
+-                        var_shift_rotate,exts,isel")
++                        var_shift_rotate,exts,isel,popcnt")
+        (eq_attr "cpu" "power7"))
+   "DU_power7,FXU_power7")
+ 
+Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.md	2012-07-06 19:44:38.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000.md	2012-07-06 19:50:30.078779999 -0700
+@@ -144,7 +144,7 @@
+ \f
+ ;; Define an insn type attribute.  This is used in function unit delay
+ ;; computations.
+-(define_attr "type" "integer,two,three,load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,store,store_ux,store_u,fpload,fpload_ux,fpload_u,fpstore,fpstore_ux,fpstore_u,vecload,vecstore,imul,imul2,imul3,lmul,idiv,ldiv,insert_word,branch,cmp,fast_compare,compare,var_delayed_compare,delayed_compare,imul_compare,lmul_compare,fpcompare,cr_logical,delayed_cr,mfcr,mfcrf,mtcr,mfjmpr,mtjmpr,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,brinc,vecsimple,veccomplex,vecdiv,veccmp,veccmpsimple,vecperm,vecfloat,vecfdiv,vecdouble,isync,sync,load_l,store_c,shift,trap,insert_dword,var_shift_rotate,cntlz,exts,mffgpr,mftgpr,isel"
++(define_attr "type" "integer,two,three,load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,store,store_ux,store_u,fpload,fpload_ux,fpload_u,fpstore,fpstore_ux,fpstore_u,vecload,vecstore,imul,imul2,imul3,lmul,idiv,ldiv,insert_word,branch,cmp,fast_compare,compare,var_delayed_compare,delayed_compare,imul_compare,lmul_compare,fpcompare,cr_logical,delayed_cr,mfcr,mfcrf,mtcr,mfjmpr,mtjmpr,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,brinc,vecsimple,veccomplex,vecdiv,veccmp,veccmpsimple,vecperm,vecfloat,vecfdiv,vecdouble,isync,sync,load_l,store_c,shift,trap,insert_dword,var_shift_rotate,cntlz,exts,mffgpr,mftgpr,isel,popcnt"
+   (const_string "integer"))
+ 
+ ;; Define floating point instruction sub-types for use with Xfpu.md
+@@ -2329,13 +2329,17 @@
+         (unspec:GPR [(match_operand:GPR 1 "gpc_reg_operand" "r")]
+                      UNSPEC_POPCNTB))]
+   "TARGET_POPCNTB"
+-  "popcntb %0,%1")
++  "popcntb %0,%1"
++  [(set_attr "length" "4")
++   (set_attr "type" "popcnt")])
+ 
+ (define_insn "popcntd<mode>2"
+   [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
+ 	(popcount:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))]
+   "TARGET_POPCNTD"
+-  "popcnt<wd> %0,%1")
++  "popcnt<wd> %0,%1"
++  [(set_attr "length" "4")
++   (set_attr "type" "popcnt")])
+ 
+ (define_expand "popcount<mode>2"
+   [(set (match_operand:GPR 0 "gpc_reg_operand" "")
diff --git a/meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch b/meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
new file mode 100644
index 0000000..5ca12a6
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
@@ -0,0 +1,752 @@
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+From 7630308303ea21c318bd57c35590fc4f249a30d8 Mon Sep 17 00:00:00 2001
+From: hainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Wed, 16 May 2012 08:43:41 +0000
+Subject: [PATCH]         * config/rs6000/rs6000-opts.h (enum processor_type):
+ Add         PROCESSOR_PPC8548.         *
+ config/rs6000/rs6000-cpus.def: Reference it for cpu="8548".
+         * config/rs6000/rs6000.md (cpu attribute
+ definition): Add ppc8548.         * config/rs6000/8540.md:
+ indicate that the units/patterns apply to         ppc8548
+ as well.
+
+        * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
+        default_cpu into implicit_cpu, conveying what --with-cpu was passed at
+        configure time. Treat implicit_cpu as have_CPU. Pick defaults for SPE
+        related flags,  check that what is queried is supported by the selected
+        configuration. Rework the single/double_float and MASK_STRING resets to
+        hit for all the E500 cores (854x + E500MC variants). Select the ppc8540
+        costs for PROCESSOR_PPC8548 as well.
+        (rs6000_issue_rate): case CPU_PPC8548 together with CPU_PPC8540.
+        (rs6000_use_sched_lookahead): Likewise, rewriting function as a case
+        statement instead of a sequence of ifs.
+
+        * config/rs6000/rs6000.h (TARGET_E500): Remove.
+        (TARGET_NO_LWSYNC): Adjust accordingly.
+        * config/rs6000/e500.h (TARGET_E500): Remove.
+        (CHECK_E500_OPTIONS): Adjust accordingly.
+        * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove.
+        (TARGET_DEFAULT): Reformat definition to match the one in linuxspe.h.
+        * config/rs6000/linuxspe.h: Likewise.
+        * config/rs6000/vxworks.h: Remove bogus TARGET_E500 overrides and
+        superfluous comments.
+        * config/rs6000/e500-double.h: Remove.
+
+        * config.gcc (pick a default with_cpu): For powerpc*-*-*spe*,
+        default to with_cpu=8548 if --enable-e500-double, and to 8540
+        otherwise.
+        (set misc flags section): For powerpc*|rs6000*, remove inclusion
+        of e500-double.h for --enable-e500-double.
+
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187581 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog                     |   37 +++++++++
+ gcc/config.gcc                    |   12 +--
+ gcc/config/rs6000/8540.md         |   50 ++++++------
+ gcc/config/rs6000/e500-double.h   |   24 ------
+ gcc/config/rs6000/e500.h          |   10 +--
+ gcc/config/rs6000/eabispe.h       |   17 +---
+ gcc/config/rs6000/linuxspe.h      |   16 +---
+ gcc/config/rs6000/rs6000-cpus.def |    3 +-
+ gcc/config/rs6000/rs6000-opts.h   |    1 +
+ gcc/config/rs6000/rs6000.c        |  155 +++++++++++++++++++++++--------------
+ gcc/config/rs6000/rs6000.h        |    7 +-
+ gcc/config/rs6000/rs6000.md       |    2 +-
+ gcc/config/rs6000/rtems.h         |   14 ----
+ gcc/config/rs6000/vxworks.h       |   11 ---
+ 14 files changed, 178 insertions(+), 181 deletions(-)
+
+Index: gcc-4_7-branch/gcc/config.gcc
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config.gcc	2012-07-06 19:43:53.000000000 -0700
++++ gcc-4_7-branch/gcc/config.gcc	2012-07-06 19:44:38.000000000 -0700
+@@ -2876,6 +2876,13 @@
+     mips*-*-vxworks)
+       with_arch=mips2
+       ;;
++    powerpc*-*-*spe*)
++      if test x$enable_e500_double = xyes; then
++         with_cpu=8548
++      else
++         with_cpu=8540
++      fi       
++      ;;
+     sparc-leon*-*)
+       with_cpu=v8;
+       ;;
+@@ -3564,11 +3571,6 @@
+ 		c_target_objs="${c_target_objs} rs6000-c.o"
+ 		cxx_target_objs="${cxx_target_objs} rs6000-c.o"
+ 		tmake_file="rs6000/t-rs6000 ${tmake_file}"
+-
+-                if test x$enable_e500_double = xyes
+-                then
+-                        tm_file="$tm_file rs6000/e500-double.h"
+-                fi
+ 		;;
+ 
+ 	sh[123456ble]*-*-* | sh-*-*)
+Index: gcc-4_7-branch/gcc/config/rs6000/8540.md
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/8540.md	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/8540.md	2012-07-06 19:44:38.466780001 -0700
+@@ -87,18 +87,18 @@
+   (and (eq_attr "type" "integer,insert_word,insert_dword,cmp,compare,\
+                         delayed_compare,var_delayed_compare,fast_compare,\
+                         shift,trap,var_shift_rotate,cntlz,exts,isel")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su_stage0+ppc8540_retire")
+ 
+ (define_insn_reservation "ppc8540_two" 1
+   (and (eq_attr "type" "two")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su_stage0+ppc8540_retire,\
+    ppc8540_issue+ppc8540_su_stage0+ppc8540_retire")
+ 
+ (define_insn_reservation "ppc8540_three" 1
+   (and (eq_attr "type" "three")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su_stage0+ppc8540_retire,\
+    ppc8540_issue+ppc8540_su_stage0+ppc8540_retire,\
+    ppc8540_issue+ppc8540_su_stage0+ppc8540_retire")
+@@ -106,13 +106,13 @@
+ ;; Branch.  Actually this latency time is not used by the scheduler.
+ (define_insn_reservation "ppc8540_branch" 1
+   (and (eq_attr "type" "jmpreg,branch,isync")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_bu,ppc8540_retire")
+ 
+ ;; Multiply
+ (define_insn_reservation "ppc8540_multiply" 4
+   (and (eq_attr "type" "imul,imul2,imul3,imul_compare")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_mu_stage0,ppc8540_mu_stage1,\
+    ppc8540_mu_stage2,ppc8540_mu_stage3+ppc8540_retire")
+ 
+@@ -122,57 +122,57 @@
+ ;; time.
+ (define_insn_reservation "ppc8540_divide" 14
+   (and (eq_attr "type" "idiv")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_mu_stage0+ppc8540_mu_div,\
+    ppc8540_mu_div*13")
+ 
+ ;; CR logical
+ (define_insn_reservation "ppc8540_cr_logical" 1
+   (and (eq_attr "type" "cr_logical,delayed_cr")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_bu,ppc8540_retire")
+ 
+ ;; Mfcr
+ (define_insn_reservation "ppc8540_mfcr" 1
+   (and (eq_attr "type" "mfcr")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su1_stage0+ppc8540_retire")
+ 
+ ;; Mtcrf
+ (define_insn_reservation "ppc8540_mtcrf" 1
+   (and (eq_attr "type" "mtcr")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su1_stage0+ppc8540_retire")
+ 
+ ;; Mtjmpr
+ (define_insn_reservation "ppc8540_mtjmpr" 1
+   (and (eq_attr "type" "mtjmpr,mfjmpr")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su_stage0+ppc8540_retire")
+ 
+ ;; Loads
+ (define_insn_reservation "ppc8540_load" 3
+   (and (eq_attr "type" "load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,\
+ 			load_l,sync")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_lsu,nothing,ppc8540_retire")
+ 
+ ;; Stores.
+ (define_insn_reservation "ppc8540_store" 3
+   (and (eq_attr "type" "store,store_ux,store_u,store_c")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_lsu,nothing,ppc8540_retire")
+ 
+ ;; Simple FP
+ (define_insn_reservation "ppc8540_simple_float" 1
+   (and (eq_attr "type" "fpsimple")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su_stage0+ppc8540_retire")
+ 
+ ;; FP
+ (define_insn_reservation "ppc8540_float" 4
+   (and (eq_attr "type" "fp")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_mu_stage0,ppc8540_mu_stage1,\
+    ppc8540_mu_stage2,ppc8540_mu_stage3+ppc8540_retire")
+ 
+@@ -180,44 +180,44 @@
+ ;; because of the result automata will be huge.
+ (define_insn_reservation "ppc8540_float_vector_divide" 29
+   (and (eq_attr "type" "vecfdiv")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_mu_stage0+ppc8540_mu_div,\
+    ppc8540_mu_div*28")
+ 
+ ;; Brinc
+ (define_insn_reservation "ppc8540_brinc" 1
+   (and (eq_attr "type" "brinc")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su_stage0+ppc8540_retire")
+ 
+ ;; Simple vector
+ (define_insn_reservation "ppc8540_simple_vector" 1
+   (and (eq_attr "type" "vecsimple")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su1_stage0+ppc8540_retire")
+ 
+ ;; Simple vector compare
+ (define_insn_reservation "ppc8540_simple_vector_compare" 1
+   (and (eq_attr "type" "veccmpsimple")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su_stage0+ppc8540_retire")
+ 
+ ;; Vector compare
+ (define_insn_reservation "ppc8540_vector_compare" 1
+   (and (eq_attr "type" "veccmp")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su1_stage0+ppc8540_retire")
+ 
+ ;; evsplatfi evsplati
+ (define_insn_reservation "ppc8540_vector_perm" 1
+   (and (eq_attr "type" "vecperm")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_su1_stage0+ppc8540_retire")
+ 
+ ;; Vector float
+ (define_insn_reservation "ppc8540_float_vector" 4
+   (and (eq_attr "type" "vecfloat")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_mu_stage0,ppc8540_mu_stage1,\
+    ppc8540_mu_stage2,ppc8540_mu_stage3+ppc8540_retire")
+ 
+@@ -226,25 +226,25 @@
+ ;; of miu_stage3 here because we use the average latency time.
+ (define_insn_reservation "ppc8540_vector_divide" 14
+   (and (eq_attr "type" "vecdiv")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_mu_stage0+ppc8540_mu_div,\
+    ppc8540_mu_div*13")
+ 
+ ;; Complex vector.
+ (define_insn_reservation "ppc8540_complex_vector" 4
+   (and (eq_attr "type" "veccomplex")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_mu_stage0,ppc8540_mu_stage1,\
+    ppc8540_mu_stage2,ppc8540_mu_stage3+ppc8540_retire")
+ 
+ ;; Vector load
+ (define_insn_reservation "ppc8540_vector_load" 3
+   (and (eq_attr "type" "vecload")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_lsu,nothing,ppc8540_retire")
+ 
+ ;; Vector store
+ (define_insn_reservation "ppc8540_vector_store" 3
+   (and (eq_attr "type" "vecstore")
+-       (eq_attr "cpu" "ppc8540"))
++       (eq_attr "cpu" "ppc8540,ppc8548"))
+   "ppc8540_decode,ppc8540_issue+ppc8540_lsu,nothing,ppc8540_retire")
+Index: gcc-4_7-branch/gcc/config/rs6000/e500-double.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/e500-double.h	2012-07-05 23:49:07.000000000 -0700
++++ /dev/null	1970-01-01 00:00:00.000000000 +0000
+@@ -1,24 +0,0 @@
+-/* Target definitions for E500 with double precision FP.
+-   Copyright (C) 2004, 2006, 2007, 2011 Free Software Foundation, Inc.
+-   Contributed by Aldy Hernandez (aldyh@redhat.com).
+-
+-   This file is part of GCC.
+-
+-   GCC is free software; you can redistribute it and/or modify it
+-   under the terms of the GNU General Public License as published
+-   by the Free Software Foundation; either version 3, or (at your
+-   option) any later version.
+-
+-   GCC is distributed in the hope that it will be useful, but WITHOUT
+-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+-   License for more details.
+-
+-   You should have received a copy of the GNU General Public License
+-   along with GCC; see the file COPYING3.  If not see
+-   <http://www.gnu.org/licenses/>.  */
+-
+-#undef  SUB3TARGET_OVERRIDE_OPTIONS
+-#define SUB3TARGET_OVERRIDE_OPTIONS \
+-  if (!global_options_set.x_rs6000_float_gprs) \
+-    rs6000_float_gprs = 2;
+Index: gcc-4_7-branch/gcc/config/rs6000/e500.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/e500.h	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/e500.h	2012-07-06 19:44:38.466780001 -0700
+@@ -19,7 +19,6 @@
+ 
+ #undef TARGET_SPE_ABI
+ #undef TARGET_SPE
+-#undef TARGET_E500
+ #undef TARGET_FPRS
+ #undef TARGET_E500_SINGLE
+ #undef TARGET_E500_DOUBLE
+@@ -27,21 +26,20 @@
+ 
+ #define TARGET_SPE_ABI rs6000_spe_abi
+ #define TARGET_SPE rs6000_spe
+-#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540)
+ #define TARGET_FPRS (rs6000_float_gprs == 0)
+ #define TARGET_E500_SINGLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 1)
+ #define TARGET_E500_DOUBLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 2)
+ #define CHECK_E500_OPTIONS						\
+   do {									\
+-    if (TARGET_E500 || TARGET_SPE || TARGET_SPE_ABI			\
++    if (TARGET_SPE || TARGET_SPE_ABI					\
+ 	|| TARGET_E500_SINGLE || TARGET_E500_DOUBLE)			\
+       {									\
+ 	if (TARGET_ALTIVEC)						\
+-	  error ("AltiVec and E500 instructions cannot coexist");	\
++	  error ("AltiVec and SPE instructions cannot coexist");	\
+ 	if (TARGET_VSX)							\
+-	  error ("VSX and E500 instructions cannot coexist");		\
++	  error ("VSX and SPE instructions cannot coexist");		\
+ 	if (TARGET_64BIT)						\
+-	  error ("64-bit E500 not supported");				\
++	  error ("64-bit SPE not supported");				\
+ 	if (TARGET_HARD_FLOAT && TARGET_FPRS)				\
+ 	  error ("E500 and FPRs not supported");			\
+       }									\
+Index: gcc-4_7-branch/gcc/config/rs6000/eabispe.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/eabispe.h	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/eabispe.h	2012-07-06 19:44:38.466780001 -0700
+@@ -21,21 +21,8 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #undef  TARGET_DEFAULT
+-#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_EABI	\
+-  | MASK_STRICT_ALIGN)
+-
+-#undef  SUBSUBTARGET_OVERRIDE_OPTIONS
+-#define SUBSUBTARGET_OVERRIDE_OPTIONS \
+-  if (!global_options_set.x_rs6000_cpu_index) \
+-    rs6000_cpu = PROCESSOR_PPC8540; \
+-  if (!global_options_set.x_rs6000_spe_abi) \
+-    rs6000_spe_abi = 1; \
+-  if (!global_options_set.x_rs6000_float_gprs) \
+-    rs6000_float_gprs = 1; \
+-  if (!global_options_set.x_rs6000_spe) \
+-    rs6000_spe = 1; \
+-  if (target_flags & MASK_64BIT) \
+-    error ("-m64 not supported in this configuration")
++#define TARGET_DEFAULT \
++  (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN | MASK_EABI)
+ 
+ #undef  ASM_DEFAULT_SPEC
+ #define	ASM_DEFAULT_SPEC "-mppc -mspe -me500"
+Index: gcc-4_7-branch/gcc/config/rs6000/linuxspe.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/linuxspe.h	2012-07-05 23:52:14.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/linuxspe.h	2012-07-06 19:44:38.466780001 -0700
+@@ -22,20 +22,8 @@
+ 
+ /* Override rs6000.h and sysv4.h definition.  */
+ #undef	TARGET_DEFAULT
+-#define	TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN)
+-
+-#undef  SUBSUBTARGET_OVERRIDE_OPTIONS
+-#define SUBSUBTARGET_OVERRIDE_OPTIONS \
+-  if (!global_options_set.x_rs6000_cpu_index) \
+-    rs6000_cpu = PROCESSOR_PPC8540; \
+-  if (!global_options_set.x_rs6000_spe_abi) \
+-    rs6000_spe_abi = 1; \
+-  if (!global_options_set.x_rs6000_float_gprs) \
+-    rs6000_float_gprs = 1; \
+-  if (!global_options_set.x_rs6000_spe) \
+-    rs6000_spe = 1; \
+-  if (target_flags & MASK_64BIT) \
+-    error ("-m64 not supported in this configuration")
++#define TARGET_DEFAULT \
++  (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN)
+ 
+ #undef  ASM_DEFAULT_SPEC
+ #define	ASM_DEFAULT_SPEC "-mppc -mspe -me500"
+Index: gcc-4_7-branch/gcc/config/rs6000/rs6000-cpus.def
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000-cpus.def	2012-07-06 19:43:53.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000-cpus.def	2012-07-06 19:44:38.000000000 -0700
+@@ -76,8 +76,7 @@
+ RS6000_CPU ("823", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
+ RS6000_CPU ("8540", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN
+ 	    | MASK_ISEL)
+-/* 8548 has a dummy entry for now.  */
+-RS6000_CPU ("8548", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN
++RS6000_CPU ("8548", PROCESSOR_PPC8548, POWERPC_BASE_MASK | MASK_STRICT_ALIGN
+ 	    | MASK_ISEL)
+ RS6000_CPU ("a2", PROCESSOR_PPCA2,
+ 	    POWERPC_BASE_MASK | MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_POPCNTB
+Index: gcc-4_7-branch/gcc/config/rs6000/rs6000-opts.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000-opts.h	2012-07-06 19:43:53.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000-opts.h	2012-07-06 19:44:38.000000000 -0700
+@@ -49,6 +49,7 @@
+    PROCESSOR_PPC7400,
+    PROCESSOR_PPC7450,
+    PROCESSOR_PPC8540,
++   PROCESSOR_PPC8548,
+    PROCESSOR_PPCE300C2,
+    PROCESSOR_PPCE300C3,
+    PROCESSOR_PPCE500MC,
+Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.c
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.c	2012-07-06 19:43:53.194780001 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000.c	2012-07-06 19:44:38.000000000 -0700
+@@ -2597,7 +2597,10 @@
+ {
+   bool ret = true;
+   bool have_cpu = false;
+-  const char *default_cpu = OPTION_TARGET_CPU_DEFAULT;
++
++  /* The default cpu requested at configure time, if any.  */
++  const char *implicit_cpu = OPTION_TARGET_CPU_DEFAULT;
++
+   int set_masks;
+   int cpu_index;
+   int tune_index;
+@@ -2616,11 +2619,6 @@
+     warning (0, "-malign-power is not supported for 64-bit Darwin;"
+ 	     " it is incompatible with the installed C and C++ libraries");
+ 
+-  if (global_options_set.x_rs6000_spe_abi
+-      && rs6000_spe_abi
+-      && !TARGET_SPE_ABI)
+-    error ("not configured for SPE ABI");
+-
+   /* Numerous experiment shows that IRA based loop pressure
+      calculation works better for RTL loop invariant motion on targets
+      with enough (>= 32) registers.  It is an expensive optimization.
+@@ -2656,7 +2654,8 @@
+   /* Process the -mcpu=<xxx> and -mtune=<xxx> argument.  If the user changed
+      the cpu in a target attribute or pragma, but did not specify a tuning
+      option, use the cpu for the tuning option rather than the option specified
+-     with -mtune on the command line.  */
++     with -mtune on the command line.  Process a '--with-cpu' configuration
++     request as an implicit --cpu.  */
+   if (rs6000_cpu_index >= 0)
+     {
+       cpu_index = rs6000_cpu_index;
+@@ -2669,10 +2668,12 @@
+     }
+   else
+     {
+-      if (!default_cpu)
+-	default_cpu = (TARGET_POWERPC64 ? "powerpc64" : "powerpc");
++      const char *default_cpu =
++        (implicit_cpu ? implicit_cpu
++         : (TARGET_POWERPC64 ? "powerpc64" : "powerpc"));
+ 
+       rs6000_cpu_index = cpu_index = rs6000_cpu_name_lookup (default_cpu);
++      have_cpu = implicit_cpu != 0;
+     }
+ 
+   gcc_assert (cpu_index >= 0);
+@@ -2703,6 +2704,42 @@
+   gcc_assert (tune_index >= 0);
+   rs6000_cpu = processor_target_table[tune_index].processor;
+ 
++  /* Pick defaults for SPE related control flags.  Do this early to make sure
++     that the TARGET_ macros are representative ASAP.  */
++  {
++    int spe_capable_cpu =
++      (rs6000_cpu == PROCESSOR_PPC8540
++       || rs6000_cpu == PROCESSOR_PPC8548);
++
++    if (!global_options_set.x_rs6000_spe_abi)
++      rs6000_spe_abi = spe_capable_cpu;
++
++    if (!global_options_set.x_rs6000_spe)
++      rs6000_spe = spe_capable_cpu;
++
++    if (!global_options_set.x_rs6000_float_gprs)
++      rs6000_float_gprs =
++        (rs6000_cpu == PROCESSOR_PPC8540 ? 1
++         : rs6000_cpu == PROCESSOR_PPC8548 ? 2
++         : 0);
++  }
++
++  if (global_options_set.x_rs6000_spe_abi
++      && rs6000_spe_abi
++      && !TARGET_SPE_ABI)
++    error ("not configured for SPE ABI");
++
++  if (global_options_set.x_rs6000_spe
++      && rs6000_spe
++      && !TARGET_SPE)
++    error ("not configured for SPE instruction set");
++
++  if (main_target_opt != NULL
++      && ((main_target_opt->x_rs6000_spe_abi != rs6000_spe_abi)
++          || (main_target_opt->x_rs6000_spe != rs6000_spe)
++          || (main_target_opt->x_rs6000_float_gprs != rs6000_float_gprs)))
++    error ("target attribute or pragma changes SPE ABI");
++
+   if (rs6000_cpu == PROCESSOR_PPCE300C2 || rs6000_cpu == PROCESSOR_PPCE300C3
+       || rs6000_cpu == PROCESSOR_PPCE500MC || rs6000_cpu == PROCESSOR_PPCE500MC64)
+     {
+@@ -2938,35 +2975,44 @@
+   SUB3TARGET_OVERRIDE_OPTIONS;
+ #endif
+ 
+-  if (TARGET_E500 || rs6000_cpu == PROCESSOR_PPCE500MC
+-      || rs6000_cpu == PROCESSOR_PPCE500MC64)
++  /* For the E500 family of cores, reset the single/double FP flags to let us
++     check that they remain constant across attributes or pragmas.  Also,
++     clear a possible request for string instructions, not supported and which
++     we might have silently queried above for -Os. 
++
++     For other families, clear ISEL in case it was set implicitly.
++  */
++
++  switch (rs6000_cpu)
+     {
+-      /* The e500 and e500mc do not have string instructions, and we set
+-	 MASK_STRING above when optimizing for size.  */
+-      if ((target_flags & MASK_STRING) != 0)
+-	target_flags = target_flags & ~MASK_STRING;
+-    }
+-  else if (global_options_set.x_rs6000_cpu_index)
+-    {
+-      /* For the powerpc-eabispe configuration, we set all these by
+-	 default, so let's unset them if we manually set another
+-	 CPU that is not the E500.  */
+-      if (main_target_opt != NULL
+-	  && ((main_target_opt->x_rs6000_spe_abi != rs6000_spe_abi)
+-	      || (main_target_opt->x_rs6000_spe != rs6000_spe)
+-	      || (main_target_opt->x_rs6000_float_gprs != rs6000_float_gprs)))
+-	error ("target attribute or pragma changes SPE ABI");
+-      else
+-	{
+-	  if (!global_options_set.x_rs6000_spe_abi)
+-	    rs6000_spe_abi = 0;
+-	  if (!global_options_set.x_rs6000_spe)
+-	    rs6000_spe = 0;
+-	  if (!global_options_set.x_rs6000_float_gprs)
+-	    rs6000_float_gprs = 0;
+-	}
+-      if (!(target_flags_explicit & MASK_ISEL))
++    case PROCESSOR_PPC8540:
++    case PROCESSOR_PPC8548:
++    case PROCESSOR_PPCE500MC:
++    case PROCESSOR_PPCE500MC64:
++
++      rs6000_single_float = TARGET_E500_SINGLE || TARGET_E500_DOUBLE;
++      rs6000_double_float = TARGET_E500_DOUBLE;
++
++      target_flags &= ~MASK_STRING;
++
++      break;
++
++    default:
++
++      if (have_cpu && !(target_flags_explicit & MASK_ISEL))
+ 	target_flags &= ~MASK_ISEL;
++
++      break;
++    }
++
++  if (main_target_opt)
++    {
++      if (main_target_opt->x_rs6000_single_float != rs6000_single_float)
++	error ("target attribute or pragma changes single precision floating "
++	       "point");
++      if (main_target_opt->x_rs6000_double_float != rs6000_double_float)
++	error ("target attribute or pragma changes double precision floating "
++	       "point");
+     }
+ 
+   /* Detect invalid option combinations with E500.  */
+@@ -3193,6 +3239,7 @@
+ 	break;
+ 
+       case PROCESSOR_PPC8540:
++      case PROCESSOR_PPC8548:
+ 	rs6000_cost = &ppc8540_cost;
+ 	break;
+ 
+@@ -3265,26 +3312,6 @@
+       && rs6000_single_float == 0 && rs6000_double_float == 0)
+     rs6000_single_float = rs6000_double_float = 1;
+ 
+-  /* Reset single and double FP flags if target is E500. */
+-  if (TARGET_E500) 
+-  {
+-    rs6000_single_float = rs6000_double_float = 0;
+-    if (TARGET_E500_SINGLE)
+-      rs6000_single_float = 1; 
+-    if (TARGET_E500_DOUBLE)
+-      rs6000_single_float = rs6000_double_float = 1;
+-  }
+-
+-  if (main_target_opt)
+-    {
+-      if (main_target_opt->x_rs6000_single_float != rs6000_single_float)
+-	error ("target attribute or pragma changes single precision floating "
+-	       "point");
+-      if (main_target_opt->x_rs6000_double_float != rs6000_double_float)
+-	error ("target attribute or pragma changes double precision floating "
+-	       "point");
+-    }
+-
+   /* If not explicitly specified via option, decide whether to generate indexed
+      load/store instructions.  */
+   if (TARGET_AVOID_XFORM == -1)
+@@ -22816,6 +22843,7 @@
+   case CPU_PPC750:
+   case CPU_PPC7400:
+   case CPU_PPC8540:
++  case CPU_PPC8548:
+   case CPU_CELL:
+   case CPU_PPCE300C2:
+   case CPU_PPCE300C3:
+@@ -22846,11 +22874,18 @@
+ static int
+ rs6000_use_sched_lookahead (void)
+ {
+-  if (rs6000_cpu_attr == CPU_PPC8540)
+-    return 4;
+-  if (rs6000_cpu_attr == CPU_CELL)
+-    return (reload_completed ? 8 : 0);
+-  return 0;
++  switch (rs6000_cpu_attr)
++    {
++    case CPU_PPC8540:
++    case CPU_PPC8548:
++      return 4;
++
++    case CPU_CELL:
++      return (reload_completed ? 8 : 0);
++
++    default:
++      return 0;
++    }
+ }
+ 
+ /* We are choosing insn from the ready queue.  Return nonzero if INSN can be chosen.  */
+Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.h	2012-07-06 19:43:53.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000.h	2012-07-06 19:44:38.000000000 -0700
+@@ -457,7 +457,6 @@
+ 
+ #define TARGET_SPE_ABI 0
+ #define TARGET_SPE 0
+-#define TARGET_E500 0
+ #define TARGET_ISEL64 (TARGET_ISEL && TARGET_POWERPC64)
+ #define TARGET_FPRS 1
+ #define TARGET_E500_SINGLE 0
+@@ -500,11 +499,11 @@
+ 				      || TARGET_ALTIVEC			 \
+ 				      || TARGET_VSX)))
+ 
++/* E500 cores only support plain "sync", not lwsync.  */
++#define TARGET_NO_LWSYNC (rs6000_cpu == PROCESSOR_PPC8540 \
++			  || rs6000_cpu == PROCESSOR_PPC8548)
+ 
+ 
+-/* E500 processors only support plain "sync", not lwsync.  */
+-#define TARGET_NO_LWSYNC TARGET_E500
+-
+ /* Which machine supports the various reciprocal estimate instructions.  */
+ #define TARGET_FRES	(TARGET_HARD_FLOAT && TARGET_PPC_GFXOPT \
+ 			 && TARGET_FPRS && TARGET_SINGLE_FLOAT)
+Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.md	2012-07-06 19:43:53.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000.md	2012-07-06 19:44:38.000000000 -0700
+@@ -166,7 +166,7 @@
+ ;; Processor type -- this attribute must exactly match the processor_type
+ ;; enumeration in rs6000.h.
+ 
+-(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,power4,power5,power6,power7,cell,ppca2,titan"
++(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,ppc8548,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,power4,power5,power6,power7,cell,ppca2,titan"
+   (const (symbol_ref "rs6000_cpu_attr")))
+ 
+ 
+Index: gcc-4_7-branch/gcc/config/rs6000/rtems.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rtems.h	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rtems.h	2012-07-06 19:44:38.470780001 -0700
+@@ -55,17 +55,3 @@
+ #undef  SUBSUBTARGET_EXTRA_SPECS
+ #define SUBSUBTARGET_EXTRA_SPECS \
+   { "cpp_os_rtems",		CPP_OS_RTEMS_SPEC }
+-
+-#undef SUBSUBTARGET_OVERRIDE_OPTIONS
+-#define SUBSUBTARGET_OVERRIDE_OPTIONS                                     \
+-  do {                                                                    \
+-   if (TARGET_E500)                                                       \
+-      {                                                                   \
+-        if (TARGET_HARD_FLOAT && !global_options_set.x_rs6000_float_gprs) \
+-          rs6000_float_gprs = 1;                                          \
+-        if (rs6000_float_gprs != 0 && !global_options_set.x_rs6000_spe)   \
+-          rs6000_spe = 1;                                                 \
+-        if (rs6000_spe && !global_options_set.x_rs6000_spe_abi)           \
+-          rs6000_spe_abi = 1;                                             \
+-      }                                                                   \
+-  } while(0)
+Index: gcc-4_7-branch/gcc/config/rs6000/vxworks.h
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/vxworks.h	2012-07-05 23:49:07.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/vxworks.h	2012-07-06 19:44:38.470780001 -0700
+@@ -122,19 +122,8 @@
+ 
+ #undef  ABI_STACK_BOUNDARY
+ 
+-/* Make -mcpu=8540 imply SPE.  ISEL is automatically enabled, the
+-   others must be done by hand.  Handle -mrtp.  Disable -fPIC
+-   for -mrtp - the VxWorks PIC model is not compatible with it.  */
+ #undef SUBSUBTARGET_OVERRIDE_OPTIONS
+ #define SUBSUBTARGET_OVERRIDE_OPTIONS		\
+-  do {						\
+-    if (TARGET_E500)				\
+-      {						\
+-	rs6000_spe = 1;				\
+-	rs6000_spe_abi = 1;			\
+-	rs6000_float_gprs = 1;			\
+-      }						\
+-						\
+   if (!global_options_set.x_g_switch_value)	\
+     g_switch_value = SDATA_DEFAULT_SIZE;	\
+   VXWORKS_OVERRIDE_OPTIONS;			\
diff --git a/meta/recipes-devtools/gcc/gcc-4.7/powerpc-e5500.patch b/meta/recipes-devtools/gcc/gcc-4.7/ppce5500-e6500-support.patch
similarity index 41%
rename from meta/recipes-devtools/gcc/gcc-4.7/powerpc-e5500.patch
rename to meta/recipes-devtools/gcc/gcc-4.7/ppce5500-e6500-support.patch
index 1c9736b..e3341fc 100644
--- a/meta/recipes-devtools/gcc/gcc-4.7/powerpc-e5500.patch
+++ b/meta/recipes-devtools/gcc/gcc-4.7/ppce5500-e6500-support.patch
@@ -1,49 +1,91 @@
-Upstream-Status: Pending
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
 
-Implements basic e5500 enablement in gcc, with a scheduler, -mcpu
-flag, etc...
+From b770074cee13445eba1bf4e99649c5ceac9a4b5a Mon Sep 17 00:00:00 2001
+From: edmarwjr <edmarwjr@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 5 Jun 2012 16:05:16 +0000
+Subject: [PATCH] 2012-06-01  Edmar Wienskoski  <edmar@freescale.com>
 
-Also splits the masks for popcntb, popcntd, and cmpb. Originally those
-masks would also control other instructions that e5500 does not
-support (so, we either get none or all).
+	* config/rs6000/e5500.md: New file.
+	* config/rs6000/e6500.md: New file.
+	* config/rs6000/rs6000.c (processor_costs): Add new costs for
+	e5500 and e6500.
+	(rs6000_option_override_internal): Altivec and Spe options not
+	allowed with e5500. Spe options not allowed with e6500. Increase
+	move inline limit for e5500 and e6500. Disable string instructions
+	for e5500 and e6500. Enable branch targets alignment for e5500 and
+	e6500. Initialize rs6000_cost for e5500 and e6500.
+	(rs6000_adjust_cost): Add extra scheduling cycles between compare
+	and brnach for e5500 and e6500.
+	(rs6000_issue_rate): Set issue rate for e5500 and e6500.
+	* config/rs6000/rs6000-cpus.def: Add cpu definitions for e5500 and
+	e6500.
+	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add e5500 and e6500.
+	* config/rs6000/rs6000.md (define_attr "cpu"): Add ppce5500 and
+	ppce6500.
+	Include e5500.md and e6500.md.
+	* config/rs6000/rs6000-opt.h (processor_type): Add
+	PROCESSOR_PPCE5500 and PROCESSOR_PPCE6500.
+	* config.gcc (cpu_is_64bit): Add new cores e5500, e6500.
+	(powerpc*-*-*): Add new cores e5500, e6500.
+	* doc/invoke.texi: (item -mcpu): Add e5500 and e6500 to list of cpus.
 
-For the lack of means to do tests, those instructions were never
-enabled until now. The new instructions enabled with this patch are:
-popcntb, popcntw, popcntd, bpermd, prtyw, prtyd, cmpb, ldbrx, and
-stdbrx.
+gcc/testsuite
+2012-06-01  Edmar Wienskoski  <edmar@freescale.com>
 
-Signed-off-by: Edmar Wienskoski <edmar@freescale.com>
-Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
+	* gcc.dg/tree-ssa/vector-3.c: Adjust regular expression.
+
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188244 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog                            |   26 ++++
+ gcc/config.gcc                           |    6 +-
+ gcc/config/rs6000/e5500.md               |  176 ++++++++++++++++++++++++
+ gcc/config/rs6000/e6500.md               |  213 ++++++++++++++++++++++++++++++
+ gcc/config/rs6000/rs6000-cpus.def        |    4 +
+ gcc/config/rs6000/rs6000-opts.h          |    2 +
+ gcc/config/rs6000/rs6000.c               |   68 +++++++++-
+ gcc/config/rs6000/rs6000.h               |    2 +
+ gcc/config/rs6000/rs6000.md              |    4 +-
+ gcc/doc/invoke.texi                      |   12 +-
+ gcc/testsuite/ChangeLog                  |    4 +
+ gcc/testsuite/gcc.dg/tree-ssa/vector-3.c |    2 +-
+ 12 files changed, 506 insertions(+), 13 deletions(-)
+ create mode 100644 gcc/config/rs6000/e5500.md
+ create mode 100644 gcc/config/rs6000/e6500.md
 
 Index: gcc-4_7-branch/gcc/config.gcc
 ===================================================================
---- gcc-4_7-branch.orig/gcc/config.gcc	2012-04-10 10:32:36.823374222 -0700
-+++ gcc-4_7-branch/gcc/config.gcc	2012-04-10 10:39:32.543394369 -0700
+--- gcc-4_7-branch.orig/gcc/config.gcc	2012-07-06 19:52:30.000000000 -0700
++++ gcc-4_7-branch/gcc/config.gcc	2012-07-06 19:53:26.350779999 -0700
 @@ -413,7 +413,7 @@
  	extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h"
  	need_64bit_hwint=yes
  	case x$with_cpu in
 -	    xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2|xe500mc64)
-+	    xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500)
++	    xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
  		cpu_is_64bit=yes
  		;;
  	esac
-@@ -3342,7 +3342,7 @@
+@@ -3361,8 +3361,8 @@
  			| 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \
  			| 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \
  			| 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
 -			| a2 | e300c[23] | 854[08] | e500mc | e500mc64 | titan\
-+			| a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | titan\
- 			| 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
+-			| 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
++			| a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | e6500 \
++			| titan | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
  				# OK
  				;;
+ 			*)
 Index: gcc-4_7-branch/gcc/config/rs6000/e5500.md
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ gcc-4_7-branch/gcc/config/rs6000/e5500.md	2012-04-10 10:39:32.543394369 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/e5500.md	2012-07-06 19:53:26.350779999 -0700
 @@ -0,0 +1,176 @@
 +;; Pipeline description for Freescale PowerPC e5500 core.
-+;;   Copyright (C) 2011 Free Software Foundation, Inc.
++;;   Copyright (C) 2012 Free Software Foundation, Inc.
 +;;   Contributed by Edmar Wienskoski (edmar@freescale.com)
 +;;
 +;; This file is part of GCC.
@@ -111,7 +153,7 @@ Index: gcc-4_7-branch/gcc/config/rs6000/e5500.md
 +  "e5500_decode,e5500_sfx")
 +
 +(define_insn_reservation "e5500_delayed" 2
-+  (and (eq_attr "type" "var_shift_rotate,var_delayed_compare,popcnt")
++  (and (eq_attr "type" "var_shift_rotate,var_delayed_compare")
 +       (eq_attr "cpu" "ppce5500"))
 +  "e5500_decode,e5500_sfx*2")
 +
@@ -218,23 +260,257 @@ Index: gcc-4_7-branch/gcc/config/rs6000/e5500.md
 +  (and (eq_attr "type" "cr_logical,delayed_cr")
 +       (eq_attr "cpu" "ppce5500"))
 +  "e5500_decode,e5500_bu")
+Index: gcc-4_7-branch/gcc/config/rs6000/e6500.md
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ gcc-4_7-branch/gcc/config/rs6000/e6500.md	2012-07-06 19:53:26.354779999 -0700
+@@ -0,0 +1,213 @@
++;; Pipeline description for Freescale PowerPC e6500 core.
++;;   Copyright (C) 2012 Free Software Foundation, Inc.
++;;   Contributed by Edmar Wienskoski (edmar@freescale.com)
++;;
++;; This file is part of GCC.
++;;
++;; GCC is free software; you can redistribute it and/or modify it
++;; under the terms of the GNU General Public License as published
++;; by the Free Software Foundation; either version 3, or (at your
++;; option) any later version.
++;;
++;; GCC is distributed in the hope that it will be useful, but WITHOUT
++;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
++;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
++;; License for more details.
++;;
++;; You should have received a copy of the GNU General Public License
++;; along with GCC; see the file COPYING3.  If not see
++;; <http://www.gnu.org/licenses/>.
++;;
++;; e6500 64-bit SFX(2), CFX, LSU, FPU, BU, VSFX, VCFX, VFPU, VPERM
++;; Max issue 3 insns/clock cycle (includes 1 branch)
++
++(define_automaton "e6500_most,e6500_long,e6500_vec")
++(define_cpu_unit "e6500_decode_0,e6500_decode_1" "e6500_most")
++
++;; SFX.
++(define_cpu_unit "e6500_sfx_0,e6500_sfx_1" "e6500_most")
++
++;; CFX.
++(define_cpu_unit "e6500_cfx_stage0,e6500_cfx_stage1" "e6500_most")
++
++;; Non-pipelined division.
++(define_cpu_unit "e6500_cfx_div" "e6500_long")
++
++;; LSU.
++(define_cpu_unit "e6500_lsu" "e6500_most")
++
++;; FPU.
++(define_cpu_unit "e6500_fpu" "e6500_long")
++
++;; BU.
++(define_cpu_unit "e6500_bu" "e6500_most")
++
++;; Altivec unit
++(define_cpu_unit "e6500_vec,e6500_vecperm" "e6500_vec")
++
++;; The following units are used to make the automata deterministic.
++(define_cpu_unit "present_e6500_decode_0" "e6500_most")
++(define_cpu_unit "present_e6500_sfx_0" "e6500_most")
++(presence_set "present_e6500_decode_0" "e6500_decode_0")
++(presence_set "present_e6500_sfx_0" "e6500_sfx_0")
++
++;; Some useful abbreviations.
++(define_reservation "e6500_decode"
++    "e6500_decode_0|e6500_decode_1+present_e6500_decode_0")
++(define_reservation "e6500_sfx"
++   "e6500_sfx_0|e6500_sfx_1+present_e6500_sfx_0")
++
++;; SFX.
++(define_insn_reservation "e6500_sfx" 1
++  (and (eq_attr "type" "integer,insert_word,insert_dword,delayed_compare,\
++	shift,cntlz,exts")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_sfx")
++
++(define_insn_reservation "e6500_sfx2" 2
++  (and (eq_attr "type" "cmp,compare,fast_compare,trap")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_sfx")
++
++(define_insn_reservation "e6500_delayed" 2
++  (and (eq_attr "type" "var_shift_rotate,var_delayed_compare")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_sfx*2")
++
++(define_insn_reservation "e6500_two" 2
++  (and (eq_attr "type" "two")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_decode+e6500_sfx,e6500_sfx")
++
++(define_insn_reservation "e6500_three" 3
++  (and (eq_attr "type" "three")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,(e6500_decode+e6500_sfx)*2,e6500_sfx")
++
++;; SFX - Mfcr.
++(define_insn_reservation "e6500_mfcr" 4
++  (and (eq_attr "type" "mfcr")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_sfx_0*4")
++
++;; SFX - Mtcrf.
++(define_insn_reservation "e6500_mtcrf" 1
++  (and (eq_attr "type" "mtcr")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_sfx_0")
++
++;; SFX - Mtjmpr.
++(define_insn_reservation "e6500_mtjmpr" 1
++  (and (eq_attr "type" "mtjmpr,mfjmpr")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_sfx")
++
++;; CFX - Multiply.
++(define_insn_reservation "e6500_multiply" 4
++  (and (eq_attr "type" "imul")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_cfx_stage0,e6500_cfx_stage1")
++
++(define_insn_reservation "e6500_multiply_i" 5
++  (and (eq_attr "type" "imul2,imul3,imul_compare")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_cfx_stage0,\
++   e6500_cfx_stage0+e6500_cfx_stage1,e6500_cfx_stage1")
++
++;; CFX - Divide.
++(define_insn_reservation "e6500_divide" 16
++  (and (eq_attr "type" "idiv")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_cfx_stage0+e6500_cfx_div,\
++   e6500_cfx_div*15")
++
++(define_insn_reservation "e6500_divide_d" 26
++  (and (eq_attr "type" "ldiv")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_cfx_stage0+e6500_cfx_div,\
++   e6500_cfx_div*25")
++
++;; LSU - Loads.
++(define_insn_reservation "e6500_load" 3
++  (and (eq_attr "type" "load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,\
++			load_l,sync")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_lsu")
++
++(define_insn_reservation "e6500_fpload" 4
++  (and (eq_attr "type" "fpload,fpload_ux,fpload_u")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_lsu")
++
++(define_insn_reservation "e6500_vecload" 4
++  (and (eq_attr "type" "vecload")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_lsu")
++
++;; LSU - Stores.
++(define_insn_reservation "e6500_store" 3
++  (and (eq_attr "type" "store,store_ux,store_u,store_c")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_lsu")
++
++(define_insn_reservation "e6500_fpstore" 3
++  (and (eq_attr "type" "fpstore,fpstore_ux,fpstore_u")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_lsu")
++
++(define_insn_reservation "e6500_vecstore" 4
++  (and (eq_attr "type" "vecstore")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_lsu")
++
++;; FP.
++(define_insn_reservation "e6500_float" 7
++  (and (eq_attr "type" "fpsimple,fp,fpcompare,dmul")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_fpu")
++
++(define_insn_reservation "e6500_sdiv" 20
++  (and (eq_attr "type" "sdiv")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_fpu*20")
++
++(define_insn_reservation "e6500_ddiv" 35
++  (and (eq_attr "type" "ddiv")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_fpu*35")
++
++;; BU.
++(define_insn_reservation "e6500_branch" 1
++  (and (eq_attr "type" "jmpreg,branch,isync")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_bu")
++
++;; BU - CR logical.
++(define_insn_reservation "e6500_cr_logical" 1
++  (and (eq_attr "type" "cr_logical,delayed_cr")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_bu")
++
++;; VSFX.
++(define_insn_reservation "e6500_vecsimple" 1
++  (and (eq_attr "type" "vecsimple,veccmp")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_vec")
++
++;; VCFX.
++(define_insn_reservation "e6500_veccomplex" 4
++  (and (eq_attr "type" "veccomplex")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_vec")
++
++;; VFPU.
++(define_insn_reservation "e6500_vecfloat" 6
++  (and (eq_attr "type" "vecfloat")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_vec")
++
++;; VPERM.
++(define_insn_reservation "e6500_vecperm" 2
++  (and (eq_attr "type" "vecperm")
++       (eq_attr "cpu" "ppce6500"))
++  "e6500_decode,e6500_vecperm")
+Index: gcc-4_7-branch/gcc/config/rs6000/rs6000-cpus.def
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000-cpus.def	2012-07-06 19:52:30.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000-cpus.def	2012-07-06 19:53:26.354779999 -0700
+@@ -87,6 +87,10 @@
+ 	    | MASK_ISEL)
+ RS6000_CPU ("e500mc64", PROCESSOR_PPCE500MC64,
+ 	    POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GFXOPT | MASK_ISEL)
++RS6000_CPU ("e5500", PROCESSOR_PPCE5500, POWERPC_BASE_MASK | MASK_POWERPC64
++	    | MASK_PPC_GFXOPT | MASK_ISEL)
++RS6000_CPU ("e6500", PROCESSOR_PPCE6500, POWERPC_7400_MASK | MASK_POWERPC64
++	    | MASK_MFCRF | MASK_ISEL)
+ RS6000_CPU ("860", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
+ RS6000_CPU ("970", PROCESSOR_POWER4,
+ 	    POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64)
 Index: gcc-4_7-branch/gcc/config/rs6000/rs6000-opts.h
 ===================================================================
---- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000-opts.h	2012-04-10 10:17:24.283330056 -0700
-+++ gcc-4_7-branch/gcc/config/rs6000/rs6000-opts.h	2012-04-10 10:39:32.543394369 -0700
-@@ -53,6 +53,7 @@
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000-opts.h	2012-07-06 19:52:30.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000-opts.h	2012-07-06 19:53:26.354779999 -0700
+@@ -54,6 +54,8 @@
     PROCESSOR_PPCE300C3,
     PROCESSOR_PPCE500MC,
     PROCESSOR_PPCE500MC64,
 +   PROCESSOR_PPCE5500,
++   PROCESSOR_PPCE6500,
     PROCESSOR_POWER4,
     PROCESSOR_POWER5,
     PROCESSOR_POWER6,
 Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.c
 ===================================================================
---- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.c	2012-04-10 10:17:24.263330055 -0700
-+++ gcc-4_7-branch/gcc/config/rs6000/rs6000.c	2012-04-10 10:39:32.547394389 -0700
-@@ -755,6 +755,25 @@
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.c	2012-07-06 19:52:30.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000.c	2012-07-06 19:53:26.354779999 -0700
+@@ -755,6 +755,44 @@
    1,			/* prefetch streams /*/
  };
  
@@ -243,7 +519,26 @@ Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.c
 +struct processor_costs ppce5500_cost = {
 +  COSTS_N_INSNS (5),    /* mulsi */
 +  COSTS_N_INSNS (5),    /* mulsi_const */
-+  COSTS_N_INSNS (5),    /* mulsi_const9 */
++  COSTS_N_INSNS (4),    /* mulsi_const9 */
++  COSTS_N_INSNS (5),    /* muldi */
++  COSTS_N_INSNS (14),   /* divsi */
++  COSTS_N_INSNS (14),   /* divdi */
++  COSTS_N_INSNS (7),    /* fp */
++  COSTS_N_INSNS (10),   /* dmul */
++  COSTS_N_INSNS (36),   /* sdiv */
++  COSTS_N_INSNS (66),   /* ddiv */
++  64,			/* cache line size */
++  32,			/* l1 cache */
++  128,			/* l2 cache */
++  1,			/* prefetch streams /*/
++};
++
++/* Instruction costs on PPCE6500 processors.  */
++static const
++struct processor_costs ppce6500_cost = {
++  COSTS_N_INSNS (5),    /* mulsi */
++  COSTS_N_INSNS (5),    /* mulsi_const */
++  COSTS_N_INSNS (4),    /* mulsi_const9 */
 +  COSTS_N_INSNS (5),    /* muldi */
 +  COSTS_N_INSNS (14),   /* divsi */
 +  COSTS_N_INSNS (14),   /* divdi */
@@ -260,8 +555,8 @@ Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.c
  /* Instruction costs on AppliedMicro Titan processors.  */
  static const
  struct processor_costs titan_cost = {
-@@ -2704,7 +2723,8 @@
-   rs6000_cpu = processor_target_table[tune_index].processor;
+@@ -2741,13 +2779,19 @@
+     error ("target attribute or pragma changes SPE ABI");
  
    if (rs6000_cpu == PROCESSOR_PPCE300C2 || rs6000_cpu == PROCESSOR_PPCE300C3
 -      || rs6000_cpu == PROCESSOR_PPCE500MC || rs6000_cpu == PROCESSOR_PPCE500MC64)
@@ -270,43 +565,49 @@ Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.c
      {
        if (TARGET_ALTIVEC)
  	error ("AltiVec not supported in this target");
-@@ -2805,9 +2825,14 @@
+       if (TARGET_SPE)
+ 	error ("SPE not supported in this target");
+     }
++  if (rs6000_cpu == PROCESSOR_PPCE6500)
++    {
++      if (TARGET_SPE)
++	error ("SPE not supported in this target");
++    }
+ 
+   /* Disable Cell microcode if we are optimizing for the Cell
+      and not optimizing for size.  */
+@@ -2842,7 +2886,9 @@
       user's opinion, though.  */
    if (rs6000_block_move_inline_limit == 0
        && (rs6000_cpu == PROCESSOR_PPCE500MC
 -	  || rs6000_cpu == PROCESSOR_PPCE500MC64))
 +	  || rs6000_cpu == PROCESSOR_PPCE500MC64
-+	  || rs6000_cpu == PROCESSOR_PPCE5500))
++	  || rs6000_cpu == PROCESSOR_PPCE5500
++	  || rs6000_cpu == PROCESSOR_PPCE6500))
      rs6000_block_move_inline_limit = 128;
  
-+  /* Those machines does not have fsqrt instruction */
-+  if (rs6000_cpu == PROCESSOR_PPCE5500)
-+    target_flags &= ~MASK_PPC_GPOPT;
-+
    /* store_one_arg depends on expand_block_move to handle at least the
-      size of reg_parm_stack_space.  */
-   if (rs6000_block_move_inline_limit < (TARGET_POWERPC64 ? 64 : 32))
-@@ -2939,7 +2964,8 @@
- #endif
+@@ -2989,6 +3035,8 @@
+     case PROCESSOR_PPC8548:
+     case PROCESSOR_PPCE500MC:
+     case PROCESSOR_PPCE500MC64:
++    case PROCESSOR_PPCE5500:
++    case PROCESSOR_PPCE6500:
  
-   if (TARGET_E500 || rs6000_cpu == PROCESSOR_PPCE500MC
--      || rs6000_cpu == PROCESSOR_PPCE500MC64)
-+      || rs6000_cpu == PROCESSOR_PPCE500MC64
-+      || rs6000_cpu == PROCESSOR_PPCE5500)
-     {
-       /* The e500 and e500mc do not have string instructions, and we set
- 	 MASK_STRING above when optimizing for size.  */
-@@ -2987,7 +3013,8 @@
+       rs6000_single_float = TARGET_E500_SINGLE || TARGET_E500_DOUBLE;
+       rs6000_double_float = TARGET_E500_DOUBLE;
+@@ -3033,7 +3081,9 @@
  				 || rs6000_cpu == PROCESSOR_POWER6
  				 || rs6000_cpu == PROCESSOR_POWER7
  				 || rs6000_cpu == PROCESSOR_PPCE500MC
 -				 || rs6000_cpu == PROCESSOR_PPCE500MC64);
 +				 || rs6000_cpu == PROCESSOR_PPCE500MC64
-+				 || rs6000_cpu == PROCESSOR_PPCE5500);
++				 || rs6000_cpu == PROCESSOR_PPCE5500
++				 || rs6000_cpu == PROCESSOR_PPCE6500);
  
    /* Allow debug switches to override the above settings.  These are set to -1
       in rs6000.opt to indicate the user hasn't directly set the switch.  */
-@@ -3209,6 +3236,10 @@
+@@ -3256,6 +3306,14 @@
  	rs6000_cost = &ppce500mc64_cost;
  	break;
  
@@ -314,156 +615,99 @@ Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.c
 +	rs6000_cost = &ppce5500_cost;
 +	break;
 +
++      case PROCESSOR_PPCE6500:
++	rs6000_cost = &ppce6500_cost;
++	break;
++
        case PROCESSOR_TITAN:
  	rs6000_cost = &titan_cost;
  	break;
-@@ -22295,6 +22326,7 @@
+@@ -22304,6 +22362,8 @@
                   || rs6000_cpu_attr == CPU_PPC750
                   || rs6000_cpu_attr == CPU_PPC7400
                   || rs6000_cpu_attr == CPU_PPC7450
 +                 || rs6000_cpu_attr == CPU_PPCE5500
++                 || rs6000_cpu_attr == CPU_PPCE6500
                   || rs6000_cpu_attr == CPU_POWER4
                   || rs6000_cpu_attr == CPU_POWER5
  		 || rs6000_cpu_attr == CPU_POWER7
-@@ -22839,6 +22871,7 @@
+@@ -22849,6 +22909,8 @@
    case CPU_PPCE300C3:
    case CPU_PPCE500MC:
    case CPU_PPCE500MC64:
 +  case CPU_PPCE5500:
++  case CPU_PPCE6500:
    case CPU_TITAN:
      return 2;
    case CPU_RIOS2:
 Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.h
 ===================================================================
---- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.h	2012-04-10 10:17:24.251330055 -0700
-+++ gcc-4_7-branch/gcc/config/rs6000/rs6000.h	2012-04-10 10:39:32.551394375 -0700
-@@ -168,6 +168,7 @@
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.h	2012-07-06 19:52:30.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000.h	2012-07-06 19:53:26.358779999 -0700
+@@ -168,6 +168,8 @@
  %{mcpu=e300c3: -me300} \
  %{mcpu=e500mc: -me500mc} \
  %{mcpu=e500mc64: -me500mc64} \
 +%{mcpu=e5500: -me5500} \
++%{mcpu=e6500: -me6500} \
  %{maltivec: -maltivec} \
  %{mvsx: -mvsx %{!maltivec: -maltivec} %{!mcpu*: %(asm_cpu_power7)}} \
  -many"
-@@ -475,13 +476,13 @@
- 
- #define TARGET_FCTIDZ	TARGET_FCFID
- #define TARGET_STFIWX	TARGET_PPC_GFXOPT
--#define TARGET_LFIWAX	TARGET_CMPB
--#define TARGET_LFIWZX	TARGET_POPCNTD
--#define TARGET_FCFIDS	TARGET_POPCNTD
--#define TARGET_FCFIDU	TARGET_POPCNTD
--#define TARGET_FCFIDUS	TARGET_POPCNTD
--#define TARGET_FCTIDUZ	TARGET_POPCNTD
--#define TARGET_FCTIWUZ	TARGET_POPCNTD
-+#define TARGET_LFIWAX	(TARGET_CMPB && rs6000_cpu != PROCESSOR_PPCE5500)
-+#define TARGET_LFIWZX	(TARGET_POPCNTD && rs6000_cpu != PROCESSOR_PPCE5500)
-+#define TARGET_FCFIDS	TARGET_LFIWZX
-+#define TARGET_FCFIDU	TARGET_LFIWZX
-+#define TARGET_FCFIDUS	TARGET_LFIWZX
-+#define TARGET_FCTIDUZ	TARGET_LFIWZX
-+#define TARGET_FCTIWUZ	TARGET_LFIWZX
- 
- /* For power systems, we want to enable Altivec and VSX builtins even if the
-    user did not use -maltivec or -mvsx to allow the builtins to be used inside
-@@ -510,10 +511,12 @@
- 
- #define TARGET_FRE	(TARGET_HARD_FLOAT && TARGET_FPRS \
- 			 && TARGET_DOUBLE_FLOAT \
--			 && (TARGET_POPCNTB || VECTOR_UNIT_VSX_P (DFmode)))
-+			 && (TARGET_POPCNTB || VECTOR_UNIT_VSX_P (DFmode)) \
-+			 && rs6000_cpu != PROCESSOR_PPCE5500)
- 
- #define TARGET_FRSQRTES	(TARGET_HARD_FLOAT && TARGET_POPCNTB \
--			 && TARGET_FPRS && TARGET_SINGLE_FLOAT)
-+			 && TARGET_FPRS && TARGET_SINGLE_FLOAT \
-+			 && rs6000_cpu != PROCESSOR_PPCE5500)
- 
- #define TARGET_FRSQRTE	(TARGET_HARD_FLOAT && TARGET_FPRS \
- 			 && TARGET_DOUBLE_FLOAT \
 Index: gcc-4_7-branch/gcc/config/rs6000/rs6000.md
 ===================================================================
---- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.md	2012-04-10 10:17:24.275330056 -0700
-+++ gcc-4_7-branch/gcc/config/rs6000/rs6000.md	2012-04-10 10:39:32.555394355 -0700
-@@ -144,7 +144,7 @@
- \f
- ;; Define an insn type attribute.  This is used in function unit delay
- ;; computations.
--(define_attr "type" "integer,two,three,load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,store,store_ux,store_u,fpload,fpload_ux,fpload_u,fpstore,fpstore_ux,fpstore_u,vecload,vecstore,imul,imul2,imul3,lmul,idiv,ldiv,insert_word,branch,cmp,fast_compare,compare,var_delayed_compare,delayed_compare,imul_compare,lmul_compare,fpcompare,cr_logical,delayed_cr,mfcr,mfcrf,mtcr,mfjmpr,mtjmpr,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,brinc,vecsimple,veccomplex,vecdiv,veccmp,veccmpsimple,vecperm,vecfloat,vecfdiv,vecdouble,isync,sync,load_l,store_c,shift,trap,insert_dword,var_shift_rotate,cntlz,exts,mffgpr,mftgpr,isel"
-+(define_attr "type" "integer,two,three,load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,store,store_ux,store_u,fpload,fpload_ux,fpload_u,fpstore,fpstore_ux,fpstore_u,vecload,vecstore,imul,imul2,imul3,lmul,idiv,ldiv,insert_word,branch,cmp,fast_compare,compare,var_delayed_compare,delayed_compare,imul_compare,lmul_compare,fpcompare,cr_logical,delayed_cr,mfcr,mfcrf,mtcr,mfjmpr,mtjmpr,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,brinc,vecsimple,veccomplex,vecdiv,veccmp,veccmpsimple,vecperm,vecfloat,vecfdiv,vecdouble,isync,sync,load_l,store_c,shift,trap,insert_dword,var_shift_rotate,cntlz,exts,mffgpr,mftgpr,isel,popcnt"
-   (const_string "integer"))
- 
- ;; Define floating point instruction sub-types for use with Xfpu.md
+--- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000.md	2012-07-06 19:52:32.000000000 -0700
++++ gcc-4_7-branch/gcc/config/rs6000/rs6000.md	2012-07-06 19:53:26.358779999 -0700
 @@ -166,7 +166,7 @@
  ;; Processor type -- this attribute must exactly match the processor_type
  ;; enumeration in rs6000.h.
  
--(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,power4,power5,power6,power7,cell,ppca2,titan"
-+(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,ppce5500,power4,power5,power6,power7,cell,ppca2,titan"
+-(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,ppc8548,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,power4,power5,power6,power7,cell,ppca2,titan"
++(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,ppc8548,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,ppce5500,ppce6500,power4,power5,power6,power7,cell,ppca2,titan"
    (const (symbol_ref "rs6000_cpu_attr")))
  
  
-@@ -194,6 +194,7 @@
+@@ -194,6 +194,8 @@
  (include "e300c2c3.md")
  (include "e500mc.md")
  (include "e500mc64.md")
 +(include "e5500.md")
++(include "e6500.md")
  (include "power4.md")
  (include "power5.md")
  (include "power6.md")
-@@ -2329,13 +2330,17 @@
-         (unspec:GPR [(match_operand:GPR 1 "gpc_reg_operand" "r")]
-                      UNSPEC_POPCNTB))]
-   "TARGET_POPCNTB"
--  "popcntb %0,%1")
-+  "popcntb %0,%1"
-+  [(set_attr "length" "4")
-+   (set_attr "type" "popcnt")])
+Index: gcc-4_7-branch/gcc/doc/invoke.texi
+===================================================================
+--- gcc-4_7-branch.orig/gcc/doc/invoke.texi	2012-07-06 19:43:53.000000000 -0700
++++ gcc-4_7-branch/gcc/doc/invoke.texi	2012-07-06 19:53:26.362779999 -0700
+@@ -16565,11 +16565,13 @@
+ @samp{603e}, @samp{604}, @samp{604e}, @samp{620}, @samp{630}, @samp{740},
+ @samp{7400}, @samp{7450}, @samp{750}, @samp{801}, @samp{821}, @samp{823},
+ @samp{860}, @samp{970}, @samp{8540}, @samp{a2}, @samp{e300c2},
+-@samp{e300c3}, @samp{e500mc}, @samp{e500mc64}, @samp{ec603e}, @samp{G3},
+-@samp{G4}, @samp{G5}, @samp{titan}, @samp{power}, @samp{power2}, @samp{power3},
+-@samp{power4}, @samp{power5}, @samp{power5+}, @samp{power6}, @samp{power6x},
+-@samp{power7}, @samp{common}, @samp{powerpc}, @samp{powerpc64}, @samp{rios},
+-@samp{rios1}, @samp{rios2}, @samp{rsc}, and @samp{rs64}.
++@samp{e300c3}, @samp{e500mc}, @samp{e500mc64}, @samp{e5500},
++@samp{e6500}, @samp{ec603e}, @samp{G3}, @samp{G4}, @samp{G5},
++@samp{titan}, @samp{power}, @samp{power2}, @samp{power3},
++@samp{power4}, @samp{power5}, @samp{power5+}, @samp{power6},
++@samp{power6x}, @samp{power7}, @samp{common}, @samp{powerpc},
++@samp{powerpc64}, @samp{rios}, @samp{rios1}, @samp{rios2}, @samp{rsc},
++and @samp{rs64}.
  
- (define_insn "popcntd<mode>2"
-   [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
- 	(popcount:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))]
-   "TARGET_POPCNTD"
--  "popcnt<wd> %0,%1")
-+  "popcnt<wd> %0,%1"
-+  [(set_attr "length" "4")
-+   (set_attr "type" "popcnt")])
+ @option{-mcpu=common} selects a completely generic processor.  Code
+ generated under this option will run on any POWER or PowerPC processor.
+Index: gcc-4_7-branch/gcc/testsuite/gcc.dg/tree-ssa/vector-3.c
+===================================================================
+--- gcc-4_7-branch.orig/gcc/testsuite/gcc.dg/tree-ssa/vector-3.c	2012-07-06 19:43:53.000000000 -0700
++++ gcc-4_7-branch/gcc/testsuite/gcc.dg/tree-ssa/vector-3.c	2012-07-06 19:53:26.362779999 -0700
+@@ -14,7 +14,7 @@
  
- (define_expand "popcount<mode>2"
-   [(set (match_operand:GPR 0 "gpc_reg_operand" "")
-@@ -5984,10 +5989,10 @@
-    && ((TARGET_PPC_GFXOPT
-         && !HONOR_NANS (<MODE>mode)
-         && !HONOR_SIGNED_ZEROS (<MODE>mode))
--       || TARGET_CMPB
-+       || TARGET_LFIWAX
-        || VECTOR_UNIT_VSX_P (<MODE>mode))"
- {
--  if (TARGET_CMPB || VECTOR_UNIT_VSX_P (<MODE>mode))
-+  if (TARGET_LFIWAX || VECTOR_UNIT_VSX_P (<MODE>mode))
-     {
-       emit_insn (gen_copysign<mode>3_fcpsgn (operands[0], operands[1],
- 					     operands[2]));
-@@ -6006,7 +6011,7 @@
- 	(unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "<rreg2>")
- 		      (match_operand:SFDF 2 "gpc_reg_operand" "<rreg2>")]
- 		     UNSPEC_COPYSIGN))]
--  "TARGET_CMPB && !VECTOR_UNIT_VSX_P (<MODE>mode)"
-+  "TARGET_LFIWAX && !VECTOR_UNIT_VSX_P (<MODE>mode)"
-   "fcpsgn %0,%2,%1"
-   [(set_attr "type" "fp")])
+ /* We should be able to optimize this to just "return 0.0;" */
+ /* { dg-final { scan-tree-dump-times "BIT_FIELD_REF" 0 "optimized"} } */
+-/* { dg-final { scan-tree-dump-times "0.0" 1 "optimized"} } */
++/* { dg-final { scan-tree-dump-times "0\\\.0" 1 "optimized"} } */
+ 
+ /* { dg-final { cleanup-tree-dump "optimized" } } */
  
-Index: gcc-4_7-branch/gcc/config/rs6000/rs6000-cpus.def
-===================================================================
---- gcc-4_7-branch.orig/gcc/config/rs6000/rs6000-cpus.def	2012-04-10 10:17:24.295330058 -0700
-+++ gcc-4_7-branch/gcc/config/rs6000/rs6000-cpus.def	2012-04-10 10:39:32.555394355 -0700
-@@ -88,6 +88,9 @@
- 	    | MASK_ISEL)
- RS6000_CPU ("e500mc64", PROCESSOR_PPCE500MC64,
- 	    POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GFXOPT | MASK_ISEL)
-+RS6000_CPU ("e5500", PROCESSOR_PPCE5500,
-+	    POWERPC_BASE_MASK | MASK_POWERPC64 | MASK_PPC_GFXOPT | MASK_ISEL
-+	    | MASK_CMPB | MASK_POPCNTB | MASK_POPCNTD)
- RS6000_CPU ("860", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT)
- RS6000_CPU ("970", PROCESSOR_POWER4,
- 	    POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64)
diff --git a/meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch b/meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch
new file mode 100644
index 0000000..5b8064b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch
@@ -0,0 +1,135 @@
+Upstream-Status: Backport
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+From 98da658b6944d0bf54beb10001e567d8b8922666 Mon Sep 17 00:00:00 2001
+From: edmarwjr <edmarwjr@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Wed, 6 Jun 2012 18:09:18 +0000
+Subject: [PATCH] 2012-06-06  Edmar Wienskoski  <edmar@freescale.com>
+
+	* config/rs6000/rs6000-tables.opt: Regenerated.
+
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188274 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/ChangeLog                       |    4 +++
+ gcc/config/rs6000/rs6000-tables.opt |   58 +++++++++++++++++++----------------
+ 2 files changed, 36 insertions(+), 26 deletions(-)
+
+Index: git/gcc/config/rs6000/rs6000-tables.opt
+===================================================================
+--- git.orig/gcc/config/rs6000/rs6000-tables.opt	2012-07-06 20:54:29.000000000 -0700
++++ git/gcc/config/rs6000/rs6000-tables.opt	2012-07-06 20:58:12.436646819 -0700
+@@ -126,80 +126,86 @@
+ Enum(rs6000_cpu_opt_value) String(e500mc64) Value(32)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(860) Value(33)
++Enum(rs6000_cpu_opt_value) String(e5500) Value(33)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(970) Value(34)
++Enum(rs6000_cpu_opt_value) String(e6500) Value(34)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(cell) Value(35)
++Enum(rs6000_cpu_opt_value) String(860) Value(35)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(common) Value(36)
++Enum(rs6000_cpu_opt_value) String(970) Value(36)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(ec603e) Value(37)
++Enum(rs6000_cpu_opt_value) String(cell) Value(37)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(G3) Value(38)
++Enum(rs6000_cpu_opt_value) String(common) Value(38)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(G4) Value(39)
++Enum(rs6000_cpu_opt_value) String(ec603e) Value(39)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(G5) Value(40)
++Enum(rs6000_cpu_opt_value) String(G3) Value(40)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(titan) Value(41)
++Enum(rs6000_cpu_opt_value) String(G4) Value(41)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power) Value(42)
++Enum(rs6000_cpu_opt_value) String(G5) Value(42)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power2) Value(43)
++Enum(rs6000_cpu_opt_value) String(titan) Value(43)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power3) Value(44)
++Enum(rs6000_cpu_opt_value) String(power) Value(44)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power4) Value(45)
++Enum(rs6000_cpu_opt_value) String(power2) Value(45)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power5) Value(46)
++Enum(rs6000_cpu_opt_value) String(power3) Value(46)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power5+) Value(47)
++Enum(rs6000_cpu_opt_value) String(power4) Value(47)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power6) Value(48)
++Enum(rs6000_cpu_opt_value) String(power5) Value(48)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power6x) Value(49)
++Enum(rs6000_cpu_opt_value) String(power5+) Value(49)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(power7) Value(50)
++Enum(rs6000_cpu_opt_value) String(power6) Value(50)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(powerpc) Value(51)
++Enum(rs6000_cpu_opt_value) String(power6x) Value(51)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(powerpc64) Value(52)
++Enum(rs6000_cpu_opt_value) String(power7) Value(52)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(rios) Value(53)
++Enum(rs6000_cpu_opt_value) String(powerpc) Value(53)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(rios1) Value(54)
++Enum(rs6000_cpu_opt_value) String(powerpc64) Value(54)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(rios2) Value(55)
++Enum(rs6000_cpu_opt_value) String(rios) Value(55)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(rsc) Value(56)
++Enum(rs6000_cpu_opt_value) String(rios1) Value(56)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(rsc1) Value(57)
++Enum(rs6000_cpu_opt_value) String(rios2) Value(57)
+ 
+ EnumValue
+-Enum(rs6000_cpu_opt_value) String(rs64) Value(58)
++Enum(rs6000_cpu_opt_value) String(rsc) Value(58)
++
++EnumValue
++Enum(rs6000_cpu_opt_value) String(rsc1) Value(59)
++
++EnumValue
++Enum(rs6000_cpu_opt_value) String(rs64) Value(60)
+ 
-- 
1.7.9.5




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

* [PATCH 18/19] qemu: Explicitly add --disable-gl-accel when gl is not enabled
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (16 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 17/19] gcc: Refresh support for fsl E5500/E6500 Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 16:10 ` [PATCH 19/19] eglibc: Add recipes for 2.16 release Khem Raj
                   ` (3 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

Default seems to be to enable GL accelaration so when
gl is not specified in PACKAGECONFIG then add the
--disable-gl-accel to really disable it.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/qemu/qemu.inc |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc
index 707493e..e618c1d 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -38,7 +38,7 @@ do_install () {
 }
 
 PACKAGECONFIG ??= "gl"
-PACKAGECONFIG[gl] = "--enable-gl-accel,,,"
+PACKAGECONFIG[gl] = "--enable-gl-accel,--disable-gl-accel,,"
 
 DEPENDS_virtclass-native = "zlib-native alsa-lib-native glib-2.0-native"
 DEPENDS_virtclass-nativesdk = "zlib-nativesdk libsdl-nativesdk glib-2.0-nativesdk \
-- 
1.7.9.5




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

* [PATCH 19/19] eglibc: Add recipes for 2.16 release
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (17 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 18/19] qemu: Explicitly add --disable-gl-accel when gl is not enabled Khem Raj
@ 2012-07-08 16:10 ` Khem Raj
  2012-07-08 18:47 ` [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (2 subsequent siblings)
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 16:10 UTC (permalink / raw)
  To: openembedded-core

Drop the patches that were either applied
or fixed differenly in 2.16

Add patches to fix ppc spe patches to match
eglibc 2.16

Fix CPPFLAGS to contain correct includepaths
so autoconf cache is generated correctly

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../eglibc/cross-localedef-native_2.16.bb          |   44 ++
 .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch    |  108 ++++
 .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch   |   17 +
 .../eglibc-svn-arm-lowlevellock-include-tls.patch  |   21 +
 .../eglibc_fix_findidx_parameters.patch            |   38 ++
 .../eglibc/eglibc-2.16/generate-supported.mk       |   11 +
 .../eglibc/eglibc-2.16/initgroups_keys.patch       |   20 +
 .../eglibc/eglibc-2.16/ld-search-order.patch       |   56 ++
 .../eglibc/eglibc-2.16/mips-rld-map-check.patch    |   26 +
 .../eglibc/eglibc-2.16/multilib_readlib.patch      |   17 +
 .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch |  538 ++++++++++++++++++++
 .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch       |  112 ++++
 .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  123 +++++
 .../eglibc/eglibc-2.16/rpc-bootstrap.patch         |   63 +++
 .../eglibc-2.16/use-sysroot-cxx-headers.patch      |   42 ++
 meta/recipes-core/eglibc/eglibc-initial_2.16.bb    |    6 +
 meta/recipes-core/eglibc/eglibc-locale_2.16.bb     |    1 +
 meta/recipes-core/eglibc/eglibc_2.16.bb            |  146 ++++++
 18 files changed, 1389 insertions(+)
 create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
 create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
 create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb

diff --git a/meta/recipes-core/eglibc/cross-localedef-native_2.16.bb b/meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
new file mode 100644
index 0000000..88c701e
--- /dev/null
+++ b/meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
@@ -0,0 +1,44 @@
+DESCRIPTION = "Cross locale generation tool for eglibc"
+HOMEPAGE = "http://www.eglibc.org/home"
+SECTION = "libs"
+LICENSE = "LGPL-2.1"
+
+LIC_DIR = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
+LIC_FILES_CHKSUM = "file://${LIC_DIR}/LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9\
+      file://${LIC_DIR}/COPYING;md5=393a5ca445f6965873eca0259a17f833 \
+      file://${LIC_DIR}/posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
+      file://${LIC_DIR}/COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
+
+
+inherit native
+inherit autotools
+
+PR = "r0"
+SRCREV="19383"
+EGLIBC_BRANCH="eglibc-2_16"
+SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http "
+S = "${WORKDIR}/${EGLIBC_BRANCH}/localedef"
+
+do_unpack_append() {
+	bb.build.exec_func('do_move_ports', d)
+}
+
+do_move_ports() {
+        if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then
+	    rm -rf ${WORKDIR}/libc/ports
+	    mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${WORKDIR}/libc/
+	fi
+}
+
+EXTRA_OECONF = "--with-glibc=${WORKDIR}/${EGLIBC_BRANCH}/libc"
+CFLAGS += "-DNOT_IN_libc=1"
+
+do_configure () {
+	./configure ${EXTRA_OECONF}
+}
+
+
+do_install() {
+	install -d ${D}${bindir} 
+	install -m 0755 ${S}/localedef ${D}${bindir}/cross-localedef
+}
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch b/meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
new file mode 100644
index 0000000..b899562
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
@@ -0,0 +1,108 @@
+Its controlled by __OPTION_EGLIBC_RTLD_DEBUG
+so we should use GLRO_dl_debug_mask
+
+Singed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: libc/elf/dl-open.c
+===================================================================
+--- libc.orig/elf/dl-open.c	2012-03-09 08:54:34.691443995 -0800
++++ libc/elf/dl-open.c	2012-03-09 08:55:31.275446730 -0800
+@@ -154,7 +154,7 @@
+ 	  ns->_ns_main_searchlist->r_list[new_nlist++] = map;
+ 
+ 	  /* We modify the global scope.  Report this.  */
+-	  if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0))
++	  if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0))
+ 	    _dl_debug_printf ("\nadd %s [%lu] to global scope\n",
+ 			      map->l_name, map->l_ns);
+ 	}
+@@ -294,7 +294,7 @@
+   _dl_debug_state ();
+ 
+   /* Print scope information.  */
+-  if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0))
++  if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0))
+     _dl_show_scope (new, 0);
+ 
+   /* Only do lazy relocation if `LD_BIND_NOW' is not set.  */
+@@ -438,7 +438,7 @@
+ 	}
+ 
+       /* Print scope information.  */
+-      if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0))
++      if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0))
+ 	_dl_show_scope (imap, from_scope);
+     }
+ 
+Index: libc/ports/sysdeps/mips/dl-lookup.c
+===================================================================
+--- libc.orig/ports/sysdeps/mips/dl-lookup.c	2012-03-09 08:54:34.707443996 -0800
++++ libc/ports/sysdeps/mips/dl-lookup.c	2012-03-09 09:02:36.903467324 -0800
+@@ -111,7 +111,7 @@
+ 	continue;
+ 
+       /* Print some debugging info if wanted.  */
+-      if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SYMBOLS, 0))
++      if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SYMBOLS, 0))
+ 	_dl_debug_printf ("symbol=%s;  lookup in file=%s [%lu]\n",
+ 			  undef_name,
+ 			  map->l_name[0] ? map->l_name : rtld_progname,
+@@ -432,7 +432,7 @@
+ 		     hash table.  */
+ 		  if (__builtin_expect (tab->size, 0))
+ 		    {
+-		      assert (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK);
++		      assert (GLRO_dl_debug_mask & DL_DEBUG_PRELINK);
+ 		      __rtld_lock_unlock_recursive (tab->lock);
+ 		      goto success;
+ 		    }
+@@ -681,7 +681,7 @@
+ 	}
+ 
+       /* Display information if we are debugging.  */
+-      if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
++      if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_FILES, 0))
+ 	_dl_debug_printf ("\
+ \nfile=%s [%lu];  needed by %s [%lu] (relocation dependency)\n\n",
+ 			  map->l_name[0] ? map->l_name : rtld_progname,
+@@ -860,7 +860,7 @@
+   if (__builtin_expect (current_value.m->l_used == 0, 0))
+     current_value.m->l_used = 1;
+ 
+-  if (__builtin_expect (GLRO(dl_debug_mask)
++  if (__builtin_expect (GLRO_dl_debug_mask
+ 			& (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0))
+     _dl_debug_bindings (undef_name, undef_map, ref,
+ 			&current_value, version, type_class, protected);
+@@ -925,7 +925,7 @@
+ {
+   const char *reference_name = undef_map->l_name;
+ 
+-  if (GLRO(dl_debug_mask) & DL_DEBUG_BINDINGS)
++  if (GLRO_dl_debug_mask & DL_DEBUG_BINDINGS)
+     {
+       _dl_debug_printf ("binding file %s [%lu] to %s [%lu]: %s symbol `%s'",
+ 			(reference_name[0]
+@@ -941,7 +941,7 @@
+ 	_dl_debug_printf_c ("\n");
+     }
+ #ifdef SHARED
+-  if (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK)
++  if (GLRO_dl_debug_mask & DL_DEBUG_PRELINK)
+     {
+       int conflict = 0;
+       struct sym_val val = { NULL, NULL };
+Index: libc/elf/rtld.c
+===================================================================
+--- libc.orig/elf/rtld.c	2012-03-09 09:01:35.159464344 -0800
++++ libc/elf/rtld.c	2012-03-09 09:01:56.247465364 -0800
+@@ -2198,7 +2198,7 @@
+   GLRO(dl_init_all_dirs) = GL(dl_all_dirs);
+ 
+   /* Print scope information.  */
+-  if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0))
++  if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0))
+     {
+       _dl_debug_printf ("\nInitial object scopes\n");
+ 
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch b/meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
new file mode 100644
index 0000000..cf58035
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
@@ -0,0 +1,17 @@
+import http://sourceware.org/ml/libc-ports/2007-12/msg00000.html
+
+Upstream-Status: Pending
+
+Index: libc/bits/stdio-lock.h
+===================================================================
+--- libc.orig/bits/stdio-lock.h	2009-10-28 14:34:19.000000000 -0700
++++ libc/bits/stdio-lock.h	2009-10-28 14:34:54.000000000 -0700
+@@ -50,6 +50,8 @@ __libc_lock_define_recursive (typedef, _
+   _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp));      \
+   _IO_flockfile (_fp)
+ 
++# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp)
++
+ # define _IO_release_lock(_fp) \
+   _IO_funlockfile (_fp);						      \
+   _IO_cleanup_region_end (0)
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch b/meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
new file mode 100644
index 0000000..4313aa5
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
@@ -0,0 +1,21 @@
+In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21:
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private':
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM'
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function)
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.)
+../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function)
+make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1
+
+Upstream-Status: Pending
+
+--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig
++++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
+@@ -25,6 +25,7 @@
+ #include <atomic.h>
+ #include <sysdep.h>
+ #include <kernel-features.h>
++#include <tls.h>
+ 
+ #define FUTEX_WAIT		0
+ #define FUTEX_WAKE		1
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch b/meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
new file mode 100644
index 0000000..bbf4605
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
@@ -0,0 +1,38 @@
+Upstream-Status: backport
+
+Imported patch from: http://www.eglibc.org/archives/patches/msg01124.html
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+2012/05/09
+
+Index: libc/posix/xregex.c
+===================================================================
+--- libc.orig/posix/xregex.c
++++ libc/posix/xregex.c
+@@ -2943,7 +2943,7 @@ PREFIX(regex_compile) (const char *ARG_P
+ 				  _NL_CURRENT (LC_COLLATE,
+ 					       _NL_COLLATE_INDIRECTWC);
+ 
+-				idx = findidx ((const wint_t**)&cp);
++				idx = findidx ((const wint_t**)&cp, -1);
+ 				if (idx == 0 || cp < (wint_t*) str + c1)
+ 				  /* This is no valid character.  */
+ 				  FREE_STACK_RETURN (REG_ECOLLATE);
+@@ -3392,7 +3392,7 @@ PREFIX(regex_compile) (const char *ARG_P
+ 			    indirect = (const int32_t *)
+ 			      _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
+ 
+-			    idx = findidx (&cp);
++			    idx = findidx (&cp, -1);
+ 			    if (idx == 0 || cp < str + c1)
+ 			      /* This is no valid character.  */
+ 			      FREE_STACK_RETURN (REG_ECOLLATE);
+@@ -6363,7 +6363,7 @@ byte_re_match_2_internal (struct re_patt
+ 		      }
+ 		    str_buf[i] = TRANSLATE(*(d+i));
+ 		    str_buf[i+1] = '\0'; /* sentinel */
+-		    idx2 = findidx ((const wint_t**)&cp);
++		    idx2 = findidx ((const wint_t**)&cp, -1);
+ 		  }
+ 
+ 		/* Update d, however d will be incremented at
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf b/meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
new file mode 100644
index 0000000..e69de29
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk b/meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
new file mode 100644
index 0000000..d2a28c2
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
@@ -0,0 +1,11 @@
+#!/usr/bin/make
+
+include $(IN)
+
+all:
+	rm -f $(OUT)
+	touch $(OUT)
+	for locale in $(SUPPORTED-LOCALES); do \
+		[ $$locale = true ] && continue; \
+		echo $$locale | sed 's,/, ,' >> $(OUT); \
+	done
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch b/meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
new file mode 100644
index 0000000..be29856
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
@@ -0,0 +1,20 @@
+This is needed since initgroups belongs to NET group
+so when NET is disabled in eglibc build then it reports
+as undefined symbol
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+
+Index: libc/nss/getent.c
+===================================================================
+--- libc.orig/nss/getent.c	2012-03-09 09:41:57.099581559 -0800
++++ libc/nss/getent.c	2012-03-09 09:42:13.095582334 -0800
+@@ -898,7 +898,7 @@
+ D(group)
+ D(gshadow)
+ DN(hosts)
+-D(initgroups)
++DN(initgroups)
+ DN(netgroup)
+ DN(networks)
+ D(passwd)
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch b/meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
new file mode 100644
index 0000000..40ae6d3
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
@@ -0,0 +1,56 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+The default lib search path order is:
+
+  1) LD_LIBRARY_PATH
+  2) RPATH from the binary
+  3) ld.so.cache
+  4) default search paths embedded in the linker
+
+For nativesdk binaries which are being used alongside binaries on a host system, we 
+need the search paths to firstly search the shipped nativesdk libs but then also
+cover the host system. For example we want the host system's libGL and this may be
+in a non-standard location like /usr/lib/mesa. The only place the location is know 
+about is in the ld.so.cache of the host system.
+
+Since nativesdk has a simple structure and doesn't need to use a cache itself, we 
+repurpose the cache for use as a last resort in finding host system binaries. This 
+means we need to switch the order of 3 and 4 above to make this work effectively.
+
+RP 14/10/2010
+
+Index: libc/elf/dl-load.c
+===================================================================
+--- libc.orig/elf/dl-load.c
++++ libc/elf/dl-load.c
+@@ -2107,6 +2107,15 @@ _dl_map_object (struct link_map *loader,
+ 			&loader->l_runpath_dirs, &realname, &fb, loader,
+ 			LA_SER_RUNPATH, &found_other_class);
+ 
++      /* try the default path.  */
++      if (fd == -1
++	  && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
++	      || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
++	  && rtld_search_dirs.dirs != (void *) -1)
++	fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
++			&realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
++
++      /* Finally try ld.so.cache */
+       if (fd == -1
+ 	  && (__builtin_expect (! (mode & __RTLD_SECURE), 1)
+ 	      || ! INTUSE(__libc_enable_secure)))
+@@ -2169,14 +2178,6 @@ _dl_map_object (struct link_map *loader,
+ 	    }
+ 	}
+ 
+-      /* Finally, try the default path.  */
+-      if (fd == -1
+-	  && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL
+-	      || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1))
+-	  && rtld_search_dirs.dirs != (void *) -1)
+-	fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs,
+-			&realname, &fb, l, LA_SER_DEFAULT, &found_other_class);
+-
+       /* Add another newline when we are tracing the library loading.  */
+       if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_LIBS, 0))
+ 	_dl_debug_printf ("\n");
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch b/meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
new file mode 100644
index 0000000..9b646fe
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
@@ -0,0 +1,26 @@
+
+On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic
+section if a --version-script sets _RLD_MAP to local. This is apparently
+a binutils bug, but libc shouldn't segfault in this case.
+
+see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615
+
+Upstream-Status: Pending
+
+9/19/2010 - added by Qing He <qing.he@intel.com>
+
+
+---
+diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/ports/sysdeps/mips/dl-machine.h
+--- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h	2009-05-16 16:36:20.000000000 +0800
++++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h	2010-09-19 09:11:53.000000000 +0800
+@@ -70,7 +70,8 @@
+ /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in
+    with the run-time address of the r_debug structure  */
+ #define ELF_MACHINE_DEBUG_SETUP(l,r) \
+-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \
++do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \
++         (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \
+        *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \
+        (ElfW(Addr)) (r); \
+    } while (0)
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch b/meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
new file mode 100644
index 0000000..1542b1b
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
@@ -0,0 +1,17 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+Replace the OECORE_KNOWN_INTERPRETER_NAMES with the value of 
+variable EGLIBC_KNOWN_INTERPRETER_NAMES.
+
+Lianhao Lu, 08/01/2011
+
+--- libc/elf/readlib.c.orig	2011-08-12 17:05:51.864470837 +0800
++++ libc/elf/readlib.c	2011-08-12 17:06:39.346942074 +0800
+@@ -52,6 +52,7 @@
+ #ifdef SYSDEP_KNOWN_INTERPRETER_NAMES
+   SYSDEP_KNOWN_INTERPRETER_NAMES
+ #endif
++  OECORE_KNOWN_INTERPRETER_NAMES
+ };
+ 
+ static struct known_names known_libs[] =
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch b/meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
new file mode 100644
index 0000000..203040c
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
@@ -0,0 +1,538 @@
+Upstream-Status: Pending
+
+2011-03-22  Joseph Myers  <joseph@codesourcery.com>
+
+        Merge from SG++ 2.11:
+
+        2010-10-05  Nathan Froyd  <froydnj@codesourcery.com>
+
+        Issue #9382
+
+        * sysdeps/powerpc/powerpc32/603e/: New directory.
+        * sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/: New directory.
+        * sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/: New directory.
+        * sysdeps/unix/sysv/linux/powerpc/powerpc32/7400/: New directory.
+        * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Update.
+        * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Update.
+        * sysdeps/powerpc/powerpc64/e5500/fpu/Implies: New file.
+
+Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
+===================================================================
+--- /dev/null
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
+@@ -0,0 +1,134 @@
++/* Double-precision floating point square root.
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <math.h>
++#include <math_private.h>
++#include <fenv_libc.h>
++#include <inttypes.h>
++
++#include <sysdep.h>
++#include <ldsodefs.h>
++
++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 };
++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 };
++static const float two108 = 3.245185536584267269e+32;
++static const float twom54 = 5.551115123125782702e-17;
++static const float half = 0.5;
++
++/* The method is based on the descriptions in:
++
++   _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5;
++   _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9
++
++   We find the actual square root and half of its reciprocal
++   simultaneously.  */
++
++#ifdef __STDC__
++double
++__ieee754_sqrt (double b)
++#else
++double
++__ieee754_sqrt (b)
++     double b;
++#endif
++{
++  if (__builtin_expect (b > 0, 1))
++    {
++      double y, g, h, d, r;
++      ieee_double_shape_type u;
++
++      if (__builtin_expect (b != a_inf.value, 1))
++        {
++          fenv_t fe;
++
++          fe = fegetenv_register ();
++
++          u.value = b;
++
++          relax_fenv_state ();
++
++          __asm__ ("frsqrte %[estimate], %[x]\n"
++                   : [estimate] "=f" (y) : [x] "f" (b));
++
++          /* Following Muller et al, page 168, equation 5.20.
++
++             h goes to 1/(2*sqrt(b))
++             g goes to sqrt(b).
++
++             We need three iterations to get within 1ulp.  */
++
++          /* Indicate that these can be performed prior to the branch.  GCC
++             insists on sinking them below the branch, however; it seems like
++             they'd be better before the branch so that we can cover any latency
++             from storing the argument and loading its high word.  Oh well.  */
++
++          g = b * y;
++          h = 0.5 * y;
++  
++          /* Handle small numbers by scaling.  */
++          if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
++            return __ieee754_sqrt (b * two108) * twom54;
++
++#define FMADD(a_, c_, b_)                                               \
++          ({ double __r;                                                \
++          __asm__ ("fmadd %[r], %[a], %[c], %[b]\n"                     \
++                   : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \
++          __r;})
++#define FNMSUB(a_, c_, b_)                                          \
++          ({ double __r;                                                \
++          __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n"                     \
++                   : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \
++          __r;})
++
++          r = FNMSUB (g, h, half);
++          g = FMADD (g, r, g);
++          h = FMADD (h, r, h);
++
++          r = FNMSUB (g, h, half);
++          g = FMADD (g, r, g);
++          h = FMADD (h, r, h);
++
++          r = FNMSUB (g, h, half);
++          g = FMADD (g, r, g);
++          h = FMADD (h, r, h);
++
++          /* g is now +/- 1ulp, or exactly equal to, the square root of b.  */
++
++          /* Final refinement.  */
++          d = FNMSUB (g, g, b);
++
++          fesetenv_register (fe);
++          return FMADD (d, h, g);
++        }
++    }
++  else if (b < 0)
++    {
++      /* For some reason, some PowerPC32 processors don't implement
++         FE_INVALID_SQRT.  */
++#ifdef FE_INVALID_SQRT
++      feraiseexcept (FE_INVALID_SQRT);
++
++      fenv_union_t u = { .fenv = fegetenv_register () };
++      if ((u.l[1] & FE_INVALID) == 0)
++#endif
++	feraiseexcept (FE_INVALID);
++      b = a_nan.value;
++    }
++  return f_wash (b);
++}
+Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
+===================================================================
+--- /dev/null
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
+@@ -0,0 +1,101 @@
++/* Single-precision floating point square root.
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <math.h>
++#include <math_private.h>
++#include <fenv_libc.h>
++#include <inttypes.h>
++
++#include <sysdep.h>
++#include <ldsodefs.h>
++
++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 };
++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 };
++static const float threehalf = 1.5;
++
++/* The method is based on the descriptions in:
++
++   _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5;
++   _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9
++
++   We find the reciprocal square root and use that to compute the actual
++   square root.  */
++
++#ifdef __STDC__
++float
++__ieee754_sqrtf (float b)
++#else
++float
++__ieee754_sqrtf (b)
++     float b;
++#endif
++{
++  if (__builtin_expect (b > 0, 1))
++    {
++#define FMSUB(a_, c_, b_)                                               \
++      ({ double __r;                                                    \
++        __asm__ ("fmsub %[r], %[a], %[c], %[b]\n"                       \
++                 : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \
++        __r;})
++#define FNMSUB(a_, c_, b_)                                              \
++      ({ double __r;                                                    \
++        __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n"                      \
++                 : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \
++        __r;})
++
++      if (__builtin_expect (b != a_inf.value, 1))
++        {
++          double y, x;
++          fenv_t fe;
++
++          fe = fegetenv_register ();
++
++          relax_fenv_state ();
++
++          /* Compute y = 1.5 * b - b.  Uses fewer constants than y = 0.5 * b.  */
++          y = FMSUB (threehalf, b, b);
++
++          /* Initial estimate.  */
++          __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b));
++
++          /* Iterate.  x_{n+1} = x_n * (1.5 - y * (x_n * x_n)).  */
++          x = x * FNMSUB (y, x * x, threehalf);
++          x = x * FNMSUB (y, x * x, threehalf);
++          x = x * FNMSUB (y, x * x, threehalf);
++
++          /* All done.  */
++          fesetenv_register (fe);
++          return x * b;
++        }
++    }
++  else if (b < 0)
++    {
++      /* For some reason, some PowerPC32 processors don't implement
++         FE_INVALID_SQRT.  */
++#ifdef FE_INVALID_SQRT
++      feraiseexcept (FE_INVALID_SQRT);
++
++      fenv_union_t u = { .fenv = fegetenv_register () };
++      if ((u.l[1] & FE_INVALID) == 0)
++#endif
++	feraiseexcept (FE_INVALID);
++      b = a_nan.value;
++    }
++  return f_washf (b);
++}
+Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
+===================================================================
+--- /dev/null
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
+@@ -0,0 +1,134 @@
++/* Double-precision floating point square root.
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <math.h>
++#include <math_private.h>
++#include <fenv_libc.h>
++#include <inttypes.h>
++
++#include <sysdep.h>
++#include <ldsodefs.h>
++
++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 };
++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 };
++static const float two108 = 3.245185536584267269e+32;
++static const float twom54 = 5.551115123125782702e-17;
++static const float half = 0.5;
++
++/* The method is based on the descriptions in:
++
++   _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5;
++   _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9
++
++   We find the actual square root and half of its reciprocal
++   simultaneously.  */
++
++#ifdef __STDC__
++double
++__ieee754_sqrt (double b)
++#else
++double
++__ieee754_sqrt (b)
++     double b;
++#endif
++{
++  if (__builtin_expect (b > 0, 1))
++    {
++      double y, g, h, d, r;
++      ieee_double_shape_type u;
++
++      if (__builtin_expect (b != a_inf.value, 1))
++        {
++          fenv_t fe;
++
++          fe = fegetenv_register ();
++
++          u.value = b;
++
++          relax_fenv_state ();
++
++          __asm__ ("frsqrte %[estimate], %[x]\n"
++                   : [estimate] "=f" (y) : [x] "f" (b));
++
++          /* Following Muller et al, page 168, equation 5.20.
++
++             h goes to 1/(2*sqrt(b))
++             g goes to sqrt(b).
++
++             We need three iterations to get within 1ulp.  */
++
++          /* Indicate that these can be performed prior to the branch.  GCC
++             insists on sinking them below the branch, however; it seems like
++             they'd be better before the branch so that we can cover any latency
++             from storing the argument and loading its high word.  Oh well.  */
++
++          g = b * y;
++          h = 0.5 * y;
++  
++          /* Handle small numbers by scaling.  */
++          if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
++            return __ieee754_sqrt (b * two108) * twom54;
++
++#define FMADD(a_, c_, b_)                                               \
++          ({ double __r;                                                \
++          __asm__ ("fmadd %[r], %[a], %[c], %[b]\n"                     \
++                   : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \
++          __r;})
++#define FNMSUB(a_, c_, b_)                                          \
++          ({ double __r;                                                \
++          __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n"                     \
++                   : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \
++          __r;})
++
++          r = FNMSUB (g, h, half);
++          g = FMADD (g, r, g);
++          h = FMADD (h, r, h);
++
++          r = FNMSUB (g, h, half);
++          g = FMADD (g, r, g);
++          h = FMADD (h, r, h);
++
++          r = FNMSUB (g, h, half);
++          g = FMADD (g, r, g);
++          h = FMADD (h, r, h);
++
++          /* g is now +/- 1ulp, or exactly equal to, the square root of b.  */
++
++          /* Final refinement.  */
++          d = FNMSUB (g, g, b);
++
++          fesetenv_register (fe);
++          return FMADD (d, h, g);
++        }
++    }
++  else if (b < 0)
++    {
++      /* For some reason, some PowerPC32 processors don't implement
++         FE_INVALID_SQRT.  */
++#ifdef FE_INVALID_SQRT
++      feraiseexcept (FE_INVALID_SQRT);
++
++      fenv_union_t u = { .fenv = fegetenv_register () };
++      if ((u.l[1] & FE_INVALID) == 0)
++#endif
++	feraiseexcept (FE_INVALID);
++      b = a_nan.value;
++    }
++  return f_wash (b);
++}
+Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
+===================================================================
+--- /dev/null
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
+@@ -0,0 +1,101 @@
++/* Single-precision floating point square root.
++   Copyright (C) 2010 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <math.h>
++#include <math_private.h>
++#include <fenv_libc.h>
++#include <inttypes.h>
++
++#include <sysdep.h>
++#include <ldsodefs.h>
++
++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 };
++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 };
++static const float threehalf = 1.5;
++
++/* The method is based on the descriptions in:
++
++   _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5;
++   _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9
++
++   We find the reciprocal square root and use that to compute the actual
++   square root.  */
++
++#ifdef __STDC__
++float
++__ieee754_sqrtf (float b)
++#else
++float
++__ieee754_sqrtf (b)
++     float b;
++#endif
++{
++  if (__builtin_expect (b > 0, 1))
++    {
++#define FMSUB(a_, c_, b_)                                               \
++      ({ double __r;                                                    \
++        __asm__ ("fmsub %[r], %[a], %[c], %[b]\n"                       \
++                 : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \
++        __r;})
++#define FNMSUB(a_, c_, b_)                                              \
++      ({ double __r;                                                    \
++        __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n"                      \
++                 : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \
++        __r;})
++
++      if (__builtin_expect (b != a_inf.value, 1))
++        {
++          double y, x;
++          fenv_t fe;
++
++          fe = fegetenv_register ();
++
++          relax_fenv_state ();
++
++          /* Compute y = 1.5 * b - b.  Uses fewer constants than y = 0.5 * b.  */
++          y = FMSUB (threehalf, b, b);
++
++          /* Initial estimate.  */
++          __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b));
++
++          /* Iterate.  x_{n+1} = x_n * (1.5 - y * (x_n * x_n)).  */
++          x = x * FNMSUB (y, x * x, threehalf);
++          x = x * FNMSUB (y, x * x, threehalf);
++          x = x * FNMSUB (y, x * x, threehalf);
++
++          /* All done.  */
++          fesetenv_register (fe);
++          return x * b;
++        }
++    }
++  else if (b < 0)
++    {
++      /* For some reason, some PowerPC32 processors don't implement
++         FE_INVALID_SQRT.  */
++#ifdef FE_INVALID_SQRT
++      feraiseexcept (FE_INVALID_SQRT);
++
++      fenv_union_t u = { .fenv = fegetenv_register () };
++      if ((u.l[1] & FE_INVALID) == 0)
++#endif
++	feraiseexcept (FE_INVALID);
++      b = a_nan.value;
++    }
++  return f_washf (b);
++}
+Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies
+===================================================================
+--- /dev/null
++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies
+@@ -0,0 +1 @@
++powerpc/powerpc32/603e/fpu
+Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/7400/fpu/Implies
+===================================================================
+--- /dev/null
++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/7400/fpu/Implies
+@@ -0,0 +1 @@
++powerpc/powerpc32/603e/fpu
+Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies
+===================================================================
+--- /dev/null
++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies
+@@ -0,0 +1 @@
++powerpc/powerpc32/603e/fpu
+Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies
+===================================================================
+--- /dev/null
++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies
+@@ -0,0 +1 @@
++powerpc/powerpc64/e5500/fpu
+Index: libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies
+===================================================================
+--- /dev/null
++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies
+@@ -0,0 +1 @@
++powerpc/powerpc32/603e/fpu
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch b/meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
new file mode 100644
index 0000000..5289051
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
@@ -0,0 +1,112 @@
+on ppc fixes the errors like below
+| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite'
+| collect2: ld returned 1 exit status
+
+Upstream-Status: Pending
+
+ChangeLog
+
+2012-01-06  Khem Raj  <raj.khem@gmail.com>
+
+	* sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Add __*_finite alias.
+	Remove cruft.
+	* sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Ditto.
+	* sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c: Ditto.
+	* sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c: Ditto.
+ 
+Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c	2012-01-06 18:07:42.296909187 -0800
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c	2012-01-06 18:09:22.572914856 -0800
+@@ -39,14 +39,8 @@
+    We find the actual square root and half of its reciprocal
+    simultaneously.  */
+ 
+-#ifdef __STDC__
+ double
+ __ieee754_sqrt (double b)
+-#else
+-double
+-__ieee754_sqrt (b)
+-     double b;
+-#endif
+ {
+   if (__builtin_expect (b > 0, 1))
+     {
+@@ -132,3 +126,4 @@
+     }
+   return f_wash (b);
+ }
++strong_alias (__ieee754_sqrt, __sqrt_finite)
+Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c	2012-01-06 18:10:37.068917644 -0800
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c	2012-01-06 18:11:33.408920635 -0800
+@@ -37,14 +37,8 @@
+    We find the reciprocal square root and use that to compute the actual
+    square root.  */
+ 
+-#ifdef __STDC__
+ float
+ __ieee754_sqrtf (float b)
+-#else
+-float
+-__ieee754_sqrtf (b)
+-     float b;
+-#endif
+ {
+   if (__builtin_expect (b > 0, 1))
+     {
+@@ -99,3 +93,4 @@
+     }
+   return f_washf (b);
+ }
++strong_alias (__ieee754_sqrtf, __sqrtf_finite)
+Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c	2012-01-06 18:11:51.460925644 -0800
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c	2012-01-06 18:12:39.344924405 -0800
+@@ -39,14 +39,8 @@
+    We find the actual square root and half of its reciprocal
+    simultaneously.  */
+ 
+-#ifdef __STDC__
+ double
+ __ieee754_sqrt (double b)
+-#else
+-double
+-__ieee754_sqrt (b)
+-     double b;
+-#endif
+ {
+   if (__builtin_expect (b > 0, 1))
+     {
+@@ -132,3 +126,4 @@
+     }
+   return f_wash (b);
+ }
++strong_alias (__ieee754_sqrt, __sqrt_finite)
+Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c	2012-01-06 18:13:00.892924586 -0800
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c	2012-01-06 18:15:27.992931106 -0800
+@@ -37,14 +37,8 @@
+    We find the reciprocal square root and use that to compute the actual
+    square root.  */
+ 
+-#ifdef __STDC__
+ float
+ __ieee754_sqrtf (float b)
+-#else
+-float
+-__ieee754_sqrtf (b)
+-     float b;
+-#endif
+ {
+   if (__builtin_expect (b > 0, 1))
+     {
+@@ -99,3 +93,4 @@
+     }
+   return f_washf (b);
+ }
++strong_alias (__ieee754_sqrtf, __sqrtf_finite)
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch b/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
new file mode 100644
index 0000000..9a932ff
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
@@ -0,0 +1,123 @@
+ __ieee754_sqrt{,f} are now inline functions and call out __slow versions
+
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c	2012-07-03 22:36:01.172386436 -0700
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c	2012-07-03 23:04:37.396469515 -0700
+@@ -40,7 +40,7 @@
+    simultaneously.  */
+ 
+ double
+-__ieee754_sqrt (double b)
++__slow_ieee754_sqrt (double b)
+ {
+   if (__builtin_expect (b > 0, 1))
+     {
+@@ -77,7 +77,7 @@
+   
+           /* Handle small numbers by scaling.  */
+           if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
+-            return __ieee754_sqrt (b * two108) * twom54;
++            return __slow_ieee754_sqrt (b * two108) * twom54;
+ 
+ #define FMADD(a_, c_, b_)                                               \
+           ({ double __r;                                                \
+@@ -126,4 +126,12 @@
+     }
+   return f_wash (b);
+ }
++
++#undef __ieee754_sqrt
++double
++__ieee754_sqrt (double x)
++{
++   return __slow_ieee754_sqrt (x);
++}
++
+ strong_alias (__ieee754_sqrt, __sqrt_finite)
+Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c	2012-07-03 22:36:01.172386436 -0700
++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c	2012-07-03 23:07:06.260476775 -0700
+@@ -38,7 +38,7 @@
+    square root.  */
+ 
+ float
+-__ieee754_sqrtf (float b)
++__slow_ieee754_sqrtf (float b)
+ {
+   if (__builtin_expect (b > 0, 1))
+     {
+@@ -93,4 +93,10 @@
+     }
+   return f_washf (b);
+ }
++#undef __ieee754_sqrtf
++float
++__ieee754_sqrtf (float x)
++{
++  return __slow_ieee754_sqrtf (x);
++}
+ strong_alias (__ieee754_sqrtf, __sqrtf_finite)
+Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c	2012-07-03 22:36:01.176386435 -0700
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c	2012-07-03 23:14:16.328497458 -0700
+@@ -40,7 +40,7 @@
+    simultaneously.  */
+ 
+ double
+-__ieee754_sqrt (double b)
++__slow_ieee754_sqrt (double b)
+ {
+   if (__builtin_expect (b > 0, 1))
+     {
+@@ -77,7 +77,7 @@
+   
+           /* Handle small numbers by scaling.  */
+           if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0))
+-            return __ieee754_sqrt (b * two108) * twom54;
++            return __slow_ieee754_sqrt (b * two108) * twom54;
+ 
+ #define FMADD(a_, c_, b_)                                               \
+           ({ double __r;                                                \
+@@ -126,4 +126,12 @@
+     }
+   return f_wash (b);
+ }
++
++#undef __ieee754_sqrt
++double
++__ieee754_sqrt (double x)
++{
++  return __slow_ieee754_sqrt (x);
++}
++
+ strong_alias (__ieee754_sqrt, __sqrt_finite)
+Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c
+===================================================================
+--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c	2012-07-03 22:36:01.176386435 -0700
++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c	2012-07-03 23:13:52.732496373 -0700
+@@ -38,7 +38,7 @@
+    square root.  */
+ 
+ float
+-__ieee754_sqrtf (float b)
++__slow_ieee754_sqrtf (float b)
+ {
+   if (__builtin_expect (b > 0, 1))
+     {
+@@ -93,4 +93,10 @@
+     }
+   return f_washf (b);
+ }
++#undef __ieee754_sqrtf
++float
++__ieee754_sqrtf (float x)
++{
++  return __slow_ieee754_sqrtf (x);
++}
+ strong_alias (__ieee754_sqrtf, __sqrtf_finite)
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch b/meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
new file mode 100644
index 0000000..130a816
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
@@ -0,0 +1,63 @@
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+
+From libc-alpha-return-31199-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org Tue Jul 03 19:54:27 2012
+Return-Path: <libc-alpha-return-31199-listarch-libc-alpha=sources dot redhat dot com at sourceware dot org>
+Delivered-To: listarch-libc-alpha at sources dot redhat dot com
+Received: (qmail 20151 invoked by alias); 3 Jul 2012 19:54:25 -0000
+Received: (qmail 20139 invoked by uid 22791); 3 Jul 2012 19:54:23 -0000
+X-SWARE-Spam-Status: No, hits=-4.8 required=5.0
+	tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,T_RP_MATCHES_RCVD
+X-Spam-Check-By: sourceware.org
+From: Mike Frysinger <vapier at gentoo dot org>
+To: libc-alpha at sourceware dot org
+Subject: [PATCH] sunrpc: fix rpc bootstrap builds
+Date: Tue,  3 Jul 2012 15:54:11 -0400
+Message-Id: <1341345251-31730-1-git-send-email-vapier@gentoo.org>
+Mailing-List: contact libc-alpha-help at sourceware dot org; run by ezmlm
+Precedence: bulk
+List-Id: <libc-alpha.sourceware.org>
+List-Subscribe: <mailto:libc-alpha-subscribe at sourceware dot org>
+List-Archive: <http://sourceware.org/ml/libc-alpha/>
+List-Post: <mailto:libc-alpha at sourceware dot org>
+List-Help: <mailto:libc-alpha-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs>
+Sender: libc-alpha-owner at sourceware dot org
+Delivered-To: mailing list libc-alpha at sourceware dot org
+
+If you build & install glibc w/rpc disabled, you no longer have headers in
+/usr/include/rpc/ (this is expected).  But if you try to build glibc w/rpc
+enabled, this gets into a bad state due to the new rpc helpers that get
+cross-compiled:
+
+$ make
+...
+x86_64-pc-linux-gnu-gcc -m32   -D_RPC_THREAD_SAFE_ -D_GNU_SOURCE -DIS_IN_build \
+	-include $objdir/config.h rpc_clntout.c -o $objdir/sunrpc/cross-rpc_clntout.o \
+	-MMD -MP -MF $objdir/sunrpc/cross-rpc_clntout.o.dt -MT $objdir/sunrpc/cross-rpc_clntout.o -c
+rpc_clntout.c:34:23: fatal error: rpc/types.h: No such file or directory
+compilation terminated.
+make: *** [$objdir/sunrpc/cross-rpc_clntout.o] Error 1
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+2012-07-03  Mike Frysinger  <vapier@gentoo.org>
+
+	* sunrpc/rpc_clntout.c: Change <rpc/types.h> to "rpc/types.h".
+---
+ sunrpc/rpc_clntout.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: libc/sunrpc/rpc_clntout.c
+===================================================================
+--- libc.orig/sunrpc/rpc_clntout.c	2012-07-04 16:09:16.000000000 -0700
++++ libc/sunrpc/rpc_clntout.c	2012-07-04 18:04:34.498085075 -0700
+@@ -31,7 +31,7 @@
+  */
+ #include <stdio.h>
+ #include <string.h>
+-#include <rpc/types.h>
++#include "rpc/types.h"
+ #include "rpc_parse.h"
+ #include "rpc_util.h"
+ #include "proto.h"
diff --git a/meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch b/meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
new file mode 100644
index 0000000..7f82253
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
@@ -0,0 +1,42 @@
+build system of glibc currently adds the cxx headers path by detecting
+it using provided CXX and expects that they are installed w.r.t to standard
+installation location but in OE we install and use cxx headers from target
+sysroot therefore that code needs to be adapted for OE
+
+Upstream-Status: Inappropriate [OE-specific]
+
+-Khem
+
+
+--- a/configure.in
++++ b/configure.in
+@@ -1094,11 +1094,10 @@ if test -n "$sysheaders"; then
+ -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
+   if test -n "$CXX"; then
+     CXX_SYSINCLUDES=
+-    cxxversion=`$CXX -dumpversion 2>&AS_MESSAGE_LOG_FD` &&
+     cxxmachine=`$CXX -dumpmachine 2>&AS_MESSAGE_LOG_FD` &&
+     for d in include "$cxxmachine/include"; do
+-      i=../../../../$d/c++/$cxxversion
+-      cxxheaders=`$CXX -print-file-name="$i"` &&
++      i="$prefix/$d/c++"
++      cxxheaders=`$CXX -print-sysroot`"$i" &&
+       test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
+       CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
+ -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
+--- a/configure
++++ b/configure
+@@ -5618,11 +5618,10 @@ if test -n "$sysheaders"; then
+ -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
+   if test -n "$CXX"; then
+     CXX_SYSINCLUDES=
+-    cxxversion=`$CXX -dumpversion 2>&5` &&
+     cxxmachine=`$CXX -dumpmachine 2>&5` &&
+     for d in include "$cxxmachine/include"; do
+-      i=../../../../$d/c++/$cxxversion
+-      cxxheaders=`$CXX -print-file-name="$i"` &&
++      i="$prefix/$d/c++"
++      cxxheaders=`$CXX -print-sysroot`"$i" &&
+       test "x$cxxheaders" != x && test "x$i" != "x$cxxheaders" &&
+       CXX_SYSINCLUDES="$CXX_SYSINCLUDES -isystem $cxxheaders \
+ -isystem $cxxheaders/$cxxmachine -isystem $cxxheaders/backward"
diff --git a/meta/recipes-core/eglibc/eglibc-initial_2.16.bb b/meta/recipes-core/eglibc/eglibc-initial_2.16.bb
new file mode 100644
index 0000000..787c762
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-initial_2.16.bb
@@ -0,0 +1,6 @@
+require eglibc_${PV}.bb
+require eglibc-initial.inc
+
+do_configure_prepend () {
+        unset CFLAGS
+}
diff --git a/meta/recipes-core/eglibc/eglibc-locale_2.16.bb b/meta/recipes-core/eglibc/eglibc-locale_2.16.bb
new file mode 100644
index 0000000..ce6c1d2
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc-locale_2.16.bb
@@ -0,0 +1 @@
+require eglibc-locale.inc
diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb
new file mode 100644
index 0000000..c005889
--- /dev/null
+++ b/meta/recipes-core/eglibc/eglibc_2.16.bb
@@ -0,0 +1,146 @@
+require eglibc.inc
+
+SRCREV = "19383"
+
+DEPENDS += "gperf-native"
+PR = "r0"
+PR_append = "+svnr${SRCPV}"
+
+EGLIBC_BRANCH="eglibc-2_16"
+SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http \
+           file://eglibc-svn-arm-lowlevellock-include-tls.patch \
+           file://IO-acquire-lock-fix.patch \
+           file://mips-rld-map-check.patch \
+           file://etc/ld.so.conf \
+           file://generate-supported.mk \
+           file://ppc-sqrt.patch \
+           file://multilib_readlib.patch \
+           file://use-sysroot-cxx-headers.patch \
+           file://ppc-sqrt_finite.patch \
+           file://GLRO_dl_debug_mask.patch \
+           file://initgroups_keys.patch \
+           file://eglibc_fix_findidx_parameters.patch \
+           file://ppc_slow_ieee754_sqrt.patch \
+           file://rpc-bootstrap.patch \
+          "
+LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
+      file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
+      file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \
+      file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff "
+
+SRC_URI_append_virtclass-nativesdk = " file://ld-search-order.patch"
+S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+PACKAGES_DYNAMIC = "libc6*"
+RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
+PROVIDES_${PN}-dbg = "glibc-dbg"
+
+# the -isystem in bitbake.conf screws up glibc do_stage
+BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
+TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}"
+
+GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN es_CR.ISO-8859-1"
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc-${PV}', '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+    import bb, re
+    uc_os = (re.match('.*uclibc$', d.getVar('TARGET_OS', True)) != None)
+    if uc_os:
+        raise bb.parse.SkipPackage("incompatible with target %s" %
+                                   d.getVar('TARGET_OS', True))
+}
+
+export libc_cv_slibdir = "${base_libdir}"
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+                --without-cvs --disable-profile \
+                --disable-debug --without-gd \
+                --enable-clocale=gnu \
+                --enable-add-ons \
+                --with-headers=${STAGING_INCDIR} \
+                --without-selinux \
+                --enable-obsolete-rpc \
+                ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}"
+
+do_unpack_append() {
+	bb.build.exec_func('do_move_ports', d)
+}
+
+do_move_ports() {
+        if test -d ${WORKDIR}/${EGLIBC_BRANCH}/ports ; then
+	    rm -rf ${S}/ports
+	    mv ${WORKDIR}/${EGLIBC_BRANCH}/ports ${S}/
+	fi
+}
+
+do_patch_append() {
+	bb.build.exec_func('do_fix_readlib_c', d)
+}
+
+# for mips eglibc now builds syscall tables for all abi's
+# so we make sure that we choose right march option which is
+# compatible with o32,n32 and n64 abi's
+# e.g. -march=mips32 is not compatible with n32 and n64 therefore
+# we filter it out in such case -march=from-abi which will be
+# mips1 when using o32 and mips3 when using n32/n64
+
+TUNE_CCARGS_mips := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}"
+TUNE_CCARGS_mipsel := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}"
+
+do_fix_readlib_c () {
+	sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
+}
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+        if [ -z "`which rpcgen`" ]; then
+                echo "rpcgen not found.  Install glibc-devel."
+                exit 1
+        fi
+        (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+        find ${S} -name "configure" | xargs touch
+        CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+	  yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+	  rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+	# -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+	unset LDFLAGS
+	base_do_compile
+	(
+		cd ${S}/sunrpc/rpcsvc
+		for r in ${rpcsvc}; do
+			h=`echo $r|sed -e's,\.x$,.h,'`
+			rpcgen -h $r -o $h || bbwarn "unable to generate header for $r"
+		done
+	)
+	echo "Adjust ldd script"
+	if [ -n "${RTLDLIST}" ]
+	then
+		sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#'
+		sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#'
+	fi
+
+}
+
+require eglibc-package.inc
+
+BBCLASSEXTEND = "nativesdk"
-- 
1.7.9.5




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

* Re: [PATCH V2 00/14] eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (18 preceding siblings ...)
  2012-07-08 16:10 ` [PATCH 19/19] eglibc: Add recipes for 2.16 release Khem Raj
@ 2012-07-08 18:47 ` Khem Raj
  2012-07-08 21:14 ` Saul Wold
  2012-07-09  4:26 ` Khem Raj
  21 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-08 18:47 UTC (permalink / raw)
  To: openembedded-core

On Sun, Jul 8, 2012 at 9:10 AM, Khem Raj <raj.khem@gmail.com> wrote:
> V2:
>
> Additionally, changed gcc to use git fetcher
> update E5500/E6500 patches for gcc and binutils (backported from mainline)
> images form p5020ds 32/64 bit built fine. (btw. it does not build with eglibc-2.15)
> Updated eglibc rpc patch needed for cross build from scratch
> Updates the gets patch for busybox now its a backport instead of
> home grown.
>
> bitbake world works clean for ppc/x86/x86_64 , for mips and arm
> the failures are prexisting.
> mips - webkit and pseudo fail to build
> arm - guile-2.0 and pseudo fail to build
>
> V1:
> This patch adds eglibc 2.16 recipes. I was able to build world
> on x86 except perf which was failing with 2.15 as well.
>
> I have also build and run core-image-sato on all qemus
>
> I did not remove 2.15 to allow some soak in time.
>
> The following changes since commit 8f16811a8d51982a8b3d70e6087aef4a41926840:
>
>   bootimg: Use STAGING_KERNEL_DIR (2012-07-06 09:38:17 +0100)
>
> are available in the git repository at:
>
>   git://git.openembedded.org/openembedded-core-contrib kraj/eglibc-2.16
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16
>
> Khem Raj (19):
>   mirrors: Add debian archive snapshot mirrors to search list
>   gdb: Replace struct siginfo with proper siginfo_t
>   busybox: Include sys/resource.h for rusage definition
>   coreutils: Fix build with eglibc 2.16
>   diffutils: Fix build with eglibc 2.16
>   udev: Fix build with eglibc 2.16
>   gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
>   bison: Fix for gets being removed from eglibc 2.16
>   grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
>   boost: Upgrade recipe to 1.50.0
>   puzzles: Fix checksums
>   valgrind: Fix build with eglibc 2.16
>   libpam: Fix build with eglibc 2.16
>   gcc-cross-initial.inc: Use BFD ld as default always
>   gcc: Switch to git SRC_URI

The above patch has been updated to include changing S value in
gcc-common.inc which was missing in last patch
additionally another patch is added where do_headerfix is converted
into a static patch

>   binutils: Backport the e5500/e6500 patches from mainline
>   gcc: Refresh support for fsl E5500/E6500
>   qemu: Explicitly add --disable-gl-accel when gl is not enabled
>   eglibc: Add recipes for 2.16 release
>
>  meta/classes/mirrors.bbclass                       |    4 +-
>  meta/recipes-bsp/grub/grub-1.99/remove-gets.patch  |   20 +
>  meta/recipes-bsp/grub/grub_1.99.bb                 |    3 +-
>  .../busybox/busybox-1.19.4/sys_resource.patch      |   99 +++
>  meta/recipes-core/busybox/busybox_1.19.4.bb        |    3 +-
>  .../coreutils/coreutils-8.14/remove-gets.patch     |   23 +
>  meta/recipes-core/coreutils/coreutils_8.14.bb      |    3 +-
>  .../eglibc/cross-localedef-native_2.16.bb          |   44 +
>  .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch    |  108 +++
>  .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch   |   17 +
>  .../eglibc-svn-arm-lowlevellock-include-tls.patch  |   21 +
>  .../eglibc_fix_findidx_parameters.patch            |   38 +
>  .../eglibc/eglibc-2.16/generate-supported.mk       |   11 +
>  .../eglibc/eglibc-2.16/initgroups_keys.patch       |   20 +
>  .../eglibc/eglibc-2.16/ld-search-order.patch       |   56 ++
>  .../eglibc/eglibc-2.16/mips-rld-map-check.patch    |   26 +
>  .../eglibc/eglibc-2.16/multilib_readlib.patch      |   17 +
>  .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch |  538 ++++++++++++
>  .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch       |  112 +++
>  .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  123 +++
>  .../eglibc/eglibc-2.16/rpc-bootstrap.patch         |   63 ++
>  .../eglibc-2.16/use-sysroot-cxx-headers.patch      |   42 +
>  meta/recipes-core/eglibc/eglibc-initial_2.16.bb    |    6 +
>  meta/recipes-core/eglibc/eglibc-locale_2.16.bb     |    1 +
>  meta/recipes-core/eglibc/eglibc_2.16.bb            |  146 ++++
>  .../gettext/gettext-0.18.1.1/remove_gets.patch     |   58 ++
>  meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    3 +-
>  meta/recipes-core/udev/udev/include_resource.patch |   31 +
>  meta/recipes-core/udev/udev_164.bb                 |    7 +-
>  meta/recipes-devtools/binutils/binutils-2.22.inc   |    2 +-
>  .../binutils/binutils/binutils-powerpc-e5500.patch |  918 +++++++++++++++++++-
>  .../recipes-devtools/bison/bison/remove-gets.patch |   20 +
>  meta/recipes-devtools/bison/bison_2.5.bb           |    6 +-
>  meta/recipes-devtools/gcc/gcc-4.7.inc              |   17 +-
>  .../gcc/gcc-4.7/define_insn_reservation.patch      |  118 +++
>  .../gcc/gcc-4.7/ppc_with_cpu.patch                 |  752 ++++++++++++++++
>  ...pc-e5500.patch => ppce5500-e6500-support.patch} |  560 ++++++++----
>  .../gcc/gcc-4.7/rs6000-tables.patch                |  135 +++
>  meta/recipes-devtools/gcc/gcc-cross-initial.inc    |    1 +
>  meta/recipes-devtools/gdb/gdb-common.inc           |    2 +-
>  meta/recipes-devtools/gdb/gdb.inc                  |    1 +
>  meta/recipes-devtools/gdb/gdb/siginfo_t.patch      |  403 +++++++++
>  .../recipes-devtools/guile/files/remove-gets.patch |   23 +
>  meta/recipes-devtools/guile/guile_2.0.5.bb         |    3 +-
>  meta/recipes-devtools/m4/m4-1.4.16.inc             |    6 +-
>  meta/recipes-devtools/m4/m4/remove-gets.patch      |   21 +
>  meta/recipes-devtools/qemu/qemu.inc                |    2 +-
>  .../valgrind-3.7.0/configure-with-glibc-2.16.patch |   32 +
>  meta/recipes-devtools/valgrind/valgrind_3.7.0.bb   |    6 +-
>  .../augeas/augeas/remove-gets.patch                |   20 +
>  meta/recipes-extended/augeas/augeas_0.10.0.bb      |    4 +-
>  .../cpio/cpio-2.11/remove-gets.patch               |   20 +
>  meta/recipes-extended/cpio/cpio_2.11.bb            |    5 +-
>  .../diffutils/diffutils-3.2/remove-gets.patch      |   22 +
>  meta/recipes-extended/diffutils/diffutils_3.2.bb   |    6 +-
>  .../pam/libpam/include-sys-resource.patch          |   12 +
>  meta/recipes-extended/pam/libpam_1.1.5.bb          |    6 +-
>  .../tar/tar-1.26/remove-gets.patch                 |   20 +
>  meta/recipes-extended/tar/tar_1.26.bb              |    5 +-
>  .../wget/wget-1.13.4/remove-gets.patch             |   23 +
>  meta/recipes-extended/wget/wget_1.13.4.bb          |    3 +-
>  meta/recipes-sato/puzzles/puzzles_r9561.bb         |   11 +-
>  .../boost/{boost_1.49.0.bb => boost_1.50.0.bb}     |    5 +-
>  .../gnutls/gnutls/remove-gets.patch                |   41 +
>  meta/recipes-support/gnutls/gnutls_2.12.20.bb      |    3 +-
>  65 files changed, 4629 insertions(+), 248 deletions(-)
>  create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
>  create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
>  create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
>  create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
>  create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
>  create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
>  create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
>  create mode 100644 meta/recipes-core/udev/udev/include_resource.patch
>  create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
>  rename meta/recipes-devtools/gcc/gcc-4.7/{powerpc-e5500.patch => ppce5500-e6500-support.patch} (41%)
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch
>  create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch
>  create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch
>  create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch
>  create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
>  create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch
>  create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
>  create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
>  create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch
>  create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch
>  create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
>  rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)
>  create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patch
>
> --
> 1.7.9.5
>



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

* Re: [PATCH V2 00/14] eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (19 preceding siblings ...)
  2012-07-08 18:47 ` [PATCH V2 00/14] eglibc 2.16 Khem Raj
@ 2012-07-08 21:14 ` Saul Wold
  2012-07-09  4:21   ` Khem Raj
  2012-07-09  4:26 ` Khem Raj
  21 siblings, 1 reply; 35+ messages in thread
From: Saul Wold @ 2012-07-08 21:14 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer


Khem,

Not sure if this one is on your radar:

> | builtin-sched.c: In function 'get_cpu_usage_nsec_parent':
> | builtin-sched.c:396:16: error: storage size of 'ru' isn't known
> | builtin-sched.c:400:2: error: implicit declaration of function 'getrusage' [-Werror=implicit-function-declaration]
> | builtin-sched.c:400:2: error: nested extern declaration of 'getrusage' [-Werror=nested-externs]
> | builtin-sched.c:400:18: error: 'RUSAGE_SELF' undeclared (first use in this function)
> | builtin-sched.c:400:18: note: each undeclared identifier is reported only once for each function it appears in
> | builtin-sched.c:396:16: error: unused variable 'ru' [-Werror=unused-variable]
> | cc1: all warnings being treated as errors
> | make: *** [/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-mips/build/build/tmp/work/routerstationpro-poky-linux/perf-3.4-r1/perf-3.4/builtin-sched.o] Error 1
> | make: *** Waiting for unfinished jobs....
> | make: Leaving directory `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-mips/build/build/tmp/sysroots/routerstationpro/usr/src/kernel/tools/perf'
> | ERROR: oe_runmake failed
> | ERROR: Function failed: do_compile (see /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-mips/build/build/tmp/work/routerstationpro-poky-linux/perf-3.4-r1/temp/log.do_compile.25734 for further information)
> NOTE: package perf-3.4-r1: task do_compile: Failed

I found it when building with the autobuilder, not sure is this is due 
to the newer perf changes or the compiler itself.

Sau!


On 07/08/2012 09:10 AM, Khem Raj wrote:
> V2:
>
> Additionally, changed gcc to use git fetcher
> update E5500/E6500 patches for gcc and binutils (backported from mainline)
> images form p5020ds 32/64 bit built fine. (btw. it does not build with eglibc-2.15)
> Updated eglibc rpc patch needed for cross build from scratch
> Updates the gets patch for busybox now its a backport instead of
> home grown.
>
> bitbake world works clean for ppc/x86/x86_64 , for mips and arm
> the failures are prexisting.
> mips - webkit and pseudo fail to build
> arm - guile-2.0 and pseudo fail to build
>
> V1:
> This patch adds eglibc 2.16 recipes. I was able to build world
> on x86 except perf which was failing with 2.15 as well.
>
> I have also build and run core-image-sato on all qemus
>
> I did not remove 2.15 to allow some soak in time.
>
> The following changes since commit 8f16811a8d51982a8b3d70e6087aef4a41926840:
>
>    bootimg: Use STAGING_KERNEL_DIR (2012-07-06 09:38:17 +0100)
>
> are available in the git repository at:
>
>    git://git.openembedded.org/openembedded-core-contrib kraj/eglibc-2.16
>    http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16
>
> Khem Raj (19):
>    mirrors: Add debian archive snapshot mirrors to search list
>    gdb: Replace struct siginfo with proper siginfo_t
>    busybox: Include sys/resource.h for rusage definition
>    coreutils: Fix build with eglibc 2.16
>    diffutils: Fix build with eglibc 2.16
>    udev: Fix build with eglibc 2.16
>    gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
>    bison: Fix for gets being removed from eglibc 2.16
>    grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
>    boost: Upgrade recipe to 1.50.0
>    puzzles: Fix checksums
>    valgrind: Fix build with eglibc 2.16
>    libpam: Fix build with eglibc 2.16
>    gcc-cross-initial.inc: Use BFD ld as default always
>    gcc: Switch to git SRC_URI
>    binutils: Backport the e5500/e6500 patches from mainline
>    gcc: Refresh support for fsl E5500/E6500
>    qemu: Explicitly add --disable-gl-accel when gl is not enabled
>    eglibc: Add recipes for 2.16 release
>
>   meta/classes/mirrors.bbclass                       |    4 +-
>   meta/recipes-bsp/grub/grub-1.99/remove-gets.patch  |   20 +
>   meta/recipes-bsp/grub/grub_1.99.bb                 |    3 +-
>   .../busybox/busybox-1.19.4/sys_resource.patch      |   99 +++
>   meta/recipes-core/busybox/busybox_1.19.4.bb        |    3 +-
>   .../coreutils/coreutils-8.14/remove-gets.patch     |   23 +
>   meta/recipes-core/coreutils/coreutils_8.14.bb      |    3 +-
>   .../eglibc/cross-localedef-native_2.16.bb          |   44 +
>   .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch    |  108 +++
>   .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch   |   17 +
>   .../eglibc-svn-arm-lowlevellock-include-tls.patch  |   21 +
>   .../eglibc_fix_findidx_parameters.patch            |   38 +
>   .../eglibc/eglibc-2.16/generate-supported.mk       |   11 +
>   .../eglibc/eglibc-2.16/initgroups_keys.patch       |   20 +
>   .../eglibc/eglibc-2.16/ld-search-order.patch       |   56 ++
>   .../eglibc/eglibc-2.16/mips-rld-map-check.patch    |   26 +
>   .../eglibc/eglibc-2.16/multilib_readlib.patch      |   17 +
>   .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch |  538 ++++++++++++
>   .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch       |  112 +++
>   .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  123 +++
>   .../eglibc/eglibc-2.16/rpc-bootstrap.patch         |   63 ++
>   .../eglibc-2.16/use-sysroot-cxx-headers.patch      |   42 +
>   meta/recipes-core/eglibc/eglibc-initial_2.16.bb    |    6 +
>   meta/recipes-core/eglibc/eglibc-locale_2.16.bb     |    1 +
>   meta/recipes-core/eglibc/eglibc_2.16.bb            |  146 ++++
>   .../gettext/gettext-0.18.1.1/remove_gets.patch     |   58 ++
>   meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    3 +-
>   meta/recipes-core/udev/udev/include_resource.patch |   31 +
>   meta/recipes-core/udev/udev_164.bb                 |    7 +-
>   meta/recipes-devtools/binutils/binutils-2.22.inc   |    2 +-
>   .../binutils/binutils/binutils-powerpc-e5500.patch |  918 +++++++++++++++++++-
>   .../recipes-devtools/bison/bison/remove-gets.patch |   20 +
>   meta/recipes-devtools/bison/bison_2.5.bb           |    6 +-
>   meta/recipes-devtools/gcc/gcc-4.7.inc              |   17 +-
>   .../gcc/gcc-4.7/define_insn_reservation.patch      |  118 +++
>   .../gcc/gcc-4.7/ppc_with_cpu.patch                 |  752 ++++++++++++++++
>   ...pc-e5500.patch => ppce5500-e6500-support.patch} |  560 ++++++++----
>   .../gcc/gcc-4.7/rs6000-tables.patch                |  135 +++
>   meta/recipes-devtools/gcc/gcc-cross-initial.inc    |    1 +
>   meta/recipes-devtools/gdb/gdb-common.inc           |    2 +-
>   meta/recipes-devtools/gdb/gdb.inc                  |    1 +
>   meta/recipes-devtools/gdb/gdb/siginfo_t.patch      |  403 +++++++++
>   .../recipes-devtools/guile/files/remove-gets.patch |   23 +
>   meta/recipes-devtools/guile/guile_2.0.5.bb         |    3 +-
>   meta/recipes-devtools/m4/m4-1.4.16.inc             |    6 +-
>   meta/recipes-devtools/m4/m4/remove-gets.patch      |   21 +
>   meta/recipes-devtools/qemu/qemu.inc                |    2 +-
>   .../valgrind-3.7.0/configure-with-glibc-2.16.patch |   32 +
>   meta/recipes-devtools/valgrind/valgrind_3.7.0.bb   |    6 +-
>   .../augeas/augeas/remove-gets.patch                |   20 +
>   meta/recipes-extended/augeas/augeas_0.10.0.bb      |    4 +-
>   .../cpio/cpio-2.11/remove-gets.patch               |   20 +
>   meta/recipes-extended/cpio/cpio_2.11.bb            |    5 +-
>   .../diffutils/diffutils-3.2/remove-gets.patch      |   22 +
>   meta/recipes-extended/diffutils/diffutils_3.2.bb   |    6 +-
>   .../pam/libpam/include-sys-resource.patch          |   12 +
>   meta/recipes-extended/pam/libpam_1.1.5.bb          |    6 +-
>   .../tar/tar-1.26/remove-gets.patch                 |   20 +
>   meta/recipes-extended/tar/tar_1.26.bb              |    5 +-
>   .../wget/wget-1.13.4/remove-gets.patch             |   23 +
>   meta/recipes-extended/wget/wget_1.13.4.bb          |    3 +-
>   meta/recipes-sato/puzzles/puzzles_r9561.bb         |   11 +-
>   .../boost/{boost_1.49.0.bb => boost_1.50.0.bb}     |    5 +-
>   .../gnutls/gnutls/remove-gets.patch                |   41 +
>   meta/recipes-support/gnutls/gnutls_2.12.20.bb      |    3 +-
>   65 files changed, 4629 insertions(+), 248 deletions(-)
>   create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
>   create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
>   create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
>   create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
>   create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
>   create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
>   create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
>   create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
>   create mode 100644 meta/recipes-core/udev/udev/include_resource.patch
>   create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>   create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
>   create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
>   rename meta/recipes-devtools/gcc/gcc-4.7/{powerpc-e5500.patch => ppce5500-e6500-support.patch} (41%)
>   create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch
>   create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch
>   create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch
>   create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch
>   create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
>   create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch
>   create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
>   create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
>   create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch
>   create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch
>   create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
>   rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)
>   create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patch
>




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

* Re: [PATCH V2 00/14] eglibc 2.16
  2012-07-08 21:14 ` Saul Wold
@ 2012-07-09  4:21   ` Khem Raj
  0 siblings, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-09  4:21 UTC (permalink / raw)
  To: Saul Wold; +Cc: Patches and discussions about the oe-core layer

On Sun, Jul 8, 2012 at 2:14 PM, Saul Wold <sgw@linux.intel.com> wrote:
>
> Khem,
>
> Not sure if this one is on your radar:
>
>> | builtin-sched.c: In function 'get_cpu_usage_nsec_parent':
>> | builtin-sched.c:396:16: error: storage size of 'ru' isn't known
>> | builtin-sched.c:400:2: error: implicit declaration of function
>> 'getrusage' [-Werror=implicit-function-declaration]
>> | builtin-sched.c:400:2: error: nested extern declaration of 'getrusage'
>> [-Werror=nested-externs]
>> | builtin-sched.c:400:18: error: 'RUSAGE_SELF' undeclared (first use in
>> this function)
>> | builtin-sched.c:400:18: note: each undeclared identifier is reported
>> only once for each function it appears in
>> | builtin-sched.c:396:16: error: unused variable 'ru'
>> [-Werror=unused-variable]
>> | cc1: all warnings being treated as errors

Saul

I did not get this probably this is combination of new libc and new perf
Can you aff

#include <sys/resource.h>

to
builtin-sched.c in perf sources

and see if that solves the issue.

-Khem



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

* Re: [PATCH V2 00/14] eglibc 2.16
  2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
                   ` (20 preceding siblings ...)
  2012-07-08 21:14 ` Saul Wold
@ 2012-07-09  4:26 ` Khem Raj
  2012-07-09  9:56   ` Martin Jansa
  2012-07-09 22:48   ` Khem Raj
  21 siblings, 2 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-09  4:26 UTC (permalink / raw)
  To: openembedded-core

On Sun, Jul 8, 2012 at 9:10 AM, Khem Raj <raj.khem@gmail.com> wrote:
> V2:
>
> Additionally, changed gcc to use git fetcher
> update E5500/E6500 patches for gcc and binutils (backported from mainline)
> images form p5020ds 32/64 bit built fine. (btw. it does not build with eglibc-2.15)
> Updated eglibc rpc patch needed for cross build from scratch
> Updates the gets patch for busybox now its a backport instead of
> home grown.
>
> bitbake world works clean for ppc/x86/x86_64 , for mips and arm
> the failures are prexisting.
> mips - webkit and pseudo fail to build
> arm - guile-2.0 and pseudo fail to build
>
> V1:
> This patch adds eglibc 2.16 recipes. I was able to build world
> on x86 except perf which was failing with 2.15 as well.
>
> I have also build and run core-image-sato on all qemus
>
> I did not remove 2.15 to allow some soak in time.
>
> The following changes since commit 8f16811a8d51982a8b3d70e6087aef4a41926840:
>
>   bootimg: Use STAGING_KERNEL_DIR (2012-07-06 09:38:17 +0100)
>
> are available in the git repository at:
>
>   git://git.openembedded.org/openembedded-core-contrib kraj/eglibc-2.16
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16
>
> Khem Raj (19):
>   mirrors: Add debian archive snapshot mirrors to search list
>   gdb: Replace struct siginfo with proper siginfo_t
>   busybox: Include sys/resource.h for rusage definition
>   coreutils: Fix build with eglibc 2.16
>   diffutils: Fix build with eglibc 2.16
>   udev: Fix build with eglibc 2.16
>   gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
>   bison: Fix for gets being removed from eglibc 2.16
>   grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
>   boost: Upgrade recipe to 1.50.0
>   puzzles: Fix checksums
>   valgrind: Fix build with eglibc 2.16
>   libpam: Fix build with eglibc 2.16
>   gcc-cross-initial.inc: Use BFD ld as default always
>   gcc: Switch to git SRC_URI

more testing shows that switching to git is causing do_unpack tasks
from various gcc recipes to have
different checksums and that triggers rerun of do_patch do_unpack
tasks in shared workdir and does not
go well. so I pulled the above commit out for now until we sort the
real reason why this is happening by just switching the fetcher

second problem is that it messed the upgrade path since 's'vn sorts
after 'g'it and they appear in PV

latest patch to switch the URI is here
http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=81b8073a82fd480e6a5d011a3c8a28ad5fbe542f

anyone ideas ?

>   binutils: Backport the e5500/e6500 patches from mainline
>   gcc: Refresh support for fsl E5500/E6500
>   qemu: Explicitly add --disable-gl-accel when gl is not enabled
>   eglibc: Add recipes for 2.16 release
>
>  meta/classes/mirrors.bbclass                       |    4 +-
>  meta/recipes-bsp/grub/grub-1.99/remove-gets.patch  |   20 +
>  meta/recipes-bsp/grub/grub_1.99.bb                 |    3 +-
>  .../busybox/busybox-1.19.4/sys_resource.patch      |   99 +++
>  meta/recipes-core/busybox/busybox_1.19.4.bb        |    3 +-
>  .../coreutils/coreutils-8.14/remove-gets.patch     |   23 +
>  meta/recipes-core/coreutils/coreutils_8.14.bb      |    3 +-
>  .../eglibc/cross-localedef-native_2.16.bb          |   44 +
>  .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch    |  108 +++
>  .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch   |   17 +
>  .../eglibc-svn-arm-lowlevellock-include-tls.patch  |   21 +
>  .../eglibc_fix_findidx_parameters.patch            |   38 +
>  .../eglibc/eglibc-2.16/generate-supported.mk       |   11 +
>  .../eglibc/eglibc-2.16/initgroups_keys.patch       |   20 +
>  .../eglibc/eglibc-2.16/ld-search-order.patch       |   56 ++
>  .../eglibc/eglibc-2.16/mips-rld-map-check.patch    |   26 +
>  .../eglibc/eglibc-2.16/multilib_readlib.patch      |   17 +
>  .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch |  538 ++++++++++++
>  .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch       |  112 +++
>  .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  123 +++
>  .../eglibc/eglibc-2.16/rpc-bootstrap.patch         |   63 ++
>  .../eglibc-2.16/use-sysroot-cxx-headers.patch      |   42 +
>  meta/recipes-core/eglibc/eglibc-initial_2.16.bb    |    6 +
>  meta/recipes-core/eglibc/eglibc-locale_2.16.bb     |    1 +
>  meta/recipes-core/eglibc/eglibc_2.16.bb            |  146 ++++
>  .../gettext/gettext-0.18.1.1/remove_gets.patch     |   58 ++
>  meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    3 +-
>  meta/recipes-core/udev/udev/include_resource.patch |   31 +
>  meta/recipes-core/udev/udev_164.bb                 |    7 +-
>  meta/recipes-devtools/binutils/binutils-2.22.inc   |    2 +-
>  .../binutils/binutils/binutils-powerpc-e5500.patch |  918 +++++++++++++++++++-
>  .../recipes-devtools/bison/bison/remove-gets.patch |   20 +
>  meta/recipes-devtools/bison/bison_2.5.bb           |    6 +-
>  meta/recipes-devtools/gcc/gcc-4.7.inc              |   17 +-
>  .../gcc/gcc-4.7/define_insn_reservation.patch      |  118 +++
>  .../gcc/gcc-4.7/ppc_with_cpu.patch                 |  752 ++++++++++++++++
>  ...pc-e5500.patch => ppce5500-e6500-support.patch} |  560 ++++++++----
>  .../gcc/gcc-4.7/rs6000-tables.patch                |  135 +++
>  meta/recipes-devtools/gcc/gcc-cross-initial.inc    |    1 +
>  meta/recipes-devtools/gdb/gdb-common.inc           |    2 +-
>  meta/recipes-devtools/gdb/gdb.inc                  |    1 +
>  meta/recipes-devtools/gdb/gdb/siginfo_t.patch      |  403 +++++++++
>  .../recipes-devtools/guile/files/remove-gets.patch |   23 +
>  meta/recipes-devtools/guile/guile_2.0.5.bb         |    3 +-
>  meta/recipes-devtools/m4/m4-1.4.16.inc             |    6 +-
>  meta/recipes-devtools/m4/m4/remove-gets.patch      |   21 +
>  meta/recipes-devtools/qemu/qemu.inc                |    2 +-
>  .../valgrind-3.7.0/configure-with-glibc-2.16.patch |   32 +
>  meta/recipes-devtools/valgrind/valgrind_3.7.0.bb   |    6 +-
>  .../augeas/augeas/remove-gets.patch                |   20 +
>  meta/recipes-extended/augeas/augeas_0.10.0.bb      |    4 +-
>  .../cpio/cpio-2.11/remove-gets.patch               |   20 +
>  meta/recipes-extended/cpio/cpio_2.11.bb            |    5 +-
>  .../diffutils/diffutils-3.2/remove-gets.patch      |   22 +
>  meta/recipes-extended/diffutils/diffutils_3.2.bb   |    6 +-
>  .../pam/libpam/include-sys-resource.patch          |   12 +
>  meta/recipes-extended/pam/libpam_1.1.5.bb          |    6 +-
>  .../tar/tar-1.26/remove-gets.patch                 |   20 +
>  meta/recipes-extended/tar/tar_1.26.bb              |    5 +-
>  .../wget/wget-1.13.4/remove-gets.patch             |   23 +
>  meta/recipes-extended/wget/wget_1.13.4.bb          |    3 +-
>  meta/recipes-sato/puzzles/puzzles_r9561.bb         |   11 +-
>  .../boost/{boost_1.49.0.bb => boost_1.50.0.bb}     |    5 +-
>  .../gnutls/gnutls/remove-gets.patch                |   41 +
>  meta/recipes-support/gnutls/gnutls_2.12.20.bb      |    3 +-
>  65 files changed, 4629 insertions(+), 248 deletions(-)
>  create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
>  create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
>  create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
>  create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
>  create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
>  create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
>  create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
>  create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
>  create mode 100644 meta/recipes-core/udev/udev/include_resource.patch
>  create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
>  rename meta/recipes-devtools/gcc/gcc-4.7/{powerpc-e5500.patch => ppce5500-e6500-support.patch} (41%)
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch
>  create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch
>  create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch
>  create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch
>  create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
>  create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch
>  create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
>  create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
>  create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch
>  create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch
>  create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
>  rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)
>  create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patch
>
> --
> 1.7.9.5
>



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

* Re: [PATCH V2 00/14] eglibc 2.16
  2012-07-09  4:26 ` Khem Raj
@ 2012-07-09  9:56   ` Martin Jansa
  2012-07-09 16:23     ` Richard Purdie
  2012-07-09 22:48   ` Khem Raj
  1 sibling, 1 reply; 35+ messages in thread
From: Martin Jansa @ 2012-07-09  9:56 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 13082 bytes --]

On Sun, Jul 08, 2012 at 09:26:12PM -0700, Khem Raj wrote:
> On Sun, Jul 8, 2012 at 9:10 AM, Khem Raj <raj.khem@gmail.com> wrote:
> > V2:
> >
> > Additionally, changed gcc to use git fetcher
> > update E5500/E6500 patches for gcc and binutils (backported from mainline)
> > images form p5020ds 32/64 bit built fine. (btw. it does not build with eglibc-2.15)
> > Updated eglibc rpc patch needed for cross build from scratch
> > Updates the gets patch for busybox now its a backport instead of
> > home grown.
> >
> > bitbake world works clean for ppc/x86/x86_64 , for mips and arm
> > the failures are prexisting.
> > mips - webkit and pseudo fail to build
> > arm - guile-2.0 and pseudo fail to build
> >
> > V1:
> > This patch adds eglibc 2.16 recipes. I was able to build world
> > on x86 except perf which was failing with 2.15 as well.
> >
> > I have also build and run core-image-sato on all qemus
> >
> > I did not remove 2.15 to allow some soak in time.
> >
> > The following changes since commit 8f16811a8d51982a8b3d70e6087aef4a41926840:
> >
> >   bootimg: Use STAGING_KERNEL_DIR (2012-07-06 09:38:17 +0100)
> >
> > are available in the git repository at:
> >
> >   git://git.openembedded.org/openembedded-core-contrib kraj/eglibc-2.16
> >   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16
> >
> > Khem Raj (19):
> >   mirrors: Add debian archive snapshot mirrors to search list
> >   gdb: Replace struct siginfo with proper siginfo_t
> >   busybox: Include sys/resource.h for rusage definition
> >   coreutils: Fix build with eglibc 2.16
> >   diffutils: Fix build with eglibc 2.16
> >   udev: Fix build with eglibc 2.16
> >   gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
> >   bison: Fix for gets being removed from eglibc 2.16
> >   grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
> >   boost: Upgrade recipe to 1.50.0
> >   puzzles: Fix checksums
> >   valgrind: Fix build with eglibc 2.16
> >   libpam: Fix build with eglibc 2.16
> >   gcc-cross-initial.inc: Use BFD ld as default always
> >   gcc: Switch to git SRC_URI
> 
> more testing shows that switching to git is causing do_unpack tasks
> from various gcc recipes to have
> different checksums and that triggers rerun of do_patch do_unpack
> tasks in shared workdir and does not
> go well. so I pulled the above commit out for now until we sort the
> real reason why this is happening by just switching the fetcher
> 
> second problem is that it messed the upgrade path since 's'vn sorts
> after 'g'it and they appear in PV

yes wait with svn->git switch for 4.7.2 release and corresponding SRCREV
bump

or bump PE in gcc recipes

or bump PR in a lot of packages which has runtime dependency on
libstdc++ or libgcc, but this doesn't fix upgrade path for gcc recipes
already installed on target :/.

in my tmpdir it is:
vagalume vim x11vnc xchat xinput-calibrator xserver-xorg xz udev
systemd tar sylpheed util-linux shadow samba rsync qt4-x11-free speex
sysstat pidgin pulseaudio procps polkit postgresql mysql5 php
qt-mobility-x11 openssh numptyphysics navit mplayer2 monav mesa-dri
pango powertop poppler mcnavi mtd-utils net-tools nfs-utils abiword curl
gzip mc mbuffer m4 matchbox-panel-2 matchbox-keyboard ltrace lttng-ust
live555 links links-x11 zlib webkit-gtk talloc libtheora tiff gawk gtk+3
ntp libsndfile1 icu  kmod libnl perl libsexy librsvg libproxy pixman
avahi sqlite libffi gstreamer pangomm gtk+ gst-plugins-base
gst-plugins-good expat cairo cairomm fltk gdbm gettext libglade glib-2.0
gmp imlib2 boost webkit-efl flac libpcap ode libvpx vte hdparm gwaterpas
qfsodbusxml2cpp python-pygtk python-gst python libvorbis sqlite
libsigc++-2.0 libsdl pth popt gpsd libgpewidget gnutls libfso-qt
libevent libav iputils iptables iproute2 imagemagick hdparm id3lib gtkmm
gtkmathview less aspell libass libdrm emotion evolution-data-server
gnuplot groff grep gnome-keyring git gdb fsoaudiod findutils file
evopedia evas ethumb epdfview epdf gst-plugin-bluetooth gst-plugins-ugly
aurora-daemon alsa-utils bash bind bluez-hcidump
claws-plugin-gtkhtml2-viewer claws-plugin-mailmbox claws-plugin-rssyl
coreutils dosfstools e-wm e2fsprogs e-wm edje eina elfutils emtooth2
enchant glibmm openssl sqlite3 tremor eglibc gtk-engines bluez4
gstreamer gtkhtml2 dconf-qt alsa-lib claws-mail libgsf libetpan fbreader
firefox libidl orbit2

Cheers,

> 
> latest patch to switch the URI is here
> http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=81b8073a82fd480e6a5d011a3c8a28ad5fbe542f
> 
> anyone ideas ?
> 
> >   binutils: Backport the e5500/e6500 patches from mainline
> >   gcc: Refresh support for fsl E5500/E6500
> >   qemu: Explicitly add --disable-gl-accel when gl is not enabled
> >   eglibc: Add recipes for 2.16 release
> >
> >  meta/classes/mirrors.bbclass                       |    4 +-
> >  meta/recipes-bsp/grub/grub-1.99/remove-gets.patch  |   20 +
> >  meta/recipes-bsp/grub/grub_1.99.bb                 |    3 +-
> >  .../busybox/busybox-1.19.4/sys_resource.patch      |   99 +++
> >  meta/recipes-core/busybox/busybox_1.19.4.bb        |    3 +-
> >  .../coreutils/coreutils-8.14/remove-gets.patch     |   23 +
> >  meta/recipes-core/coreutils/coreutils_8.14.bb      |    3 +-
> >  .../eglibc/cross-localedef-native_2.16.bb          |   44 +
> >  .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch    |  108 +++
> >  .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch   |   17 +
> >  .../eglibc-svn-arm-lowlevellock-include-tls.patch  |   21 +
> >  .../eglibc_fix_findidx_parameters.patch            |   38 +
> >  .../eglibc/eglibc-2.16/generate-supported.mk       |   11 +
> >  .../eglibc/eglibc-2.16/initgroups_keys.patch       |   20 +
> >  .../eglibc/eglibc-2.16/ld-search-order.patch       |   56 ++
> >  .../eglibc/eglibc-2.16/mips-rld-map-check.patch    |   26 +
> >  .../eglibc/eglibc-2.16/multilib_readlib.patch      |   17 +
> >  .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch |  538 ++++++++++++
> >  .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch       |  112 +++
> >  .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  123 +++
> >  .../eglibc/eglibc-2.16/rpc-bootstrap.patch         |   63 ++
> >  .../eglibc-2.16/use-sysroot-cxx-headers.patch      |   42 +
> >  meta/recipes-core/eglibc/eglibc-initial_2.16.bb    |    6 +
> >  meta/recipes-core/eglibc/eglibc-locale_2.16.bb     |    1 +
> >  meta/recipes-core/eglibc/eglibc_2.16.bb            |  146 ++++
> >  .../gettext/gettext-0.18.1.1/remove_gets.patch     |   58 ++
> >  meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    3 +-
> >  meta/recipes-core/udev/udev/include_resource.patch |   31 +
> >  meta/recipes-core/udev/udev_164.bb                 |    7 +-
> >  meta/recipes-devtools/binutils/binutils-2.22.inc   |    2 +-
> >  .../binutils/binutils/binutils-powerpc-e5500.patch |  918 +++++++++++++++++++-
> >  .../recipes-devtools/bison/bison/remove-gets.patch |   20 +
> >  meta/recipes-devtools/bison/bison_2.5.bb           |    6 +-
> >  meta/recipes-devtools/gcc/gcc-4.7.inc              |   17 +-
> >  .../gcc/gcc-4.7/define_insn_reservation.patch      |  118 +++
> >  .../gcc/gcc-4.7/ppc_with_cpu.patch                 |  752 ++++++++++++++++
> >  ...pc-e5500.patch => ppce5500-e6500-support.patch} |  560 ++++++++----
> >  .../gcc/gcc-4.7/rs6000-tables.patch                |  135 +++
> >  meta/recipes-devtools/gcc/gcc-cross-initial.inc    |    1 +
> >  meta/recipes-devtools/gdb/gdb-common.inc           |    2 +-
> >  meta/recipes-devtools/gdb/gdb.inc                  |    1 +
> >  meta/recipes-devtools/gdb/gdb/siginfo_t.patch      |  403 +++++++++
> >  .../recipes-devtools/guile/files/remove-gets.patch |   23 +
> >  meta/recipes-devtools/guile/guile_2.0.5.bb         |    3 +-
> >  meta/recipes-devtools/m4/m4-1.4.16.inc             |    6 +-
> >  meta/recipes-devtools/m4/m4/remove-gets.patch      |   21 +
> >  meta/recipes-devtools/qemu/qemu.inc                |    2 +-
> >  .../valgrind-3.7.0/configure-with-glibc-2.16.patch |   32 +
> >  meta/recipes-devtools/valgrind/valgrind_3.7.0.bb   |    6 +-
> >  .../augeas/augeas/remove-gets.patch                |   20 +
> >  meta/recipes-extended/augeas/augeas_0.10.0.bb      |    4 +-
> >  .../cpio/cpio-2.11/remove-gets.patch               |   20 +
> >  meta/recipes-extended/cpio/cpio_2.11.bb            |    5 +-
> >  .../diffutils/diffutils-3.2/remove-gets.patch      |   22 +
> >  meta/recipes-extended/diffutils/diffutils_3.2.bb   |    6 +-
> >  .../pam/libpam/include-sys-resource.patch          |   12 +
> >  meta/recipes-extended/pam/libpam_1.1.5.bb          |    6 +-
> >  .../tar/tar-1.26/remove-gets.patch                 |   20 +
> >  meta/recipes-extended/tar/tar_1.26.bb              |    5 +-
> >  .../wget/wget-1.13.4/remove-gets.patch             |   23 +
> >  meta/recipes-extended/wget/wget_1.13.4.bb          |    3 +-
> >  meta/recipes-sato/puzzles/puzzles_r9561.bb         |   11 +-
> >  .../boost/{boost_1.49.0.bb => boost_1.50.0.bb}     |    5 +-
> >  .../gnutls/gnutls/remove-gets.patch                |   41 +
> >  meta/recipes-support/gnutls/gnutls_2.12.20.bb      |    3 +-
> >  65 files changed, 4629 insertions(+), 248 deletions(-)
> >  create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
> >  create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
> >  create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
> >  create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
> >  create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
> >  create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
> >  create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
> >  create mode 100644 meta/recipes-core/udev/udev/include_resource.patch
> >  create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
> >  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
> >  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
> >  rename meta/recipes-devtools/gcc/gcc-4.7/{powerpc-e5500.patch => ppce5500-e6500-support.patch} (41%)
> >  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch
> >  create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch
> >  create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch
> >  create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch
> >  create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
> >  create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch
> >  create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
> >  create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
> >  create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch
> >  create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch
> >  create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
> >  rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)
> >  create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patch
> >
> > --
> > 1.7.9.5
> >
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

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

* Re: [PATCH V2 00/14] eglibc 2.16
  2012-07-09  9:56   ` Martin Jansa
@ 2012-07-09 16:23     ` Richard Purdie
  0 siblings, 0 replies; 35+ messages in thread
From: Richard Purdie @ 2012-07-09 16:23 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Mon, 2012-07-09 at 11:56 +0200, Martin Jansa wrote:
> On Sun, Jul 08, 2012 at 09:26:12PM -0700, Khem Raj wrote:
> > On Sun, Jul 8, 2012 at 9:10 AM, Khem Raj <raj.khem@gmail.com> wrote:
> > > V2:
> > >
> > > Additionally, changed gcc to use git fetcher
> > > update E5500/E6500 patches for gcc and binutils (backported from mainline)
> > > images form p5020ds 32/64 bit built fine. (btw. it does not build with eglibc-2.15)
> > > Updated eglibc rpc patch needed for cross build from scratch
> > > Updates the gets patch for busybox now its a backport instead of
> > > home grown.
> > >
> > > bitbake world works clean for ppc/x86/x86_64 , for mips and arm
> > > the failures are prexisting.
> > > mips - webkit and pseudo fail to build
> > > arm - guile-2.0 and pseudo fail to build
> > >
> > > V1:
> > > This patch adds eglibc 2.16 recipes. I was able to build world
> > > on x86 except perf which was failing with 2.15 as well.
> > >
> > > I have also build and run core-image-sato on all qemus
> > >
> > > I did not remove 2.15 to allow some soak in time.
> > >
> > > The following changes since commit 8f16811a8d51982a8b3d70e6087aef4a41926840:
> > >
> > >   bootimg: Use STAGING_KERNEL_DIR (2012-07-06 09:38:17 +0100)
> > >
> > > are available in the git repository at:
> > >
> > >   git://git.openembedded.org/openembedded-core-contrib kraj/eglibc-2.16
> > >   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16
> > >
> > > Khem Raj (19):
> > >   mirrors: Add debian archive snapshot mirrors to search list
> > >   gdb: Replace struct siginfo with proper siginfo_t
> > >   busybox: Include sys/resource.h for rusage definition
> > >   coreutils: Fix build with eglibc 2.16
> > >   diffutils: Fix build with eglibc 2.16
> > >   udev: Fix build with eglibc 2.16
> > >   gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
> > >   bison: Fix for gets being removed from eglibc 2.16
> > >   grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
> > >   boost: Upgrade recipe to 1.50.0
> > >   puzzles: Fix checksums
> > >   valgrind: Fix build with eglibc 2.16
> > >   libpam: Fix build with eglibc 2.16
> > >   gcc-cross-initial.inc: Use BFD ld as default always
> > >   gcc: Switch to git SRC_URI
> > 
> > more testing shows that switching to git is causing do_unpack tasks
> > from various gcc recipes to have
> > different checksums and that triggers rerun of do_patch do_unpack
> > tasks in shared workdir and does not
> > go well. so I pulled the above commit out for now until we sort the
> > real reason why this is happening by just switching the fetcher
> > 
> > second problem is that it messed the upgrade path since 's'vn sorts
> > after 'g'it and they appear in PV
> 
> yes wait with svn->git switch for 4.7.2 release and corresponding SRCREV
> bump
> 
> or bump PE in gcc recipes
> 
> or bump PR in a lot of packages which has runtime dependency on
> libstdc++ or libgcc, but this doesn't fix upgrade path for gcc recipes
> already installed on target :/.

How about updating to 4.7.1.0 in PV to let us avoid this issue and then
this will automatically resolve itself come 4.7.2?

Cheers,

Richard






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

* Re: [PATCH V2 00/14] eglibc 2.16
  2012-07-09  4:26 ` Khem Raj
  2012-07-09  9:56   ` Martin Jansa
@ 2012-07-09 22:48   ` Khem Raj
  1 sibling, 0 replies; 35+ messages in thread
From: Khem Raj @ 2012-07-09 22:48 UTC (permalink / raw)
  To: openembedded-core

On Sun, Jul 8, 2012 at 9:26 PM, Khem Raj <raj.khem@gmail.com> wrote:
> On Sun, Jul 8, 2012 at 9:10 AM, Khem Raj <raj.khem@gmail.com> wrote:
>> V2:
>>
>> Additionally, changed gcc to use git fetcher
>> update E5500/E6500 patches for gcc and binutils (backported from mainline)
>> images form p5020ds 32/64 bit built fine. (btw. it does not build with eglibc-2.15)
>> Updated eglibc rpc patch needed for cross build from scratch
>> Updates the gets patch for busybox now its a backport instead of
>> home grown.
>>
>> bitbake world works clean for ppc/x86/x86_64 , for mips and arm
>> the failures are prexisting.
>> mips - webkit and pseudo fail to build
>> arm - guile-2.0 and pseudo fail to build
>>
>> V1:
>> This patch adds eglibc 2.16 recipes. I was able to build world
>> on x86 except perf which was failing with 2.15 as well.
>>
>> I have also build and run core-image-sato on all qemus
>>
>> I did not remove 2.15 to allow some soak in time.
>>
>> The following changes since commit 8f16811a8d51982a8b3d70e6087aef4a41926840:
>>
>>   bootimg: Use STAGING_KERNEL_DIR (2012-07-06 09:38:17 +0100)
>>
>> are available in the git repository at:
>>
>>   git://git.openembedded.org/openembedded-core-contrib kraj/eglibc-2.16
>>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/eglibc-2.16
>>
>> Khem Raj (19):
>>   mirrors: Add debian archive snapshot mirrors to search list
>>   gdb: Replace struct siginfo with proper siginfo_t
>>   busybox: Include sys/resource.h for rusage definition
>>   coreutils: Fix build with eglibc 2.16
>>   diffutils: Fix build with eglibc 2.16
>>   udev: Fix build with eglibc 2.16
>>   gettext,m4,augeas,gnutls: Account for removal of gets in eglibc 2.16
>>   bison: Fix for gets being removed from eglibc 2.16
>>   grub,guile,cpio,tar,wget: Fix gnulib for absense of gets in eglibc
>>   boost: Upgrade recipe to 1.50.0
>>   puzzles: Fix checksums
>>   valgrind: Fix build with eglibc 2.16
>>   libpam: Fix build with eglibc 2.16
>>   gcc-cross-initial.inc: Use BFD ld as default always
>>   gcc: Switch to git SRC_URI
>
> more testing shows that switching to git is causing do_unpack tasks
> from various gcc recipes to have
> different checksums and that triggers rerun of do_patch do_unpack
> tasks in shared workdir and does not
> go well. so I pulled the above commit out for now until we sort the
> real reason why this is happening by just switching the fetcher
>

with RPs help we figured out the issue and I have created a patch
which fixed this issue the patch is here

http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/eglibc-2.16&id=3f0f25f272cc4fb0839f9c68f10d3bdd4b79fb47


> second problem is that it messed the upgrade path since 's'vn sorts
> after 'g'it and they appear in PV

we are using 4.7.1.0 for now and will drop the .0 when we upgrade part 4.7.2
release this should ensure upgrade paths are intact.

I have updated the pull request with these two changes made in there.

>
> latest patch to switch the URI is here
> http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=81b8073a82fd480e6a5d011a3c8a28ad5fbe542f
>
> anyone ideas ?
>
>>   binutils: Backport the e5500/e6500 patches from mainline
>>   gcc: Refresh support for fsl E5500/E6500
>>   qemu: Explicitly add --disable-gl-accel when gl is not enabled
>>   eglibc: Add recipes for 2.16 release
>>
>>  meta/classes/mirrors.bbclass                       |    4 +-
>>  meta/recipes-bsp/grub/grub-1.99/remove-gets.patch  |   20 +
>>  meta/recipes-bsp/grub/grub_1.99.bb                 |    3 +-
>>  .../busybox/busybox-1.19.4/sys_resource.patch      |   99 +++
>>  meta/recipes-core/busybox/busybox_1.19.4.bb        |    3 +-
>>  .../coreutils/coreutils-8.14/remove-gets.patch     |   23 +
>>  meta/recipes-core/coreutils/coreutils_8.14.bb      |    3 +-
>>  .../eglibc/cross-localedef-native_2.16.bb          |   44 +
>>  .../eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch    |  108 +++
>>  .../eglibc/eglibc-2.16/IO-acquire-lock-fix.patch   |   17 +
>>  .../eglibc-svn-arm-lowlevellock-include-tls.patch  |   21 +
>>  .../eglibc_fix_findidx_parameters.patch            |   38 +
>>  .../eglibc/eglibc-2.16/generate-supported.mk       |   11 +
>>  .../eglibc/eglibc-2.16/initgroups_keys.patch       |   20 +
>>  .../eglibc/eglibc-2.16/ld-search-order.patch       |   56 ++
>>  .../eglibc/eglibc-2.16/mips-rld-map-check.patch    |   26 +
>>  .../eglibc/eglibc-2.16/multilib_readlib.patch      |   17 +
>>  .../recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch |  538 ++++++++++++
>>  .../eglibc/eglibc-2.16/ppc-sqrt_finite.patch       |  112 +++
>>  .../eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch |  123 +++
>>  .../eglibc/eglibc-2.16/rpc-bootstrap.patch         |   63 ++
>>  .../eglibc-2.16/use-sysroot-cxx-headers.patch      |   42 +
>>  meta/recipes-core/eglibc/eglibc-initial_2.16.bb    |    6 +
>>  meta/recipes-core/eglibc/eglibc-locale_2.16.bb     |    1 +
>>  meta/recipes-core/eglibc/eglibc_2.16.bb            |  146 ++++
>>  .../gettext/gettext-0.18.1.1/remove_gets.patch     |   58 ++
>>  meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    3 +-
>>  meta/recipes-core/udev/udev/include_resource.patch |   31 +
>>  meta/recipes-core/udev/udev_164.bb                 |    7 +-
>>  meta/recipes-devtools/binutils/binutils-2.22.inc   |    2 +-
>>  .../binutils/binutils/binutils-powerpc-e5500.patch |  918 +++++++++++++++++++-
>>  .../recipes-devtools/bison/bison/remove-gets.patch |   20 +
>>  meta/recipes-devtools/bison/bison_2.5.bb           |    6 +-
>>  meta/recipes-devtools/gcc/gcc-4.7.inc              |   17 +-
>>  .../gcc/gcc-4.7/define_insn_reservation.patch      |  118 +++
>>  .../gcc/gcc-4.7/ppc_with_cpu.patch                 |  752 ++++++++++++++++
>>  ...pc-e5500.patch => ppce5500-e6500-support.patch} |  560 ++++++++----
>>  .../gcc/gcc-4.7/rs6000-tables.patch                |  135 +++
>>  meta/recipes-devtools/gcc/gcc-cross-initial.inc    |    1 +
>>  meta/recipes-devtools/gdb/gdb-common.inc           |    2 +-
>>  meta/recipes-devtools/gdb/gdb.inc                  |    1 +
>>  meta/recipes-devtools/gdb/gdb/siginfo_t.patch      |  403 +++++++++
>>  .../recipes-devtools/guile/files/remove-gets.patch |   23 +
>>  meta/recipes-devtools/guile/guile_2.0.5.bb         |    3 +-
>>  meta/recipes-devtools/m4/m4-1.4.16.inc             |    6 +-
>>  meta/recipes-devtools/m4/m4/remove-gets.patch      |   21 +
>>  meta/recipes-devtools/qemu/qemu.inc                |    2 +-
>>  .../valgrind-3.7.0/configure-with-glibc-2.16.patch |   32 +
>>  meta/recipes-devtools/valgrind/valgrind_3.7.0.bb   |    6 +-
>>  .../augeas/augeas/remove-gets.patch                |   20 +
>>  meta/recipes-extended/augeas/augeas_0.10.0.bb      |    4 +-
>>  .../cpio/cpio-2.11/remove-gets.patch               |   20 +
>>  meta/recipes-extended/cpio/cpio_2.11.bb            |    5 +-
>>  .../diffutils/diffutils-3.2/remove-gets.patch      |   22 +
>>  meta/recipes-extended/diffutils/diffutils_3.2.bb   |    6 +-
>>  .../pam/libpam/include-sys-resource.patch          |   12 +
>>  meta/recipes-extended/pam/libpam_1.1.5.bb          |    6 +-
>>  .../tar/tar-1.26/remove-gets.patch                 |   20 +
>>  meta/recipes-extended/tar/tar_1.26.bb              |    5 +-
>>  .../wget/wget-1.13.4/remove-gets.patch             |   23 +
>>  meta/recipes-extended/wget/wget_1.13.4.bb          |    3 +-
>>  meta/recipes-sato/puzzles/puzzles_r9561.bb         |   11 +-
>>  .../boost/{boost_1.49.0.bb => boost_1.50.0.bb}     |    5 +-
>>  .../gnutls/gnutls/remove-gets.patch                |   41 +
>>  meta/recipes-support/gnutls/gnutls_2.12.20.bb      |    3 +-
>>  65 files changed, 4629 insertions(+), 248 deletions(-)
>>  create mode 100644 meta/recipes-bsp/grub/grub-1.99/remove-gets.patch
>>  create mode 100644 meta/recipes-core/busybox/busybox-1.19.4/sys_resource.patch
>>  create mode 100644 meta/recipes-core/coreutils/coreutils-8.14/remove-gets.patch
>>  create mode 100644 meta/recipes-core/eglibc/cross-localedef-native_2.16.bb
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/GLRO_dl_debug_mask.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/IO-acquire-lock-fix.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc-svn-arm-lowlevellock-include-tls.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/eglibc_fix_findidx_parameters.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/etc/ld.so.conf
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/generate-supported.mk
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/initgroups_keys.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ld-search-order.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/mips-rld-map-check.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/multilib_readlib.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc-sqrt_finite.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/ppc_slow_ieee754_sqrt.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/rpc-bootstrap.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-2.16/use-sysroot-cxx-headers.patch
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-initial_2.16.bb
>>  create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.16.bb
>>  create mode 100644 meta/recipes-core/eglibc/eglibc_2.16.bb
>>  create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/remove_gets.patch
>>  create mode 100644 meta/recipes-core/udev/udev/include_resource.patch
>>  create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/define_insn_reservation.patch
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/ppc_with_cpu.patch
>>  rename meta/recipes-devtools/gcc/gcc-4.7/{powerpc-e5500.patch => ppce5500-e6500-support.patch} (41%)
>>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/rs6000-tables.patch
>>  create mode 100644 meta/recipes-devtools/gdb/gdb/siginfo_t.patch
>>  create mode 100644 meta/recipes-devtools/guile/files/remove-gets.patch
>>  create mode 100644 meta/recipes-devtools/m4/m4/remove-gets.patch
>>  create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.7.0/configure-with-glibc-2.16.patch
>>  create mode 100644 meta/recipes-extended/augeas/augeas/remove-gets.patch
>>  create mode 100644 meta/recipes-extended/cpio/cpio-2.11/remove-gets.patch
>>  create mode 100644 meta/recipes-extended/diffutils/diffutils-3.2/remove-gets.patch
>>  create mode 100644 meta/recipes-extended/pam/libpam/include-sys-resource.patch
>>  create mode 100644 meta/recipes-extended/tar/tar-1.26/remove-gets.patch
>>  create mode 100644 meta/recipes-extended/wget/wget-1.13.4/remove-gets.patch
>>  rename meta/recipes-support/boost/{boost_1.49.0.bb => boost_1.50.0.bb} (53%)
>>  create mode 100644 meta/recipes-support/gnutls/gnutls/remove-gets.patch
>>
>> --
>> 1.7.9.5
>>



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

* Re: [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16
  2012-07-08 16:10 ` [PATCH 08/19] bison: Fix for gets being removed from " Khem Raj
@ 2012-07-28 10:40   ` Jack Mitchell
  2012-07-28 18:45     ` Khem Raj
  0 siblings, 1 reply; 35+ messages in thread
From: Jack Mitchell @ 2012-07-28 10:40 UTC (permalink / raw)
  To: openembedded-core

On 08/07/2012 17:10, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>   .../recipes-devtools/bison/bison/remove-gets.patch |   20 ++++++++++++++++++++
>   meta/recipes-devtools/bison/bison_2.5.bb           |    6 ++++--
>   2 files changed, 24 insertions(+), 2 deletions(-)
>   create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>
> diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch b/meta/recipes-devtools/bison/bison/remove-gets.patch
> new file mode 100644
> index 0000000..2dfa00f
> --- /dev/null
> +++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
> @@ -0,0 +1,20 @@
> +gets has been removed from eglibc 2.16
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +
> +Upstream-Status: Pending
> +Index: bison-2.5/lib/stdio.in.h
> +===================================================================
> +--- bison-2.5.orig/lib/stdio.in.h	2012-07-04 09:09:48.336532195 -0700
> ++++ bison-2.5/lib/stdio.in.h	2012-07-04 09:10:22.868533884 -0700
> +@@ -180,8 +180,10 @@
> + /* It is very rare that the developer ever has full control of stdin,
> +    so any use of gets warrants an unconditional warning.  Assume it is
> +    always declared, since it is required by C89.  */
> ++#if defined gets
> + #undef gets
> + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
> ++#endif
> +
> + #if @GNULIB_FOPEN@
> + # if @REPLACE_FOPEN@
> diff --git a/meta/recipes-devtools/bison/bison_2.5.bb b/meta/recipes-devtools/bison/bison_2.5.bb
> index fc3bb6d..687f06a 100644
> --- a/meta/recipes-devtools/bison/bison_2.5.bb
> +++ b/meta/recipes-devtools/bison/bison_2.5.bb
> @@ -9,14 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
>   SECTION = "devel"
>   DEPENDS = "bison-native flex-native"
>   
> -PR = "r1"
> +PR = "r2"
>   
>   BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
>   	   file://m4.patch \
>   	  "
>   
>   SRC_URI = "${BASE_SRC_URI} \
> -        file://fix_cross_manpage_building.patch "
> +           file://fix_cross_manpage_building.patch \
> +           file://remove-gets.patch \
> +          "
>   
>   SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
>   SRC_URI[sha256sum] = "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"

Hi Khem,

This patch doesn't fix the Bison gets issue for me, I had to create a 
patch that removed the line altogether to get it to compile 
successfully. Even though gets isn't present on my system it still 
matches the #if defined gets and tries to #undef gets which results in 
an error.

However, I don't think removing the line altogether is the correct fix 
for the global userbase...

Regards,
Jack.



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

* Re: [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16
  2012-07-28 10:40   ` Jack Mitchell
@ 2012-07-28 18:45     ` Khem Raj
  2012-07-28 19:49       ` Jack Mitchell
  0 siblings, 1 reply; 35+ messages in thread
From: Khem Raj @ 2012-07-28 18:45 UTC (permalink / raw)
  To: ml, Patches and discussions about the oe-core layer

On Sat, Jul 28, 2012 at 3:40 AM, Jack Mitchell <ml@communistcode.co.uk> wrote:
> On 08/07/2012 17:10, Khem Raj wrote:
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>   .../recipes-devtools/bison/bison/remove-gets.patch |   20
>> ++++++++++++++++++++
>>   meta/recipes-devtools/bison/bison_2.5.bb           |    6 ++++--
>>   2 files changed, 24 insertions(+), 2 deletions(-)
>>   create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>>
>> diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch
>> b/meta/recipes-devtools/bison/bison/remove-gets.patch
>> new file mode 100644
>> index 0000000..2dfa00f
>> --- /dev/null
>> +++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
>> @@ -0,0 +1,20 @@
>> +gets has been removed from eglibc 2.16
>> +
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +
>> +Upstream-Status: Pending
>> +Index: bison-2.5/lib/stdio.in.h
>> +===================================================================
>> +--- bison-2.5.orig/lib/stdio.in.h      2012-07-04 09:09:48.336532195
>> -0700
>> ++++ bison-2.5/lib/stdio.in.h   2012-07-04 09:10:22.868533884 -0700
>> +@@ -180,8 +180,10 @@
>> + /* It is very rare that the developer ever has full control of stdin,
>> +    so any use of gets warrants an unconditional warning.  Assume it is
>> +    always declared, since it is required by C89.  */
>> ++#if defined gets
>> + #undef gets
>> + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
>> ++#endif
>> +
>> + #if @GNULIB_FOPEN@
>> + # if @REPLACE_FOPEN@
>> diff --git a/meta/recipes-devtools/bison/bison_2.5.bb
>> b/meta/recipes-devtools/bison/bison_2.5.bb
>> index fc3bb6d..687f06a 100644
>> --- a/meta/recipes-devtools/bison/bison_2.5.bb
>> +++ b/meta/recipes-devtools/bison/bison_2.5.bb
>> @@ -9,14 +9,16 @@ LIC_FILES_CHKSUM =
>> "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
>>   SECTION = "devel"
>>   DEPENDS = "bison-native flex-native"
>>   -PR = "r1"
>> +PR = "r2"
>>     BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
>>            file://m4.patch \
>>           "
>>     SRC_URI = "${BASE_SRC_URI} \
>> -        file://fix_cross_manpage_building.patch "
>> +           file://fix_cross_manpage_building.patch \
>> +           file://remove-gets.patch \
>> +          "
>>     SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
>>   SRC_URI[sha256sum] =
>> "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"
>
>
> Hi Khem,
>
> This patch doesn't fix the Bison gets issue for me, I had to create a patch
> that removed the line altogether to get it to compile successfully. Even
> though gets isn't present on my system it still matches the #if defined gets
> and tries to #undef gets which results in an error.
>
> However, I don't think removing the line altogether is the correct fix for
> the global userbase...
>

send me the preprocessed output.

> Regards,
> Jack.
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



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

* Re: [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16
  2012-07-28 18:45     ` Khem Raj
@ 2012-07-28 19:49       ` Jack Mitchell
  2012-07-28 20:20         ` [PATCH] bison: move remove-gets.patch to BASE_SRC_URI, it's needed for bison-native too if host has (e)glibc-2.16 Martin Jansa
  2012-07-28 20:24         ` [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16 Martin Jansa
  0 siblings, 2 replies; 35+ messages in thread
From: Jack Mitchell @ 2012-07-28 19:49 UTC (permalink / raw)
  To: Khem Raj; +Cc: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 3487 bytes --]

On 28/07/2012 19:45, Khem Raj wrote:
> On Sat, Jul 28, 2012 at 3:40 AM, Jack Mitchell <ml@communistcode.co.uk> wrote:
>> On 08/07/2012 17:10, Khem Raj wrote:
>>>
>>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> ---
>>>    .../recipes-devtools/bison/bison/remove-gets.patch |   20
>>> ++++++++++++++++++++
>>>    meta/recipes-devtools/bison/bison_2.5.bb           |    6 ++++--
>>>    2 files changed, 24 insertions(+), 2 deletions(-)
>>>    create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>>>
>>> diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch
>>> b/meta/recipes-devtools/bison/bison/remove-gets.patch
>>> new file mode 100644
>>> index 0000000..2dfa00f
>>> --- /dev/null
>>> +++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
>>> @@ -0,0 +1,20 @@
>>> +gets has been removed from eglibc 2.16
>>> +
>>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> +
>>> +Upstream-Status: Pending
>>> +Index: bison-2.5/lib/stdio.in.h
>>> +===================================================================
>>> +--- bison-2.5.orig/lib/stdio.in.h      2012-07-04 09:09:48.336532195
>>> -0700
>>> ++++ bison-2.5/lib/stdio.in.h   2012-07-04 09:10:22.868533884 -0700
>>> +@@ -180,8 +180,10 @@
>>> + /* It is very rare that the developer ever has full control of stdin,
>>> +    so any use of gets warrants an unconditional warning.  Assume it is
>>> +    always declared, since it is required by C89.  */
>>> ++#if defined gets
>>> + #undef gets
>>> + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
>>> ++#endif
>>> +
>>> + #if @GNULIB_FOPEN@
>>> + # if @REPLACE_FOPEN@
>>> diff --git a/meta/recipes-devtools/bison/bison_2.5.bb
>>> b/meta/recipes-devtools/bison/bison_2.5.bb
>>> index fc3bb6d..687f06a 100644
>>> --- a/meta/recipes-devtools/bison/bison_2.5.bb
>>> +++ b/meta/recipes-devtools/bison/bison_2.5.bb
>>> @@ -9,14 +9,16 @@ LIC_FILES_CHKSUM =
>>> "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
>>>    SECTION = "devel"
>>>    DEPENDS = "bison-native flex-native"
>>>    -PR = "r1"
>>> +PR = "r2"
>>>      BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
>>>             file://m4.patch \
>>>            "
>>>      SRC_URI = "${BASE_SRC_URI} \
>>> -        file://fix_cross_manpage_building.patch "
>>> +           file://fix_cross_manpage_building.patch \
>>> +           file://remove-gets.patch \
>>> +          "
>>>      SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
>>>    SRC_URI[sha256sum] =
>>> "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"
>>
>>
>> Hi Khem,
>>
>> This patch doesn't fix the Bison gets issue for me, I had to create a patch
>> that removed the line altogether to get it to compile successfully. Even
>> though gets isn't present on my system it still matches the #if defined gets
>> and tries to #undef gets which results in an error.
>>
>> However, I don't think removing the line altogether is the correct fix for
>> the global userbase...
>>
>
> send me the preprocessed output.

I'm not sure quite what you mean by pre-processed output but here is my 
do_compile log which is where it fails.

Attached(1)

Regards,
Jack

>
>
>> Regards,
>> Jack.
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[-- Attachment #2: log.do_compile.12733 --]
[-- Type: text/plain, Size: 45203 bytes --]

DEBUG: Executing shell function do_compile
NOTE: make -j 4
echo 2.5 > .version-t && mv .version-t .version
make  all-recursive
make[1]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5'
Making all in build-aux
make[2]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/build-aux'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/build-aux'
Making all in po
make[2]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/po'
make[2]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/po'
Making all in runtime-po
make[2]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/runtime-po'
make[2]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/runtime-po'
Making all in lib
make[2]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
rm -f alloca.h-t alloca.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./alloca.in.h; \
} > alloca.h-t && \
mv -f alloca.h-t alloca.h
rm -f arg-nonnull.h-t arg-nonnull.h && \
sed -n -e '/GL_ARG_NONNULL/,$p' \
  < ../build-aux/arg-nonnull.h \
  > arg-nonnull.h-t && \
mv arg-nonnull.h-t arg-nonnull.h
rm -f c++defs.h-t c++defs.h && \
sed -n -e '/_GL_CXXDEFS/,$p' \
  < ../build-aux/c++defs.h \
  > c++defs.h-t && \
mv c++defs.h-t c++defs.h
rm -f configmake.h-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  echo '#define PREFIX "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr"'; \
  echo '#define EXEC_PREFIX "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr"'; \
  echo '#define BINDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/bin"'; \
  echo '#define SBINDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/sbin"'; \
  echo '#define LIBEXECDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/libexec"'; \
  echo '#define DATAROOTDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share"'; \
  echo '#define DATADIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share"'; \
  echo '#define SYSCONFDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/etc"'; \
  echo '#define SHAREDSTATEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/com"'; \
  echo '#define LOCALSTATEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/var"'; \
  echo '#define INCLUDEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include"'; \
  echo '#define OLDINCLUDEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include"'; \
  echo '#define DOCDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define INFODIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/info"'; \
  echo '#define HTMLDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define DVIDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define PDFDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define PSDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/doc/bison"'; \
  echo '#define LIBDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/lib"'; \
  echo '#define LISPDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/emacs/site-lisp"'; \
  echo '#define LOCALEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/locale"'; \
  echo '#define MANDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/man"'; \
  echo '#define MANEXT ""'; \
  echo '#define PKGDATADIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/share/bison"'; \
  echo '#define PKGINCLUDEDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include/bison"'; \
  echo '#define PKGLIBDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/lib/bison"'; \
  echo '#define PKGLIBEXECDIR "/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/libexec/bison"'; \
} | sed '/""/d' > configmake.h-t && \
if test -f configmake.h && cmp configmake.h-t configmake.h > /dev/null; then \
  rm -f configmake.h-t; \
else \
  rm -f configmake.h; mv configmake.h-t configmake.h; \
fi
rm -f warn-on-use.h-t warn-on-use.h && \
sed -n -e '/^.ifndef/,$p' \
  < ../build-aux/warn-on-use.h \
  > warn-on-use.h-t && \
mv warn-on-use.h-t warn-on-use.h
rm -f unitypes.h-t unitypes.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./unitypes.in.h; \
} > unitypes.h-t && \
mv -f unitypes.h-t unitypes.h
rm -f uniwidth.h-t uniwidth.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  cat ./uniwidth.in.h; \
} > uniwidth.h-t && \
mv -f uniwidth.h-t uniwidth.h
rm -f fcntl.h-t fcntl.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_FCNTL_H''@|<fcntl.h>|g' \
      -e 's|@''GNULIB_FCNTL''@|1|g' \
      -e 's|@''GNULIB_NONBLOCKING''@|1|g' \
      -e 's|@''GNULIB_OPEN''@|1|g' \
      -e 's|@''GNULIB_OPENAT''@|0|g' \
      -e 's|@''HAVE_FCNTL''@|1|g' \
      -e 's|@''HAVE_OPENAT''@|1|g' \
      -e 's|@''REPLACE_FCNTL''@|1|g' \
      -e 's|@''REPLACE_OPEN''@|0|g' \
      -e 's|@''REPLACE_OPENAT''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./fcntl.in.h; \
} > fcntl.h-t && \
mv fcntl.h-t fcntl.h
rm -f inttypes.h-t inttypes.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's/@''HAVE_INTTYPES_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_INTTYPES_H''@|<inttypes.h>|g' \
      -e 's/@''PRI_MACROS_BROKEN''@/0/g' \
      -e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \
      -e 's/@''HAVE_LONG_LONG_INT''@/1/g' \
      -e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/1/g' \
      -e 's/@''PRIPTR_PREFIX''@/"l"/g' \
      -e 's/@''GNULIB_IMAXABS''@/0/g' \
      -e 's/@''GNULIB_IMAXDIV''@/0/g' \
      -e 's/@''GNULIB_STRTOIMAX''@/0/g' \
      -e 's/@''GNULIB_STRTOUMAX''@/0/g' \
      -e 's/@''HAVE_DECL_IMAXABS''@/1/g' \
      -e 's/@''HAVE_DECL_IMAXDIV''@/1/g' \
      -e 's/@''HAVE_DECL_STRTOIMAX''@/1/g' \
      -e 's/@''HAVE_DECL_STRTOUMAX''@/1/g' \
      -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/1/g' \
      -e 's/@''INT64_MAX_EQ_LONG_MAX''@/1/g' \
      -e 's/@''UINT32_MAX_LT_UINTMAX_MAX''@/1/g' \
      -e 's/@''UINT64_MAX_EQ_ULONG_MAX''@/1/g' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./inttypes.in.h; \
} > inttypes.h-t && \
mv inttypes.h-t inttypes.h
rm -f math.h-t math.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT_AS_FIRST_DIRECTIVE''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_AS_FIRST_DIRECTIVE_MATH_H''@|<math.h>|g' \
      -e 's|@''GNULIB_ACOSL''@|0|g' \
      -e 's|@''GNULIB_ASINL''@|0|g' \
      -e 's|@''GNULIB_ATANL''@|0|g' \
      -e 's|@''GNULIB_CEIL''@|0|g' \
      -e 's|@''GNULIB_CEILF''@|0|g' \
      -e 's|@''GNULIB_CEILL''@|0|g' \
      -e 's|@''GNULIB_COSL''@|0|g' \
      -e 's|@''GNULIB_EXPL''@|0|g' \
      -e 's|@''GNULIB_FLOOR''@|0|g' \
      -e 's|@''GNULIB_FLOORF''@|0|g' \
      -e 's|@''GNULIB_FLOORL''@|0|g' \
      -e 's|@''GNULIB_FREXP''@|1|g' \
      -e 's|@''GNULIB_FREXPL''@|1|g' \
      -e 's|@''GNULIB_ISFINITE''@|0|g' \
      -e 's|@''GNULIB_ISINF''@|0|g' \
      -e 's|@''GNULIB_ISNAN''@|1|g' \
      -e 's|@''GNULIB_ISNANF''@|1|g' \
      -e 's|@''GNULIB_ISNAND''@|1|g' \
      -e 's|@''GNULIB_ISNANL''@|1|g' \
      -e 's|@''GNULIB_LDEXPL''@|1|g' \
      -e 's|@''GNULIB_LOGB''@|0|g' \
      -e 's|@''GNULIB_LOGL''@|0|g' \
      -e 's|@''GNULIB_ROUND''@|0|g' \
      -e 's|@''GNULIB_ROUNDF''@|0|g' \
      -e 's|@''GNULIB_ROUNDL''@|0|g' \
      -e 's|@''GNULIB_SIGNBIT''@|1|g' \
      -e 's|@''GNULIB_SINL''@|0|g' \
      -e 's|@''GNULIB_SQRTL''@|0|g' \
      -e 's|@''GNULIB_TANL''@|0|g' \
      -e 's|@''GNULIB_TRUNC''@|0|g' \
      -e 's|@''GNULIB_TRUNCF''@|0|g' \
      -e 's|@''GNULIB_TRUNCL''@|0|g' \
      < ./math.in.h | \
  sed -e 's|@''HAVE_ACOSL''@|1|g' \
      -e 's|@''HAVE_ASINL''@|1|g' \
      -e 's|@''HAVE_ATANL''@|1|g' \
      -e 's|@''HAVE_COSL''@|1|g' \
      -e 's|@''HAVE_EXPL''@|1|g' \
      -e 's|@''HAVE_ISNANF''@|1|g' \
      -e 's|@''HAVE_ISNAND''@|1|g' \
      -e 's|@''HAVE_ISNANL''@|0|g' \
      -e 's|@''HAVE_LOGL''@|1|g' \
      -e 's|@''HAVE_SINL''@|1|g' \
      -e 's|@''HAVE_SQRTL''@|1|g' \
      -e 's|@''HAVE_TANL''@|1|g' \
      -e 's|@''HAVE_DECL_ACOSL''@|1|g' \
      -e 's|@''HAVE_DECL_ASINL''@|1|g' \
      -e 's|@''HAVE_DECL_ATANL''@|1|g' \
      -e 's|@''HAVE_DECL_CEILF''@|1|g' \
      -e 's|@''HAVE_DECL_CEILL''@|1|g' \
      -e 's|@''HAVE_DECL_COSL''@|1|g' \
      -e 's|@''HAVE_DECL_EXPL''@|1|g' \
      -e 's|@''HAVE_DECL_FLOORF''@|1|g' \
      -e 's|@''HAVE_DECL_FLOORL''@|1|g' \
      -e 's|@''HAVE_DECL_FREXPL''@|1|g' \
      -e 's|@''HAVE_DECL_LDEXPL''@|1|g' \
      -e 's|@''HAVE_DECL_LOGB''@|1|g' \
      -e 's|@''HAVE_DECL_LOGL''@|1|g' \
      -e 's|@''HAVE_DECL_ROUND''@|1|g' \
      -e 's|@''HAVE_DECL_ROUNDF''@|1|g' \
      -e 's|@''HAVE_DECL_ROUNDL''@|1|g' \
      -e 's|@''HAVE_DECL_SINL''@|1|g' \
      -e 's|@''HAVE_DECL_SQRTL''@|1|g' \
      -e 's|@''HAVE_DECL_TANL''@|1|g' \
      -e 's|@''HAVE_DECL_TRUNC''@|1|g' \
      -e 's|@''HAVE_DECL_TRUNCF''@|1|g' \
      -e 's|@''HAVE_DECL_TRUNCL''@|1|g' \
  | \
  sed -e 's|@''REPLACE_CEIL''@|0|g' \
      -e 's|@''REPLACE_CEILF''@|0|g' \
      -e 's|@''REPLACE_CEILL''@|0|g' \
      -e 's|@''REPLACE_FLOOR''@|0|g' \
      -e 's|@''REPLACE_FLOORF''@|0|g' \
      -e 's|@''REPLACE_FLOORL''@|0|g' \
      -e 's|@''REPLACE_FREXP''@|0|g' \
      -e 's|@''REPLACE_FREXPL''@|0|g' \
      -e 's|@''REPLACE_HUGE_VAL''@|0|g' \
      -e 's|@''REPLACE_ISFINITE''@|0|g' \
      -e 's|@''REPLACE_ISINF''@|0|g' \
      -e 's|@''REPLACE_ISNAN''@|1|g' \
      -e 's|@''REPLACE_LDEXPL''@|0|g' \
      -e 's|@''REPLACE_NAN''@|0|g' \
      -e 's|@''REPLACE_ROUND''@|0|g' \
      -e 's|@''REPLACE_ROUNDF''@|0|g' \
      -e 's|@''REPLACE_ROUNDL''@|0|g' \
      -e 's|@''REPLACE_SIGNBIT''@|0|g' \
      -e 's|@''REPLACE_SIGNBIT_USING_GCC''@|1|g' \
      -e 's|@''REPLACE_TRUNC''@|0|g' \
      -e 's|@''REPLACE_TRUNCF''@|0|g' \
      -e 's|@''REPLACE_TRUNCL''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > math.h-t && \
mv math.h-t math.h
rm -f signal.h-t signal.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SIGNAL_H''@|<signal.h>|g' \
      -e 's|@''GNULIB_SIGNAL_H_SIGPIPE''@|0|g' \
      -e 's|@''GNULIB_SIGPROCMASK''@|1|g' \
      -e 's|@''GNULIB_SIGACTION''@|1|g' \
      -e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|1|g' \
      -e 's|@''HAVE_SIGSET_T''@|1|g' \
      -e 's|@''HAVE_SIGINFO_T''@|1|g' \
      -e 's|@''HAVE_SIGACTION''@|1|g' \
      -e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|1|g' \
      -e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./signal.in.h; \
} > signal.h-t && \
mv signal.h-t signal.h
rm -f spawn.h-t spawn.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''HAVE_SPAWN_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SPAWN_H''@|<spawn.h>|g' \
      -e 's|@''GNULIB_POSIX_SPAWN''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNP''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_INIT''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWN_FILE_ACTIONS_DESTROY''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_INIT''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETFLAGS''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETFLAGS''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETPGROUP''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETPGROUP''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPARAM''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPARAM''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETSCHEDPOLICY''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETSCHEDPOLICY''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETSIGDEFAULT''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETSIGDEFAULT''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_GETSIGMASK''@|0|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_SETSIGMASK''@|1|g' \
      -e 's|@''GNULIB_POSIX_SPAWNATTR_DESTROY''@|1|g' \
      -e 's|@''HAVE_POSIX_SPAWN''@|1|g' \
      -e 's|@''HAVE_POSIX_SPAWNATTR_T''@|1|g' \
      -e 's|@''HAVE_POSIX_SPAWN_FILE_ACTIONS_T''@|1|g' \
      -e 's|@''REPLACE_POSIX_SPAWN''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./spawn.in.h; \
} > spawn.h-t && \
mv spawn.h-t spawn.h
rm -f stdio.h-t stdio.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STDIO_H''@|<stdio.h>|g' \
      -e 's|@''GNULIB_DPRINTF''@|0|g' \
      -e 's|@''GNULIB_FCLOSE''@|1|g' \
      -e 's|@''GNULIB_FFLUSH''@|0|g' \
      -e 's|@''GNULIB_FOPEN''@|1|g' \
      -e 's|@''GNULIB_FPRINTF''@|1|g' \
      -e 's|@''GNULIB_FPRINTF_POSIX''@|1|g' \
      -e 's|@''GNULIB_FPURGE''@|0|g' \
      -e 's|@''GNULIB_FPUTC''@|1|g' \
      -e 's|@''GNULIB_FPUTS''@|1|g' \
      -e 's|@''GNULIB_FREOPEN''@|0|g' \
      -e 's|@''GNULIB_FSEEK''@|0|g' \
      -e 's|@''GNULIB_FSEEKO''@|0|g' \
      -e 's|@''GNULIB_FTELL''@|0|g' \
      -e 's|@''GNULIB_FTELLO''@|0|g' \
      -e 's|@''GNULIB_FWRITE''@|1|g' \
      -e 's|@''GNULIB_GETDELIM''@|0|g' \
      -e 's|@''GNULIB_GETLINE''@|0|g' \
      -e 's|@''GNULIB_OBSTACK_PRINTF''@|0|g' \
      -e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|0|g' \
      -e 's|@''GNULIB_PERROR''@|1|g' \
      -e 's|@''GNULIB_POPEN''@|0|g' \
      -e 's|@''GNULIB_PRINTF''@|1|g' \
      -e 's|@''GNULIB_PRINTF_POSIX''@|1|g' \
      -e 's|@''GNULIB_PUTC''@|1|g' \
      -e 's|@''GNULIB_PUTCHAR''@|1|g' \
      -e 's|@''GNULIB_PUTS''@|1|g' \
      -e 's|@''GNULIB_REMOVE''@|0|g' \
      -e 's|@''GNULIB_RENAME''@|0|g' \
      -e 's|@''GNULIB_RENAMEAT''@|0|g' \
      -e 's|@''GNULIB_SNPRINTF''@|1|g' \
      -e 's|@''GNULIB_SPRINTF_POSIX''@|1|g' \
      -e 's|@''GNULIB_STDIO_H_SIGPIPE''@|0|g' \
      -e 's|@''GNULIB_TMPFILE''@|0|g' \
      -e 's|@''GNULIB_VASPRINTF''@|0|g' \
      -e 's|@''GNULIB_VDPRINTF''@|0|g' \
      -e 's|@''GNULIB_VFPRINTF''@|1|g' \
      -e 's|@''GNULIB_VFPRINTF_POSIX''@|1|g' \
      -e 's|@''GNULIB_VPRINTF''@|1|g' \
      -e 's|@''GNULIB_VPRINTF_POSIX''@|0|g' \
      -e 's|@''GNULIB_VSNPRINTF''@|1|g' \
      -e 's|@''GNULIB_VSPRINTF_POSIX''@|1|g' \
      < ./stdio.in.h | \
  sed -e 's|@''HAVE_DECL_FPURGE''@|1|g' \
      -e 's|@''HAVE_DECL_FSEEKO''@|1|g' \
      -e 's|@''HAVE_DECL_FTELLO''@|1|g' \
      -e 's|@''HAVE_DECL_GETDELIM''@|1|g' \
      -e 's|@''HAVE_DECL_GETLINE''@|1|g' \
      -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|1|g' \
      -e 's|@''HAVE_DECL_SNPRINTF''@|1|g' \
      -e 's|@''HAVE_DECL_VSNPRINTF''@|1|g' \
      -e 's|@''HAVE_DPRINTF''@|1|g' \
      -e 's|@''HAVE_FSEEKO''@|1|g' \
      -e 's|@''HAVE_FTELLO''@|1|g' \
      -e 's|@''HAVE_RENAMEAT''@|1|g' \
      -e 's|@''HAVE_VASPRINTF''@|1|g' \
      -e 's|@''HAVE_VDPRINTF''@|1|g' \
      -e 's|@''REPLACE_DPRINTF''@|0|g' \
      -e 's|@''REPLACE_FCLOSE''@|0|g' \
      -e 's|@''REPLACE_FFLUSH''@|0|g' \
      -e 's|@''REPLACE_FOPEN''@|0|g' \
      -e 's|@''REPLACE_FPRINTF''@|1|g' \
      -e 's|@''REPLACE_FPURGE''@|0|g' \
      -e 's|@''REPLACE_FREOPEN''@|0|g' \
      -e 's|@''REPLACE_FSEEK''@|0|g' \
      -e 's|@''REPLACE_FSEEKO''@|0|g' \
      -e 's|@''REPLACE_FTELL''@|0|g' \
      -e 's|@''REPLACE_FTELLO''@|0|g' \
      -e 's|@''REPLACE_GETDELIM''@|0|g' \
      -e 's|@''REPLACE_GETLINE''@|0|g' \
      -e 's|@''REPLACE_OBSTACK_PRINTF''@|0|g' \
      -e 's|@''REPLACE_PERROR''@|0|g' \
      -e 's|@''REPLACE_POPEN''@|0|g' \
      -e 's|@''REPLACE_PRINTF''@|1|g' \
      -e 's|@''REPLACE_REMOVE''@|0|g' \
      -e 's|@''REPLACE_RENAME''@|0|g' \
      -e 's|@''REPLACE_RENAMEAT''@|0|g' \
      -e 's|@''REPLACE_SNPRINTF''@|1|g' \
      -e 's|@''REPLACE_SPRINTF''@|1|g' \
      -e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|0|g' \
      -e 's|@''REPLACE_TMPFILE''@|0|g' \
      -e 's|@''REPLACE_VASPRINTF''@|0|g' \
      -e 's|@''REPLACE_VDPRINTF''@|0|g' \
      -e 's|@''REPLACE_VFPRINTF''@|1|g' \
      -e 's|@''REPLACE_VPRINTF''@|0|g' \
      -e 's|@''REPLACE_VSNPRINTF''@|1|g' \
      -e 's|@''REPLACE_VSPRINTF''@|1|g' \
      -e 's|@''ASM_SYMBOL_PREFIX''@|""|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > stdio.h-t && \
mv stdio.h-t stdio.h
rm -f stdlib.h-t stdlib.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STDLIB_H''@|<stdlib.h>|g' \
      -e 's|@''GNULIB__EXIT''@|0|g' \
      -e 's|@''GNULIB_ATOLL''@|0|g' \
      -e 's|@''GNULIB_CALLOC_POSIX''@|1|g' \
      -e 's|@''GNULIB_CANONICALIZE_FILE_NAME''@|0|g' \
      -e 's|@''GNULIB_GETLOADAVG''@|0|g' \
      -e 's|@''GNULIB_GETSUBOPT''@|0|g' \
      -e 's|@''GNULIB_GRANTPT''@|0|g' \
      -e 's|@''GNULIB_MALLOC_POSIX''@|1|g' \
      -e 's|@''GNULIB_MBTOWC''@|0|g' \
      -e 's|@''GNULIB_MKDTEMP''@|0|g' \
      -e 's|@''GNULIB_MKOSTEMP''@|0|g' \
      -e 's|@''GNULIB_MKOSTEMPS''@|0|g' \
      -e 's|@''GNULIB_MKSTEMP''@|0|g' \
      -e 's|@''GNULIB_MKSTEMPS''@|0|g' \
      -e 's|@''GNULIB_PTSNAME''@|0|g' \
      -e 's|@''GNULIB_PUTENV''@|0|g' \
      -e 's|@''GNULIB_RANDOM_R''@|0|g' \
      -e 's|@''GNULIB_REALLOC_POSIX''@|1|g' \
      -e 's|@''GNULIB_REALPATH''@|0|g' \
      -e 's|@''GNULIB_RPMATCH''@|0|g' \
      -e 's|@''GNULIB_SETENV''@|0|g' \
      -e 's|@''GNULIB_STRTOD''@|0|g' \
      -e 's|@''GNULIB_STRTOLL''@|0|g' \
      -e 's|@''GNULIB_STRTOULL''@|0|g' \
      -e 's|@''GNULIB_SYSTEM_POSIX''@|0|g' \
      -e 's|@''GNULIB_UNLOCKPT''@|0|g' \
      -e 's|@''GNULIB_UNSETENV''@|1|g' \
      -e 's|@''GNULIB_WCTOMB''@|0|g' \
      < ./stdlib.in.h | \
  sed -e 's|@''HAVE__EXIT''@|1|g' \
      -e 's|@''HAVE_ATOLL''@|1|g' \
      -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \
      -e 's|@''HAVE_GETSUBOPT''@|1|g' \
      -e 's|@''HAVE_GRANTPT''@|1|g' \
      -e 's|@''HAVE_MKDTEMP''@|1|g' \
      -e 's|@''HAVE_MKOSTEMP''@|1|g' \
      -e 's|@''HAVE_MKOSTEMPS''@|1|g' \
      -e 's|@''HAVE_MKSTEMP''@|1|g' \
      -e 's|@''HAVE_MKSTEMPS''@|1|g' \
      -e 's|@''HAVE_PTSNAME''@|1|g' \
      -e 's|@''HAVE_RANDOM_H''@|1|g' \
      -e 's|@''HAVE_RANDOM_R''@|1|g' \
      -e 's|@''HAVE_REALPATH''@|1|g' \
      -e 's|@''HAVE_RPMATCH''@|1|g' \
      -e 's|@''HAVE_DECL_SETENV''@|1|g' \
      -e 's|@''HAVE_STRTOD''@|1|g' \
      -e 's|@''HAVE_STRTOLL''@|1|g' \
      -e 's|@''HAVE_STRTOULL''@|1|g' \
      -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|1|g' \
      -e 's|@''HAVE_SYS_LOADAVG_H''@|0|g' \
      -e 's|@''HAVE_UNLOCKPT''@|1|g' \
      -e 's|@''HAVE_DECL_UNSETENV''@|1|g' \
      -e 's|@''REPLACE_CALLOC''@|0|g' \
      -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|0|g' \
      -e 's|@''REPLACE_MALLOC''@|0|g' \
      -e 's|@''REPLACE_MBTOWC''@|0|g' \
      -e 's|@''REPLACE_MKSTEMP''@|0|g' \
      -e 's|@''REPLACE_PUTENV''@|0|g' \
      -e 's|@''REPLACE_REALLOC''@|0|g' \
      -e 's|@''REPLACE_REALPATH''@|0|g' \
      -e 's|@''REPLACE_SETENV''@|0|g' \
      -e 's|@''REPLACE_STRTOD''@|0|g' \
      -e 's|@''REPLACE_UNSETENV''@|0|g' \
      -e 's|@''REPLACE_WCTOMB''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > stdlib.h-t && \
mv stdlib.h-t stdlib.h
rm -f string.h-t string.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_STRING_H''@|<string.h>|g' \
      -e 's|@''GNULIB_MBSLEN''@|0|g' \
      -e 's|@''GNULIB_MBSNLEN''@|0|g' \
      -e 's|@''GNULIB_MBSCHR''@|1|g' \
      -e 's|@''GNULIB_MBSRCHR''@|1|g' \
      -e 's|@''GNULIB_MBSSTR''@|0|g' \
      -e 's|@''GNULIB_MBSCASECMP''@|0|g' \
      -e 's|@''GNULIB_MBSNCASECMP''@|0|g' \
      -e 's|@''GNULIB_MBSPCASECMP''@|0|g' \
      -e 's|@''GNULIB_MBSCASESTR''@|0|g' \
      -e 's|@''GNULIB_MBSCSPN''@|0|g' \
      -e 's|@''GNULIB_MBSPBRK''@|0|g' \
      -e 's|@''GNULIB_MBSSPN''@|0|g' \
      -e 's|@''GNULIB_MBSSEP''@|0|g' \
      -e 's|@''GNULIB_MBSTOK_R''@|0|g' \
      -e 's|@''GNULIB_MEMCHR''@|1|g' \
      -e 's|@''GNULIB_MEMMEM''@|0|g' \
      -e 's|@''GNULIB_MEMPCPY''@|0|g' \
      -e 's|@''GNULIB_MEMRCHR''@|0|g' \
      -e 's|@''GNULIB_RAWMEMCHR''@|1|g' \
      -e 's|@''GNULIB_STPCPY''@|1|g' \
      -e 's|@''GNULIB_STPNCPY''@|0|g' \
      -e 's|@''GNULIB_STRCHRNUL''@|1|g' \
      -e 's|@''GNULIB_STRDUP''@|1|g' \
      -e 's|@''GNULIB_STRNCAT''@|0|g' \
      -e 's|@''GNULIB_STRNDUP''@|1|g' \
      -e 's|@''GNULIB_STRNLEN''@|1|g' \
      -e 's|@''GNULIB_STRPBRK''@|0|g' \
      -e 's|@''GNULIB_STRSEP''@|0|g' \
      -e 's|@''GNULIB_STRSTR''@|0|g' \
      -e 's|@''GNULIB_STRCASESTR''@|0|g' \
      -e 's|@''GNULIB_STRTOK_R''@|0|g' \
      -e 's|@''GNULIB_STRERROR''@|1|g' \
      -e 's|@''GNULIB_STRERROR_R''@|0|g' \
      -e 's|@''GNULIB_STRSIGNAL''@|0|g' \
      -e 's|@''GNULIB_STRVERSCMP''@|1|g' \
      < ./string.in.h | \
  sed -e 's|@''HAVE_MBSLEN''@|0|g' \
      -e 's|@''HAVE_MEMCHR''@|1|g' \
      -e 's|@''HAVE_DECL_MEMMEM''@|1|g' \
      -e 's|@''HAVE_MEMPCPY''@|1|g' \
      -e 's|@''HAVE_DECL_MEMRCHR''@|1|g' \
      -e 's|@''HAVE_RAWMEMCHR''@|1|g' \
      -e 's|@''HAVE_STPCPY''@|1|g' \
      -e 's|@''HAVE_STPNCPY''@|1|g' \
      -e 's|@''HAVE_STRCHRNUL''@|1|g' \
      -e 's|@''HAVE_DECL_STRDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNDUP''@|1|g' \
      -e 's|@''HAVE_DECL_STRNLEN''@|1|g' \
      -e 's|@''HAVE_STRPBRK''@|1|g' \
      -e 's|@''HAVE_STRSEP''@|1|g' \
      -e 's|@''HAVE_STRCASESTR''@|1|g' \
      -e 's|@''HAVE_DECL_STRTOK_R''@|1|g' \
      -e 's|@''HAVE_DECL_STRERROR_R''@|1|g' \
      -e 's|@''HAVE_DECL_STRSIGNAL''@|1|g' \
      -e 's|@''HAVE_STRVERSCMP''@|1|g' \
      -e 's|@''REPLACE_STPNCPY''@|0|g' \
      -e 's|@''REPLACE_MEMCHR''@|0|g' \
      -e 's|@''REPLACE_MEMMEM''@|0|g' \
      -e 's|@''REPLACE_STRCASESTR''@|0|g' \
      -e 's|@''REPLACE_STRDUP''@|0|g' \
      -e 's|@''REPLACE_STRSTR''@|0|g' \
      -e 's|@''REPLACE_STRERROR''@|0|g' \
      -e 's|@''REPLACE_STRERROR_R''@|0|g' \
      -e 's|@''REPLACE_STRNCAT''@|0|g' \
      -e 's|@''REPLACE_STRNDUP''@|0|g' \
      -e 's|@''REPLACE_STRNLEN''@|0|g' \
      -e 's|@''REPLACE_STRSIGNAL''@|0|g' \
      -e 's|@''REPLACE_STRTOK_R''@|0|g' \
      -e 's|@''UNDEFINE_STRTOK_R''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
      < ./string.in.h; \
} > string.h-t && \
mv string.h-t string.h
/bin/mkdir -p sys
rm -f sys/ioctl.h-t sys/ioctl.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''HAVE_SYS_IOCTL_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_IOCTL_H''@|<sys/ioctl.h>|g' \
      -e 's|@''GNULIB_IOCTL''@|1|g' \
      -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H''@|0|g' \
      -e 's|@''SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \
      -e 's|@''REPLACE_IOCTL''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./sys_ioctl.in.h; \
} > sys/ioctl.h-t && \
mv sys/ioctl.h-t sys/ioctl.h
/bin/mkdir -p sys
rm -f sys/socket.h-t sys/socket.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_SOCKET_H''@|<sys/socket.h>|g' \
      -e 's|@''HAVE_SYS_SOCKET_H''@|1|g' \
      -e 's|@''GNULIB_CLOSE''@|1|g' \
      -e 's|@''GNULIB_SOCKET''@|0|g' \
      -e 's|@''GNULIB_CONNECT''@|0|g' \
      -e 's|@''GNULIB_ACCEPT''@|0|g' \
      -e 's|@''GNULIB_BIND''@|0|g' \
      -e 's|@''GNULIB_GETPEERNAME''@|0|g' \
      -e 's|@''GNULIB_GETSOCKNAME''@|0|g' \
      -e 's|@''GNULIB_GETSOCKOPT''@|0|g' \
      -e 's|@''GNULIB_LISTEN''@|0|g' \
      -e 's|@''GNULIB_RECV''@|0|g' \
      -e 's|@''GNULIB_SEND''@|0|g' \
      -e 's|@''GNULIB_RECVFROM''@|0|g' \
      -e 's|@''GNULIB_SENDTO''@|0|g' \
      -e 's|@''GNULIB_SETSOCKOPT''@|0|g' \
      -e 's|@''GNULIB_SHUTDOWN''@|0|g' \
      -e 's|@''GNULIB_ACCEPT4''@|0|g' \
      -e 's|@''HAVE_WINSOCK2_H''@|0|g' \
      -e 's|@''HAVE_WS2TCPIP_H''@|0|g' \
      -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE''@|1|g' \
      -e 's|@''HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY''@|1|g' \
      -e 's|@''HAVE_SA_FAMILY_T''@|1|g' \
      -e 's|@''HAVE_ACCEPT4''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./sys_socket.in.h; \
} > sys/socket.h-t && \
mv -f sys/socket.h-t sys/socket.h
/bin/mkdir -p sys
rm -f sys/stat.h-t sys/stat.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_STAT_H''@|<sys/stat.h>|g' \
      -e 's|@''GNULIB_FCHMODAT''@|0|g' \
      -e 's|@''GNULIB_FSTATAT''@|0|g' \
      -e 's|@''GNULIB_FUTIMENS''@|0|g' \
      -e 's|@''GNULIB_LCHMOD''@|0|g' \
      -e 's|@''GNULIB_LSTAT''@|0|g' \
      -e 's|@''GNULIB_MKDIRAT''@|0|g' \
      -e 's|@''GNULIB_MKFIFO''@|0|g' \
      -e 's|@''GNULIB_MKFIFOAT''@|0|g' \
      -e 's|@''GNULIB_MKNOD''@|0|g' \
      -e 's|@''GNULIB_MKNODAT''@|0|g' \
      -e 's|@''GNULIB_STAT''@|1|g' \
      -e 's|@''GNULIB_UTIMENSAT''@|0|g' \
      -e 's|@''HAVE_FCHMODAT''@|1|g' \
      -e 's|@''HAVE_FSTATAT''@|1|g' \
      -e 's|@''HAVE_FUTIMENS''@|1|g' \
      -e 's|@''HAVE_LCHMOD''@|1|g' \
      -e 's|@''HAVE_LSTAT''@|1|g' \
      -e 's|@''HAVE_MKDIRAT''@|1|g' \
      -e 's|@''HAVE_MKFIFO''@|1|g' \
      -e 's|@''HAVE_MKFIFOAT''@|1|g' \
      -e 's|@''HAVE_MKNOD''@|1|g' \
      -e 's|@''HAVE_MKNODAT''@|1|g' \
      -e 's|@''HAVE_UTIMENSAT''@|1|g' \
      -e 's|@''REPLACE_FSTAT''@|0|g' \
      -e 's|@''REPLACE_FSTATAT''@|0|g' \
      -e 's|@''REPLACE_FUTIMENS''@|0|g' \
      -e 's|@''REPLACE_LSTAT''@|0|g' \
      -e 's|@''REPLACE_MKDIR''@|0|g' \
      -e 's|@''REPLACE_MKFIFO''@|0|g' \
      -e 's|@''REPLACE_MKNOD''@|0|g' \
      -e 's|@''REPLACE_STAT''@|0|g' \
      -e 's|@''REPLACE_UTIMENSAT''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./sys_stat.in.h; \
} > sys/stat.h-t && \
mv sys/stat.h-t sys/stat.h
/bin/mkdir -p sys
rm -f sys/wait.h-t sys/wait.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_SYS_WAIT_H''@|<sys/wait.h>|g' \
      -e 's|@''GNULIB_WAITPID''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./sys_wait.in.h; \
} > sys/wait.h-t && \
mv sys/wait.h-t sys/wait.h
rm -f time.h-t time.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_TIME_H''@|<time.h>|g' \
      -e 's|@''GNULIB_MKTIME''@|0|g' \
      -e 's|@''GNULIB_NANOSLEEP''@|0|g' \
      -e 's|@''GNULIB_STRPTIME''@|0|g' \
      -e 's|@''GNULIB_TIMEGM''@|0|g' \
      -e 's|@''GNULIB_TIME_R''@|0|g' \
      -e 's|@''HAVE_DECL_LOCALTIME_R''@|1|g' \
      -e 's|@''HAVE_NANOSLEEP''@|1|g' \
      -e 's|@''HAVE_STRPTIME''@|1|g' \
      -e 's|@''HAVE_TIMEGM''@|1|g' \
      -e 's|@''REPLACE_LOCALTIME_R''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_MKTIME''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_NANOSLEEP''@|GNULIB_PORTCHECK|g' \
      -e 's|@''REPLACE_TIMEGM''@|GNULIB_PORTCHECK|g' \
      -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|0|g' \
      -e 's|@''TIME_H_DEFINES_STRUCT_TIMESPEC''@|1|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./time.in.h; \
} > time.h-t && \
mv time.h-t time.h
rm -f unistd.h-t unistd.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''HAVE_UNISTD_H''@|1|g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_UNISTD_H''@|<unistd.h>|g' \
      -e 's|@''GNULIB_CHOWN''@|0|g' \
      -e 's|@''GNULIB_CLOSE''@|1|g' \
      -e 's|@''GNULIB_DUP2''@|1|g' \
      -e 's|@''GNULIB_DUP3''@|0|g' \
      -e 's|@''GNULIB_ENVIRON''@|1|g' \
      -e 's|@''GNULIB_EUIDACCESS''@|0|g' \
      -e 's|@''GNULIB_FACCESSAT''@|0|g' \
      -e 's|@''GNULIB_FCHDIR''@|0|g' \
      -e 's|@''GNULIB_FCHOWNAT''@|0|g' \
      -e 's|@''GNULIB_FSYNC''@|0|g' \
      -e 's|@''GNULIB_FTRUNCATE''@|0|g' \
      -e 's|@''GNULIB_GETCWD''@|0|g' \
      -e 's|@''GNULIB_GETDOMAINNAME''@|0|g' \
      -e 's|@''GNULIB_GETDTABLESIZE''@|1|g' \
      -e 's|@''GNULIB_GETGROUPS''@|0|g' \
      -e 's|@''GNULIB_GETHOSTNAME''@|0|g' \
      -e 's|@''GNULIB_GETLOGIN''@|0|g' \
      -e 's|@''GNULIB_GETLOGIN_R''@|0|g' \
      -e 's|@''GNULIB_GETPAGESIZE''@|0|g' \
      -e 's|@''GNULIB_GETUSERSHELL''@|0|g' \
      -e 's|@''GNULIB_LCHOWN''@|0|g' \
      -e 's|@''GNULIB_LINK''@|0|g' \
      -e 's|@''GNULIB_LINKAT''@|0|g' \
      -e 's|@''GNULIB_LSEEK''@|0|g' \
      -e 's|@''GNULIB_PIPE''@|1|g' \
      -e 's|@''GNULIB_PIPE2''@|1|g' \
      -e 's|@''GNULIB_PREAD''@|0|g' \
      -e 's|@''GNULIB_PWRITE''@|0|g' \
      -e 's|@''GNULIB_READLINK''@|0|g' \
      -e 's|@''GNULIB_READLINKAT''@|0|g' \
      -e 's|@''GNULIB_RMDIR''@|0|g' \
      -e 's|@''GNULIB_SLEEP''@|0|g' \
      -e 's|@''GNULIB_SYMLINK''@|0|g' \
      -e 's|@''GNULIB_SYMLINKAT''@|0|g' \
      -e 's|@''GNULIB_TTYNAME_R''@|0|g' \
      -e 's|@''GNULIB_UNISTD_H_GETOPT''@|0|g' \
      -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|0|g' \
      -e 's|@''GNULIB_UNLINK''@|0|g' \
      -e 's|@''GNULIB_UNLINKAT''@|0|g' \
      -e 's|@''GNULIB_USLEEP''@|0|g' \
      -e 's|@''GNULIB_WRITE''@|0|g' \
      < ./unistd.in.h | \
  sed -e 's|@''HAVE_CHOWN''@|1|g' \
      -e 's|@''HAVE_DUP2''@|1|g' \
      -e 's|@''HAVE_DUP3''@|1|g' \
      -e 's|@''HAVE_EUIDACCESS''@|1|g' \
      -e 's|@''HAVE_FACCESSAT''@|1|g' \
      -e 's|@''HAVE_FCHDIR''@|1|g' \
      -e 's|@''HAVE_FCHOWNAT''@|1|g' \
      -e 's|@''HAVE_FSYNC''@|1|g' \
      -e 's|@''HAVE_FTRUNCATE''@|1|g' \
      -e 's|@''HAVE_GETDTABLESIZE''@|1|g' \
      -e 's|@''HAVE_GETGROUPS''@|1|g' \
      -e 's|@''HAVE_GETHOSTNAME''@|1|g' \
      -e 's|@''HAVE_GETLOGIN''@|1|g' \
      -e 's|@''HAVE_GETPAGESIZE''@|1|g' \
      -e 's|@''HAVE_LCHOWN''@|1|g' \
      -e 's|@''HAVE_LINK''@|1|g' \
      -e 's|@''HAVE_LINKAT''@|1|g' \
      -e 's|@''HAVE_PIPE''@|1|g' \
      -e 's|@''HAVE_PIPE2''@|1|g' \
      -e 's|@''HAVE_PREAD''@|1|g' \
      -e 's|@''HAVE_PWRITE''@|1|g' \
      -e 's|@''HAVE_READLINK''@|1|g' \
      -e 's|@''HAVE_READLINKAT''@|1|g' \
      -e 's|@''HAVE_SLEEP''@|1|g' \
      -e 's|@''HAVE_SYMLINK''@|1|g' \
      -e 's|@''HAVE_SYMLINKAT''@|1|g' \
      -e 's|@''HAVE_UNLINKAT''@|1|g' \
      -e 's|@''HAVE_USLEEP''@|1|g' \
      -e 's|@''HAVE_DECL_ENVIRON''@|1|g' \
      -e 's|@''HAVE_DECL_FCHDIR''@|1|g' \
      -e 's|@''HAVE_DECL_GETDOMAINNAME''@|1|g' \
      -e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \
      -e 's|@''HAVE_DECL_GETPAGESIZE''@|1|g' \
      -e 's|@''HAVE_DECL_GETUSERSHELL''@|1|g' \
      -e 's|@''HAVE_DECL_TTYNAME_R''@|1|g' \
      -e 's|@''HAVE_OS_H''@|0|g' \
      -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \
  | \
  sed -e 's|@''REPLACE_CHOWN''@|0|g' \
      -e 's|@''REPLACE_CLOSE''@|0|g' \
      -e 's|@''REPLACE_DUP''@|0|g' \
      -e 's|@''REPLACE_DUP2''@|0|g' \
      -e 's|@''REPLACE_FCHOWNAT''@|0|g' \
      -e 's|@''REPLACE_GETCWD''@|0|g' \
      -e 's|@''REPLACE_GETDOMAINNAME''@|0|g' \
      -e 's|@''REPLACE_GETLOGIN_R''@|0|g' \
      -e 's|@''REPLACE_GETGROUPS''@|0|g' \
      -e 's|@''REPLACE_GETPAGESIZE''@|0|g' \
      -e 's|@''REPLACE_LCHOWN''@|0|g' \
      -e 's|@''REPLACE_LINK''@|0|g' \
      -e 's|@''REPLACE_LINKAT''@|0|g' \
      -e 's|@''REPLACE_LSEEK''@|0|g' \
      -e 's|@''REPLACE_PREAD''@|0|g' \
      -e 's|@''REPLACE_PWRITE''@|0|g' \
      -e 's|@''REPLACE_READLINK''@|0|g' \
      -e 's|@''REPLACE_RMDIR''@|0|g' \
      -e 's|@''REPLACE_SLEEP''@|0|g' \
      -e 's|@''REPLACE_SYMLINK''@|0|g' \
      -e 's|@''REPLACE_TTYNAME_R''@|0|g' \
      -e 's|@''REPLACE_UNLINK''@|0|g' \
      -e 's|@''REPLACE_UNLINKAT''@|0|g' \
      -e 's|@''REPLACE_USLEEP''@|0|g' \
      -e 's|@''REPLACE_WRITE''@|0|g' \
      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \
      -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > unistd.h-t && \
mv unistd.h-t unistd.h
rm -f wchar.h-t wchar.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''HAVE_FEATURES_H''@|1|g' \
      -e 's|@''NEXT_WCHAR_H''@|<wchar.h>|g' \
      -e 's|@''HAVE_WCHAR_H''@|1|g' \
      -e 's|@''GNULIB_BTOWC''@|0|g' \
      -e 's|@''GNULIB_WCTOB''@|0|g' \
      -e 's|@''GNULIB_MBSINIT''@|1|g' \
      -e 's|@''GNULIB_MBRTOWC''@|1|g' \
      -e 's|@''GNULIB_MBRLEN''@|0|g' \
      -e 's|@''GNULIB_MBSRTOWCS''@|0|g' \
      -e 's|@''GNULIB_MBSNRTOWCS''@|0|g' \
      -e 's|@''GNULIB_WCRTOMB''@|0|g' \
      -e 's|@''GNULIB_WCSRTOMBS''@|0|g' \
      -e 's|@''GNULIB_WCSNRTOMBS''@|0|g' \
      -e 's|@''GNULIB_WCWIDTH''@|1|g' \
      -e 's|@''GNULIB_WMEMCHR''@|0|g' \
      -e 's|@''GNULIB_WMEMCMP''@|0|g' \
      -e 's|@''GNULIB_WMEMCPY''@|0|g' \
      -e 's|@''GNULIB_WMEMMOVE''@|0|g' \
      -e 's|@''GNULIB_WMEMSET''@|0|g' \
      -e 's|@''GNULIB_WCSLEN''@|0|g' \
      -e 's|@''GNULIB_WCSNLEN''@|0|g' \
      -e 's|@''GNULIB_WCSCPY''@|0|g' \
      -e 's|@''GNULIB_WCPCPY''@|0|g' \
      -e 's|@''GNULIB_WCSNCPY''@|0|g' \
      -e 's|@''GNULIB_WCPNCPY''@|0|g' \
      -e 's|@''GNULIB_WCSCAT''@|0|g' \
      -e 's|@''GNULIB_WCSNCAT''@|0|g' \
      -e 's|@''GNULIB_WCSCMP''@|0|g' \
      -e 's|@''GNULIB_WCSNCMP''@|0|g' \
      -e 's|@''GNULIB_WCSCASECMP''@|0|g' \
      -e 's|@''GNULIB_WCSNCASECMP''@|0|g' \
      -e 's|@''GNULIB_WCSCOLL''@|0|g' \
      -e 's|@''GNULIB_WCSXFRM''@|0|g' \
      -e 's|@''GNULIB_WCSDUP''@|0|g' \
      -e 's|@''GNULIB_WCSCHR''@|0|g' \
      -e 's|@''GNULIB_WCSRCHR''@|0|g' \
      -e 's|@''GNULIB_WCSCSPN''@|0|g' \
      -e 's|@''GNULIB_WCSSPN''@|0|g' \
      -e 's|@''GNULIB_WCSPBRK''@|0|g' \
      -e 's|@''GNULIB_WCSSTR''@|0|g' \
      -e 's|@''GNULIB_WCSTOK''@|0|g' \
      -e 's|@''GNULIB_WCSWIDTH''@|0|g' \
      < ./wchar.in.h | \
  sed -e 's|@''HAVE_WINT_T''@|1|g' \
      -e 's|@''HAVE_BTOWC''@|1|g' \
      -e 's|@''HAVE_MBSINIT''@|1|g' \
      -e 's|@''HAVE_MBRTOWC''@|1|g' \
      -e 's|@''HAVE_MBRLEN''@|1|g' \
      -e 's|@''HAVE_MBSRTOWCS''@|1|g' \
      -e 's|@''HAVE_MBSNRTOWCS''@|1|g' \
      -e 's|@''HAVE_WCRTOMB''@|1|g' \
      -e 's|@''HAVE_WCSRTOMBS''@|1|g' \
      -e 's|@''HAVE_WCSNRTOMBS''@|1|g' \
      -e 's|@''HAVE_WMEMCHR''@|1|g' \
      -e 's|@''HAVE_WMEMCMP''@|1|g' \
      -e 's|@''HAVE_WMEMCPY''@|1|g' \
      -e 's|@''HAVE_WMEMMOVE''@|1|g' \
      -e 's|@''HAVE_WMEMSET''@|1|g' \
      -e 's|@''HAVE_WCSLEN''@|1|g' \
      -e 's|@''HAVE_WCSNLEN''@|1|g' \
      -e 's|@''HAVE_WCSCPY''@|1|g' \
      -e 's|@''HAVE_WCPCPY''@|1|g' \
      -e 's|@''HAVE_WCSNCPY''@|1|g' \
      -e 's|@''HAVE_WCPNCPY''@|1|g' \
      -e 's|@''HAVE_WCSCAT''@|1|g' \
      -e 's|@''HAVE_WCSNCAT''@|1|g' \
      -e 's|@''HAVE_WCSCMP''@|1|g' \
      -e 's|@''HAVE_WCSNCMP''@|1|g' \
      -e 's|@''HAVE_WCSCASECMP''@|1|g' \
      -e 's|@''HAVE_WCSNCASECMP''@|1|g' \
      -e 's|@''HAVE_WCSCOLL''@|1|g' \
      -e 's|@''HAVE_WCSXFRM''@|1|g' \
      -e 's|@''HAVE_WCSDUP''@|1|g' \
      -e 's|@''HAVE_WCSCHR''@|1|g' \
      -e 's|@''HAVE_WCSRCHR''@|1|g' \
      -e 's|@''HAVE_WCSCSPN''@|1|g' \
      -e 's|@''HAVE_WCSSPN''@|1|g' \
      -e 's|@''HAVE_WCSPBRK''@|1|g' \
      -e 's|@''HAVE_WCSSTR''@|1|g' \
      -e 's|@''HAVE_WCSTOK''@|1|g' \
      -e 's|@''HAVE_WCSWIDTH''@|1|g' \
      -e 's|@''HAVE_DECL_WCTOB''@|1|g' \
      -e 's|@''HAVE_DECL_WCWIDTH''@|1|g' \
  | \
  sed -e 's|@''REPLACE_MBSTATE_T''@|0|g' \
      -e 's|@''REPLACE_BTOWC''@|0|g' \
      -e 's|@''REPLACE_WCTOB''@|0|g' \
      -e 's|@''REPLACE_MBSINIT''@|0|g' \
      -e 's|@''REPLACE_MBRTOWC''@|0|g' \
      -e 's|@''REPLACE_MBRLEN''@|0|g' \
      -e 's|@''REPLACE_MBSRTOWCS''@|0|g' \
      -e 's|@''REPLACE_MBSNRTOWCS''@|0|g' \
      -e 's|@''REPLACE_WCRTOMB''@|0|g' \
      -e 's|@''REPLACE_WCSRTOMBS''@|0|g' \
      -e 's|@''REPLACE_WCSNRTOMBS''@|0|g' \
      -e 's|@''REPLACE_WCWIDTH''@|0|g' \
      -e 's|@''REPLACE_WCSWIDTH''@|0|g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_ARG_NONNULL/r arg-nonnull.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h'; \
} > wchar.h-t && \
mv wchar.h-t wchar.h
rm -f wctype.h-t wctype.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
  sed -e 's/@''HAVE_WCTYPE_H''@/1/g' \
      -e 's|@''INCLUDE_NEXT''@|include_next|g' \
      -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
      -e 's|@''PRAGMA_COLUMNS''@||g' \
      -e 's|@''NEXT_WCTYPE_H''@|<wctype.h>|g' \
      -e 's/@''GNULIB_ISWBLANK''@/1/g' \
      -e 's/@''GNULIB_WCTYPE''@/0/g' \
      -e 's/@''GNULIB_ISWCTYPE''@/0/g' \
      -e 's/@''GNULIB_WCTRANS''@/0/g' \
      -e 's/@''GNULIB_TOWCTRANS''@/0/g' \
      -e 's/@''HAVE_ISWBLANK''@/1/g' \
      -e 's/@''HAVE_ISWCNTRL''@/1/g' \
      -e 's/@''HAVE_WCTYPE_T''@/1/g' \
      -e 's/@''HAVE_WCTRANS_T''@/1/g' \
      -e 's/@''HAVE_WINT_T''@/1/g' \
      -e 's/@''REPLACE_ISWBLANK''@/0/g' \
      -e 's/@''REPLACE_ISWCNTRL''@/0/g' \
      -e '/definitions of _GL_FUNCDECL_RPL/r c++defs.h' \
      -e '/definition of _GL_WARN_ON_USE/r warn-on-use.h' \
      < ./wctype.in.h; \
} > wctype.h-t && \
mv wctype.h-t wctype.h
make  all-recursive
make[3]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
make[4]: Entering directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o main.o main.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o yyerror.o yyerror.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o c-ctype.o c-ctype.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o c-strcasecmp.o c-strcasecmp.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o c-strncasecmp.o c-strncasecmp.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o close-hook.o close-hook.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o exitfail.o exitfail.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o fatal-signal.o fatal-signal.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o fd-safer-flag.o fd-safer-flag.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o dup-safer-flag.o dup-safer-flag.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o fseterr.o fseterr.c
gcc -std=gnu99  -I.   -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include  -isystem/mnt/yocto/poky-vanilla.git/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o localcharset.o localcharset.c
In file included from fseterr.h:20:0,
                 from fseterr.c:20:
./stdio.h:496:1: error: 'gets' undeclared here (not in a function)
make[4]: *** [fseterr.o] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from localcharset.c:30:0:
./stdio.h:496:1: error: 'gets' undeclared here (not in a function)
make[4]: *** [localcharset.o] Error 1
make[4]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/bison-2.5'
make: *** [all] Error 2
ERROR: oe_runmake failed
ERROR: Function failed: do_compile (see /mnt/yocto/poky-vanilla.git/build/tmp/work/x86_64-linux/bison-native-2.5-r2/temp/log.do_compile.12733 for further information)

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

* [PATCH] bison: move remove-gets.patch to BASE_SRC_URI, it's needed for bison-native too if host has (e)glibc-2.16
  2012-07-28 19:49       ` Jack Mitchell
@ 2012-07-28 20:20         ` Martin Jansa
  2012-07-29  9:17           ` Richard Purdie
  2012-07-28 20:24         ` [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16 Martin Jansa
  1 sibling, 1 reply; 35+ messages in thread
From: Martin Jansa @ 2012-07-28 20:20 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-devtools/bison/bison_2.5.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/bison/bison_2.5.bb b/meta/recipes-devtools/bison/bison_2.5.bb
index 687f06a..5028300 100644
--- a/meta/recipes-devtools/bison/bison_2.5.bb
+++ b/meta/recipes-devtools/bison/bison_2.5.bb
@@ -9,15 +9,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 SECTION = "devel"
 DEPENDS = "bison-native flex-native"
 
-PR = "r2"
+PR = "r3"
 
 BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
 	   file://m4.patch \
+           file://remove-gets.patch \
 	  "
 
 SRC_URI = "${BASE_SRC_URI} \
            file://fix_cross_manpage_building.patch \
-           file://remove-gets.patch \
           "
 
 SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
-- 
1.7.8.6




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

* Re: [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16
  2012-07-28 19:49       ` Jack Mitchell
  2012-07-28 20:20         ` [PATCH] bison: move remove-gets.patch to BASE_SRC_URI, it's needed for bison-native too if host has (e)glibc-2.16 Martin Jansa
@ 2012-07-28 20:24         ` Martin Jansa
  2012-07-28 20:39           ` Jack Mitchell
  1 sibling, 1 reply; 35+ messages in thread
From: Martin Jansa @ 2012-07-28 20:24 UTC (permalink / raw)
  To: ml, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 472 bytes --]

On Sat, Jul 28, 2012 at 08:49:48PM +0100, Jack Mitchell wrote:
> I'm not sure quite what you mean by pre-processed output but here is my 
> do_compile log which is where it fails.

He meant C source code after processing by preprocessor (-E option for
gcc), but it's not needed, see following patch.

The problem was that patch was applied only for target recipe not
-native which is failing for you (I guess you have (e)glibc-2.16 on host
like I do)

Cheers,

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

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

* Re: [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16
  2012-07-28 20:24         ` [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16 Martin Jansa
@ 2012-07-28 20:39           ` Jack Mitchell
  2012-07-28 20:52             ` Martin Jansa
  0 siblings, 1 reply; 35+ messages in thread
From: Jack Mitchell @ 2012-07-28 20:39 UTC (permalink / raw)
  Cc: Patches and discussions about the oe-core layer

On 28/07/2012 21:24, Martin Jansa wrote:
> On Sat, Jul 28, 2012 at 08:49:48PM +0100, Jack Mitchell wrote:
>> I'm not sure quite what you mean by pre-processed output but here is my
>> do_compile log which is where it fails.
>
> He meant C source code after processing by preprocessor (-E option for
> gcc), but it's not needed, see following patch.
>
> The problem was that patch was applied only for target recipe not
> -native which is failing for you (I guess you have (e)glibc-2.16 on host
> like I do)
>
> Cheers,

Do you know what, I should have seen this as I applied my patch to the 
BASE_SRC_URI. My patch failed with the same message again in the SRC_URI 
and I thought I had just deleted Khems patch line and then re-added my 
patch line in the wrong function.

I'll put it down to it being the weekend

I do have glibc-2.16 on my host and it's causing me no end of trouble - 
but someone has be the lab rat eh and I'm not under commercial pressure 
quite yet ;) I'll have another eglibc do_install issue coming along soon 
as I can't seem to fix it.

What would be the process to get the preprocessed output?

Cheers,
Jack.



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

* Re: [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16
  2012-07-28 20:39           ` Jack Mitchell
@ 2012-07-28 20:52             ` Martin Jansa
  0 siblings, 0 replies; 35+ messages in thread
From: Martin Jansa @ 2012-07-28 20:52 UTC (permalink / raw)
  To: ml, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 1508 bytes --]

On Sat, Jul 28, 2012 at 09:39:25PM +0100, Jack Mitchell wrote:
> On 28/07/2012 21:24, Martin Jansa wrote:
> > On Sat, Jul 28, 2012 at 08:49:48PM +0100, Jack Mitchell wrote:
> >> I'm not sure quite what you mean by pre-processed output but here is my
> >> do_compile log which is where it fails.
> >
> > He meant C source code after processing by preprocessor (-E option for
> > gcc), but it's not needed, see following patch.
> >
> > The problem was that patch was applied only for target recipe not
> > -native which is failing for you (I guess you have (e)glibc-2.16 on host
> > like I do)
> >
> > Cheers,
> 
> Do you know what, I should have seen this as I applied my patch to the 
> BASE_SRC_URI. My patch failed with the same message again in the SRC_URI 
> and I thought I had just deleted Khems patch line and then re-added my 
> patch line in the wrong function.
> 
> I'll put it down to it being the weekend
> 
> I do have glibc-2.16 on my host and it's causing me no end of trouble - 
> but someone has be the lab rat eh and I'm not under commercial pressure 
> quite yet ;) I'll have another eglibc do_install issue coming along soon 
> as I can't seem to fix it.
> 
> What would be the process to get the preprocessed output?

cd to dir where the build is failing, copy last gcc call which was
failing with gets, replace -c with -E and rename -o param to foo.E,
execute and then send foo.E

Cheers,

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

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

* Re: [PATCH] bison: move remove-gets.patch to BASE_SRC_URI, it's needed for bison-native too if host has (e)glibc-2.16
  2012-07-28 20:20         ` [PATCH] bison: move remove-gets.patch to BASE_SRC_URI, it's needed for bison-native too if host has (e)glibc-2.16 Martin Jansa
@ 2012-07-29  9:17           ` Richard Purdie
  0 siblings, 0 replies; 35+ messages in thread
From: Richard Purdie @ 2012-07-29  9:17 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Sat, 2012-07-28 at 22:20 +0200, Martin Jansa wrote:
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/recipes-devtools/bison/bison_2.5.bb |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)


Merged to master, thanks.

Richard




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

end of thread, other threads:[~2012-07-29  9:29 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-08 16:10 [PATCH V2 00/14] eglibc 2.16 Khem Raj
2012-07-08 16:10 ` [PATCH 01/19] mirrors: Add debian archive snapshot mirrors to search list Khem Raj
2012-07-08 16:10 ` [PATCH 02/19] gdb: Replace struct siginfo with proper siginfo_t Khem Raj
2012-07-08 16:10 ` [PATCH 03/19] busybox: Include sys/resource.h for rusage definition Khem Raj
2012-07-08 16:10 ` [PATCH 04/19] coreutils: Fix build with eglibc 2.16 Khem Raj
2012-07-08 16:10 ` [PATCH 05/19] diffutils: " Khem Raj
2012-07-08 16:10 ` [PATCH 06/19] udev: " Khem Raj
2012-07-08 16:10 ` [PATCH 07/19] gettext, m4, augeas, gnutls: Account for removal of gets in " Khem Raj
2012-07-08 16:10 ` [PATCH 08/19] bison: Fix for gets being removed from " Khem Raj
2012-07-28 10:40   ` Jack Mitchell
2012-07-28 18:45     ` Khem Raj
2012-07-28 19:49       ` Jack Mitchell
2012-07-28 20:20         ` [PATCH] bison: move remove-gets.patch to BASE_SRC_URI, it's needed for bison-native too if host has (e)glibc-2.16 Martin Jansa
2012-07-29  9:17           ` Richard Purdie
2012-07-28 20:24         ` [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16 Martin Jansa
2012-07-28 20:39           ` Jack Mitchell
2012-07-28 20:52             ` Martin Jansa
2012-07-08 16:10 ` [PATCH 09/19] grub, guile, cpio, tar, wget: Fix gnulib for absense of gets in eglibc Khem Raj
2012-07-08 16:10 ` [PATCH 10/19] boost: Upgrade recipe to 1.50.0 Khem Raj
2012-07-08 16:10 ` [PATCH 11/19] puzzles: Fix checksums Khem Raj
2012-07-08 16:10 ` [PATCH 12/19] valgrind: Fix build with eglibc 2.16 Khem Raj
2012-07-08 16:10 ` [PATCH 13/19] libpam: " Khem Raj
2012-07-08 16:10 ` [PATCH 14/19] gcc-cross-initial.inc: Use BFD ld as default always Khem Raj
2012-07-08 16:10 ` [PATCH 15/19] gcc: Switch to git SRC_URI Khem Raj
2012-07-08 16:10 ` [PATCH 16/19] binutils: Backport the e5500/e6500 patches from mainline Khem Raj
2012-07-08 16:10 ` [PATCH 17/19] gcc: Refresh support for fsl E5500/E6500 Khem Raj
2012-07-08 16:10 ` [PATCH 18/19] qemu: Explicitly add --disable-gl-accel when gl is not enabled Khem Raj
2012-07-08 16:10 ` [PATCH 19/19] eglibc: Add recipes for 2.16 release Khem Raj
2012-07-08 18:47 ` [PATCH V2 00/14] eglibc 2.16 Khem Raj
2012-07-08 21:14 ` Saul Wold
2012-07-09  4:21   ` Khem Raj
2012-07-09  4:26 ` Khem Raj
2012-07-09  9:56   ` Martin Jansa
2012-07-09 16:23     ` Richard Purdie
2012-07-09 22:48   ` 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.