Skip to contentSkip to conversation

fixes, recipe upgrades, & gcc multilib enabling commits

PATCH In review [email protected] 7 participants 22 messages Mar 15, 2012 – Mar 21, 2012

lore
Share & tools
lore
#0 lore raw

cover fixes, recipe upgrades, & gcc multilib enabling commits

From: Nitin A Kamble <[email protected]>

For more information look at the individual commit logs.

The following changes since commit 8bae18bb358755131f13865abb279ac687a03848:

slang: Fix rpath QA warnings (2012-03-15 00:11:40 +0000)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib gcc-multilib-2-for-push
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=gcc-multilib-2-for-push

Nitin A Kamble (8):
gmp: upgrade from 5.0.3 to 5.0.4
automake: upgrade from 1.11.2 to 1.11.3
distro-tracking: update status of recipes
ncurses: fix install error
python: fix install when libdir is not "lib" multilib.conf: add other abi packages to target gcc's dependencies
gcc: remove the 64bithack patch
gcc: enable multilib for target gcc

 .../conf/distro/include/distro_tracking_fields.inc |   24 ++--
 meta/conf/multilib.conf                            |    3 +
 meta/recipes-core/ncurses/ncurses.inc              |    2 +-
 meta/recipes-devtools/automake/automake.inc        |    2 +-
 ...utomake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch |  118 ---------------
 .../prefer-cpio-over-pax-for-ustar-archives.patch  |   30 ++--
 .../automake/automake/python-libdir.patch          |   32 ++---
 .../{automake_1.11.2.bb => automake_1.11.3.bb}     |    8 +-
 meta/recipes-devtools/gcc/gcc-4.6.inc              |    1 -
 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch  |   68 ---------
 meta/recipes-devtools/gcc/gcc-common.inc           |   23 +++
 meta/recipes-devtools/gcc/gcc-configure-common.inc |    2 +-
 meta/recipes-devtools/gcc/gcc-configure-target.inc |    1 +
 meta/recipes-devtools/gcc/gcc-multilib-config.inc  |  155 ++++++++++++++++++++
 meta/recipes-devtools/gcc/libgcc_4.6.bb            |   42 ++++++
 .../python/fix_for_using_different_libdir.patch    |   78 ++++++++++
 meta/recipes-devtools/python/python_2.7.2.bb       |    3 +-
 meta/recipes-support/gmp/gmp/gmp_bugfix.patch      |   94 ------------
 .../gmp/{gmp_5.0.3.bb => gmp_5.0.4.bb}             |    7 +-
 19 files changed, 358 insertions(+), 335 deletions(-)
 delete mode 100644 meta/recipes-devtools/automake/automake/automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch
 rename meta/recipes-devtools/automake/{automake_1.11.2.bb => automake_1.11.3.bb} (85%)
 delete mode 100644 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-multilib-config.inc
 create mode 100644 meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch
 delete mode 100644 meta/recipes-support/gmp/gmp/gmp_bugfix.patch
 rename meta/recipes-support/gmp/{gmp_5.0.3.bb => gmp_5.0.4.bb} (54%)
Signature · 1 line
1.7.6.4
#1 lore raw

PATCH 1/8 gmp: upgrade from 5.0.3 to 5.0.4

From: Nitin A Kamble <[email protected]>

gmp_bugfix.patch : removed this patch as it is in upstream now

---
 meta/recipes-support/gmp/gmp/gmp_bugfix.patch      |   94 --------------------
 .../gmp/{gmp_5.0.3.bb => gmp_5.0.4.bb}             |    7 +-
 2 files changed, 3 insertions(+), 98 deletions(-)
 delete mode 100644 meta/recipes-support/gmp/gmp/gmp_bugfix.patch
 rename meta/recipes-support/gmp/{gmp_5.0.3.bb => gmp_5.0.4.bb} (54%)
meta/recipes-support/gmp/gmp/gmp_bugfix.patch deleted +0 -94
deleted file mode 100644
index 329c880..0000000
@@ -1,94 +0,0 @@
-Upstream-Status: Pending
-
-When LONG_MIN is passed to val, -val is undefined.  This patch fixes
-it.  See for details: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50066
-
-Received this patch from H.J. Lu <[email protected]>
-
-Signed-Off-By: Nitin A Kamble <[email protected]> 2011/12/01
-
---- gmp-4.3.2/mpf/iset_si.c.ll	2010-01-07 12:09:03.000000000 -0800
-+++ gmp-4.3.2/mpf/iset_si.c	2011-11-30 16:42:35.827944358 -0800
-@@ -31,7 +31,7 @@ mpf_init_set_si (mpf_ptr r, long int val
-   r->_mp_prec = prec;
-   r->_mp_d = (mp_ptr) (*__gmp_allocate_func) ((prec + 1) * BYTES_PER_MP_LIMB);
- 
--  vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val);
-+  vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val);
- 
-   r->_mp_d[0] = vl & GMP_NUMB_MASK;
-   size = vl != 0;
---- gmp-4.3.2/mpf/set_si.c.ll	2010-01-07 12:09:03.000000000 -0800
-+++ gmp-4.3.2/mpf/set_si.c	2011-11-30 16:42:47.823878367 -0800
-@@ -27,7 +27,7 @@ mpf_set_si (mpf_ptr dest, long val)
-   mp_size_t size;
-   mp_limb_t vl;
- 
--  vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val);
-+  vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val);
- 
-   dest->_mp_d[0] = vl & GMP_NUMB_MASK;
-   size = vl != 0;
---- gmp-4.3.2/mpz/cmp_si.c.ll	2010-01-07 12:09:03.000000000 -0800
-+++ gmp-4.3.2/mpz/cmp_si.c	2011-11-30 13:44:25.923319700 -0800
-@@ -27,7 +27,7 @@ _mpz_cmp_si (mpz_srcptr u, signed long i
- {
-   mp_size_t usize = u->_mp_size;
-   mp_size_t vsize;
--  mp_limb_t u_digit;
-+  mp_limb_t u_digit, vl_digit;
- 
- #if GMP_NAIL_BITS != 0
-   /* FIXME.  This isn't very pretty.  */
-@@ -41,11 +41,14 @@ _mpz_cmp_si (mpz_srcptr u, signed long i
- 
-   vsize = 0;
-   if (v_digit > 0)
--    vsize = 1;
-+    {
-+      vsize = 1;
-+      vl_digit = (mp_limb_t) (unsigned long) v_digit;
-+    }
-   else if (v_digit < 0)
-     {
-       vsize = -1;
--      v_digit = -v_digit;
-+      vl_digit = (mp_limb_t) -(unsigned long) v_digit;
-     }
- 
-   if (usize != vsize)
-@@ -56,10 +59,10 @@ _mpz_cmp_si (mpz_srcptr u, signed long i
- 
-   u_digit = u->_mp_d[0];
- 
--  if (u_digit == (mp_limb_t) (unsigned long) v_digit)
-+  if (u_digit == vl_digit)
-     return 0;
- 
--  if (u_digit > (mp_limb_t) (unsigned long) v_digit)
-+  if (u_digit > vl_digit)
-     return usize;
-   else
-     return -usize;
---- gmp-4.3.2/mpz/iset_si.c.ll	2010-01-07 12:09:03.000000000 -0800
-+++ gmp-4.3.2/mpz/iset_si.c	2011-11-30 13:44:25.924319695 -0800
-@@ -31,7 +31,7 @@ mpz_init_set_si (mpz_ptr dest, signed lo
-   dest->_mp_alloc = 1;
-   dest->_mp_d = (mp_ptr) (*__gmp_allocate_func) (BYTES_PER_MP_LIMB);
- 
--  vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val);
-+  vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val);
- 
-   dest->_mp_d[0] = vl & GMP_NUMB_MASK;
-   size = vl != 0;
---- gmp-4.3.2/mpz/set_si.c.ll	2010-01-07 12:09:03.000000000 -0800
-+++ gmp-4.3.2/mpz/set_si.c	2011-11-30 13:44:25.947319574 -0800
-@@ -27,7 +27,7 @@ mpz_set_si (mpz_ptr dest, signed long in
-   mp_size_t size;
-   mp_limb_t vl;
- 
--  vl = (mp_limb_t) (unsigned long int) (val >= 0 ? val : -val);
-+  vl = (mp_limb_t) (val >= 0 ? (unsigned long int) val : -(unsigned long int) val);
- 
-   dest->_mp_d[0] = vl & GMP_NUMB_MASK;
-   size = vl != 0;
meta/recipes-support/gmp/gmp_5.0.4.bb renamed from meta/recipes-support/gmp/gmp_5.0.3.bb +3 -4
similarity index 54%
rename from meta/recipes-support/gmp/gmp_5.0.3.bb
rename to meta/recipes-support/gmp/gmp_5.0.4.bb
index 9f37943..9adcc3f 100644
@@ -4,11 +4,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
 		    file://version.c;endline=18;md5=d8c56b52b9092346b9f93b4da65ef790"
 PR = "r0"
 
-SRC_URI_append += "file://gmp_bugfix.patch \
-                   file://use-includedir.patch \
+SRC_URI_append += "file://use-includedir.patch \
                    file://gmp_fix_for_x32.patch"
 
 export CC_FOR_BUILD = "${BUILD_CC}"
 
-SRC_URI[md5sum] = "8061f765cc86b9765921a0c800615804"
-SRC_URI[sha256sum] = "dcafe9989c7f332b373e1f766af8e9cd790fc802fdec422a1910a6ef783480e3"
+SRC_URI[md5sum] = "50c3edcb7c9438e04377ee9a1a061b79"
+SRC_URI[sha256sum] = "35d4aade3e4bdf0915c944599b10d23f108ffedf6c3188aeec52221c5cf9a06f"
Signature · 1 line
1.7.6.4
#2 lore raw

PATCH 2/8 automake: upgrade from 1.11.2 to 1.11.3

From: Nitin A Kamble <[email protected]>

Removed already upstream patch:
automake/automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch

Rebased these patches to the newer code:
automake/prefer-cpio-over-pax-for-ustar-archives.patch automake/python-libdir.patch

Changed the tarball name from bz2 to gz, as the bz2 tar ball is not published for the 1.11.3 version.

---
 meta/recipes-devtools/automake/automake.inc        |    2 +-
 ...utomake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch |  118 --------------------
 .../prefer-cpio-over-pax-for-ustar-archives.patch  |   30 +++--
 .../automake/automake/python-libdir.patch          |   32 +++---
 .../{automake_1.11.2.bb => automake_1.11.3.bb}     |    8 +-
 5 files changed, 36 insertions(+), 154 deletions(-)
 delete mode 100644 meta/recipes-devtools/automake/automake/automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch
 rename meta/recipes-devtools/automake/{automake_1.11.2.bb => automake_1.11.3.bb} (85%)
meta/recipes-devtools/automake/automake.inc +1 -1
index 7eef9ec..370caca 100644
@@ -5,7 +5,7 @@ LICENSE = "GPLv2"
 HOMEPAGE = "http://www.gnu.org/software/automake/"
 SECTION = "devel"
 
-SRC_URI = "${GNU_MIRROR}/automake/automake-${PV}.tar.bz2 "
+SRC_URI = "${GNU_MIRROR}/automake/automake-${PV}.tar.gz"
 
 inherit autotools
 
meta/recipes-devtools/automake/automake/automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch deleted +0 -118

118 lines not on this page · raw message

meta/recipes-devtools/automake/automake/prefer-cpio-over-pax-for-ustar-archives.patch +17 -13
index 7bc8caf..4627855 100644
@@ -15,11 +15,15 @@ Upstream-Status: Pending
 
 Signed-off-by: Tom Rini <[email protected]>
 
-Index: automake-1.11.1/m4/tar.m4
+Updated for version 1.11.3:
+Signed-off-by: Nitin A Kamble <[email protected]>
+Date: 2011/03/14
+
+Index: automake-1.11.3/m4/tar.m4
 ===================================================================
---- automake-1.11.1.orig/m4/tar.m4
-+++ automake-1.11.1/m4/tar.m4
-@@ -30,7 +30,7 @@ m4_if([$1], [v7],
+--- automake-1.11.3.orig/m4/tar.m4	2012-01-31 03:41:18.000000000 -0800
++++ automake-1.11.3/m4/tar.m4	2012-03-14 17:36:11.901303777 -0700
+@@ -31,7 +31,7 @@ m4_if([$1], [v7],
                [m4_fatal([Unknown tar format])])
  AC_MSG_CHECKING([how to create a $1 tar archive])
  # Loop over all known methods to create a tar archive until one works.
@@ -28,16 +32,16 @@ Index: automake-1.11.1/m4/tar.m4
  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
  # Do not fold the above two line into one, because Tru64 sh and
  # Solaris sh will not grok spaces in the rhs of `-'.
-Index: automake-1.11.1/Makefile.in
+Index: automake-1.11.3/Makefile.in
 ===================================================================
---- automake-1.11.1.orig/Makefile.in
-+++ automake-1.11.1/Makefile.in
-@@ -44,7 +44,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/a
- 	$(top_srcdir)/m4/missing.m4 $(top_srcdir)/m4/mkdirp.m4 \
+--- automake-1.11.3.orig/Makefile.in	2012-02-01 02:37:59.000000000 -0800
++++ automake-1.11.3/Makefile.in	2012-03-14 17:38:03.530869197 -0700
+@@ -62,7 +62,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/a
  	$(top_srcdir)/m4/options.m4 $(top_srcdir)/m4/runlog.m4 \
- 	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/strip.m4 \
--	$(top_srcdir)/m4/substnot.m4 $(top_srcdir)/m4/tar.m4 \
-+	$(top_srcdir)/m4/substnot.m4 \
- 	$(top_srcdir)/configure.ac
+ 	$(top_srcdir)/m4/sanity.m4 $(top_srcdir)/m4/silent.m4 \
+ 	$(top_srcdir)/m4/strip.m4 $(top_srcdir)/m4/substnot.m4 \
+-	$(top_srcdir)/m4/tar.m4 $(top_srcdir)/configure.ac
++	$(top_srcdir)/configure.ac
  am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  	$(ACLOCAL_M4)
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
meta/recipes-devtools/automake/automake/python-libdir.patch +14 -18
index 63dafca..93a74c7 100644
@@ -2,11 +2,11 @@ Upstream-Status: Inappropriate [embedded specific]
 
 Signed-off-by: Kumar Gala <[email protected]>
 
-Index: automake-1.11.1/m4/python.m4
+Index: automake-1.11.3/m4/python.m4
 ===================================================================
---- automake-1.11.1.orig/m4/python.m4
-+++ automake-1.11.1/m4/python.m4
-@@ -88,12 +88,13 @@ python2.1 python2.0])
+--- automake-1.11.3.orig/m4/python.m4	2012-01-31 03:41:18.000000000 -0800
++++ automake-1.11.3/m4/python.m4	2012-03-14 17:48:49.194509698 -0700
+@@ -92,12 +92,13 @@ AC_DEFUN([AM_PATH_PYTHON],
      [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
    AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
  
@@ -22,16 +22,14 @@ Index: automake-1.11.1/m4/python.m4
    AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
  
    dnl At times (like when building shared libraries) you may want
-@@ -122,7 +123,7 @@ python2.1 python2.0])
-        am_py_prefix=$prefix
-      fi
-      am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
--     echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
-+     echo "$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages"`
+@@ -127,13 +128,13 @@ AC_DEFUN([AM_PATH_PYTHON],
       case $am_cv_python_pythondir in
       $am_py_prefix*)
         am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
-@@ -132,7 +133,7 @@ python2.1 python2.0])
+-       am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
++       am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix/lib,$PYTHON_LIB_PREFIX,"`
+        ;;
+      *)
         case $am_py_prefix in
           /usr|/System*) ;;
           *)
@@ -40,16 +38,14 @@ Index: automake-1.11.1/m4/python.m4
  	  ;;
         esac
         ;;
-@@ -160,7 +161,7 @@ python2.1 python2.0])
-        am_py_exec_prefix=$exec_prefix
-      fi
-      am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
--     echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
-+     echo "$PYTHON_LIB_PREFIX/python$PYTHON_VERSION/site-packages"`
+@@ -162,13 +163,13 @@ AC_DEFUN([AM_PATH_PYTHON],
       case $am_cv_python_pyexecdir in
       $am_py_exec_prefix*)
         am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
-@@ -170,7 +171,7 @@ python2.1 python2.0])
+-       am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
++       am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix/lib,$PYTHON_LIB_PREFIX,"`
+        ;;
+      *)
         case $am_py_exec_prefix in
           /usr|/System*) ;;
           *)
meta/recipes-devtools/automake/automake_1.11.3.bb renamed from meta/recipes-devtools/automake/automake_1.11.2.bb +4 -4
similarity index 85%
rename from meta/recipes-devtools/automake/automake_1.11.2.bb
rename to meta/recipes-devtools/automake/automake_1.11.3.bb
index 4271336..8c56fc7 100644
@@ -37,12 +37,12 @@ PATHFIXPATCH_virtclass-nativesdk = ""
 SRC_URI += "${PATHFIXPATCH} \
 	    file://prefer-cpio-over-pax-for-ustar-archives.patch \
 	    file://python-libdir.patch \
-            file://automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch \
             file://py-compile-compile-only-optimized-byte-code.patch"
 
-PR = "r2"
-SRC_URI[md5sum] = "18194e804d415767bae8f703c963d456"
-SRC_URI[sha256sum] = "4f46d1f9380c8a3506280750f630e9fc915cb1a435b724be56b499d016368718"
+SRC_URI[md5sum] = "93ecb319f0365cb801990b00f658d026"
+SRC_URI[sha256sum] = "921b5188057e57bdd9c0ba06e21d0b0ea7dafa61a9bd08a2b041215bcff12f55"
+
+PR = "r0"
 
 do_install () {
 	oe_runmake 'DESTDIR=${D}' install
Signature · 1 line
1.7.6.4
#3 lore raw

PATCH 3/8 distro-tracking: update status of recipes

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

---
 .../conf/distro/include/distro_tracking_fields.inc |   24 ++++++++++---------
 1 files changed, 13 insertions(+), 11 deletions(-)
meta/conf/distro/include/distro_tracking_fields.inc +13 -11
index 8ad924b..b4ea423 100644
@@ -37,7 +37,8 @@ RECIPE_MANUAL_CHECK_DATE_pn-libpcre = "Feb 01, 2012"
 RECIPE_MAINTAINER_pn-libpcre = "Nitin A Kamble <[email protected]>"
 DISTRO_PN_ALIAS_pn-libpcre = "Mandriva=libpcre0 Fedora=pcre"
 
-RECIPE_LATEST_VERSION_pn-bdwgc = "7.2alpha5"
+RECIPE_LATEST_VERSION_pn-bdwgc = "20110107"
+RECIPE_NO_UPDATE_REASON_pn-bdwgc = "20110107 is same as the 7.2alpha5"
 RECIPE_LAST_UPDATE_pn-bdwgc = "Feb 01, 2012"
 RECIPE_MANUAL_CHECK_DATE_pn-bdwgc = "Feb 01, 2012"
 RECIPE_MAINTAINER_pn-bdwgc = "Nitin A Kamble <[email protected]>"
@@ -3089,9 +3090,9 @@ RECIPE_NO_UPDATE_REASON_pn-autoconf="seeing rpm issue with the 2.68 version, a b
 RECIPE_MAINTAINER_pn-autoconf = "Nitin A Kamble <[email protected]>"
 
 RECIPE_STATUS_pn-automake="green" 
-RECIPE_LATEST_VERSION_pn-automake="1.11.1"
-RECIPE_LAST_UPDATE_pn-automake = "Jan 29, 2010"
-RECIPE_MANUAL_CHECK_DATE_pn-automake = "Jul 06, 2011" 
+RECIPE_LATEST_VERSION_pn-automake="1.11.3"
+RECIPE_LAST_UPDATE_pn-automake = "Mar 14, 2012"
+RECIPE_MANUAL_CHECK_DATE_pn-automake = "Mar 14, 2012" 
 RECIPE_MAINTAINER_pn-automake = "Nitin A Kamble <[email protected]>"
 
 RECIPE_STATUS_pn-bison="green" 
@@ -3278,9 +3279,9 @@ RECIPE_LAST_UPDATE_pn-mpfr = "Nov 15, 2011"
 RECIPE_MAINTAINER_pn-mpfr = "Nitin A Kamble <[email protected]>"
 
 RECIPE_STATUS_pn-gmp="green"
-RECIPE_LATEST_VERSION_pn-gmp="5.0.3"
-RECIPE_LAST_UPDATE_pn-gmp = "Feb 01, 2012"
-RECIPE_MANUAL_CHECK_DATE_pn-gmp = "Feb 01, 2012" 
+RECIPE_LATEST_VERSION_pn-gmp="5.0.4"
+RECIPE_LAST_UPDATE_pn-gmp = "Mar 14, 2012"
+RECIPE_MANUAL_CHECK_DATE_pn-gmp = "Mar 14, 2012" 
 RECIPE_MAINTAINER_pn-gmp = "Nitin A Kamble <[email protected]>"
 
 RECIPE_STATUS_pn-libmpc="green"
@@ -5933,10 +5934,11 @@ RECIPE_STATUS_pn-groff = "red"
 RECIPE_LATEST_VERSION_pn-groff = "1.21"
 RECIPE_NO_UPDATE_REASON_pn-groff = "1.18.1.4 is latest GPLv2 Version no 1.21"
 
-RECIPE_STATUS_pn-eglibc = "red"
-RECIPE_LATEST_VERSION_pn-eglibc = "2.13-r15508"
-RECIPE_LAST_UPDATE_pn-eglibc = "Nov 16, 2011"
-RECIPE_MANUAL_CHECK_DATE_pn-eglibc = "Nov 16, 2011"
+RECIPE_STATUS_pn-eglibc = "green"
+RECIPE_LATEST_VERSION_pn-eglibc = "git:16540"
+RECIPE_LAST_UPDATE_pn-eglibc = "Jan 01, 2012"
+RECIPE_MANUAL_CHECK_DATE_pn-eglibc = "Jan 01, 2012"
+RECIPE_MAINTAINER_pn-eglibc = "Nitin A Kamble <[email protected]>"
 
 RECIPE_STATUS_pn-lighttpd = "red"
 RECIPE_LAST_UPDATE_pn-lighttpd = "Jul 28, 2011"
Signature · 1 line
1.7.6.4
#4 lore raw

PATCH 4/8 ncurses: fix install error

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

Fix this issue:
| rm: cannot remove `/srv/home/nitin/builds/build-multilib/tmp/work/x86_64-poky-linux/ncurses-5.9-r6.1/image/usr/lib64/terminfo': No such file or directory
NOTE: package ncurses-5.9-r6.1: task do_install: Failed

PR not bumped as there is no change in the packages output.

---
 meta/recipes-core/ncurses/ncurses.inc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-core/ncurses/ncurses.inc +1 -1
index 3319949..4d64f5e 100644
@@ -151,7 +151,7 @@ shell_do_install() {
                 ln -sf xterm-color ${D}${sysconfdir}/terminfo/x/xterm
         fi
 
-        rm ${D}${libdir}/terminfo
+        rm -f ${D}${libdir}/terminfo
 
         if [ "${PN}" = "ncurses" ]; then
                 mv ${D}${bindir}/clear ${D}${bindir}/clear.${PN}
Signature · 1 line
1.7.6.4
Acked-by on v1 4/8
#5 lore raw

Re: [PATCH 4/8] ncurses: fix install error

Quoted 9 lines · On 03/14/2012 07:02 PM, [email protected] wrote:

From: Nitin A Kamble<[email protected]>

Fix this issue:
| rm: cannot remove `/srv/home/nitin/builds/build-multilib/tmp/work/x86_64-poky-linux/ncurses-5.9-r6.1/image/usr/lib64/terminfo': No such file or directory
NOTE: package ncurses-5.9-r6.1: task do_install: Failed

PR not bumped as there is no change in the packages output.

Thank you for catching this.

Quoted 17 lines
---
  meta/recipes-core/ncurses/ncurses.inc |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-core/ncurses/ncurses.inc +1 -1
index 3319949..4d64f5e 100644
@@ -151,7 +151,7 @@ shell_do_install() {
                  ln -sf xterm-color ${D}${sysconfdir}/terminfo/x/xterm
          fi
 
-        rm ${D}${libdir}/terminfo
+        rm -f ${D}${libdir}/terminfo
 
          if [ "${PN}" = "ncurses" ]; then
                  mv ${D}${bindir}/clear ${D}${bindir}/clear.${PN}
Signature · 3 lines
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center
#6 lore raw

PATCH 5/8 python: fix install when libdir is not "lib"

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

This commit fixes python's install issue of not finding the native pythong binray modules.

---
 .../python/fix_for_using_different_libdir.patch    |   78 ++++++++++++++++++++
 meta/recipes-devtools/python/python_2.7.2.bb       |    3 +-
 2 files changed, 80 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch
meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch new file +78 -0
new file mode 100644
index 0000000..e8f19a2
@@ -0,0 +1,78 @@
+Upstream-Status: Inappropriate [Embedded specific]
+
+This patch fixes issuing with different libdir like lib64.
+This patch makes the native python binary modules findable
+in the install process of the host python.
+
+Signed-Off-By: Nitin A Kamble <[email protected]>
+Date: 2012/03/14
+
+Index: Python-2.7.2/Lib/sysconfig.py
+===================================================================
+--- Python-2.7.2.orig/Lib/sysconfig.py
++++ Python-2.7.2/Lib/sysconfig.py
+@@ -7,10 +7,10 @@ from os.path import pardir, realpath
+ 
+ _INSTALL_SCHEMES = {
+     'posix_prefix': {
+-        'stdlib': '{base}/lib/python{py_version_short}',
+-        'platstdlib': '{platbase}/lib/python{py_version_short}',
+-        'purelib': '{base}/lib/python{py_version_short}/site-packages',
+-        'platlib': '{platbase}/lib/python{py_version_short}/site-packages',
++        'stdlib': '{base}/'+sys.lib+'/python{py_version_short}',
++        'platstdlib': '{platbase}/'+sys.lib+'/python{py_version_short}',
++        'purelib': '{base}/'+sys.lib+'/python{py_version_short}/site-packages',
++        'platlib': '{platbase}/'+sys.lib+'/python{py_version_short}/site-packages',
+         'include': '{base}/include/python{py_version_short}',
+         'platinclude': '{platbase}/include/python{py_version_short}',
+         'scripts': '{base}/bin',
+@@ -65,10 +65,10 @@ _INSTALL_SCHEMES = {
+         'data'   : '{userbase}',
+         },
+     'posix_user': {
+-        'stdlib': '{userbase}/lib/python{py_version_short}',
+-        'platstdlib': '{userbase}/lib/python{py_version_short}',
+-        'purelib': '{userbase}/lib/python{py_version_short}/site-packages',
+-        'platlib': '{userbase}/lib/python{py_version_short}/site-packages',
++        'stdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
++        'platstdlib': '{userbase}/'+sys.lib+'/python{py_version_short}',
++        'purelib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
++        'platlib': '{userbase}/'+sys.lib+'/python{py_version_short}/site-packages',
+         'include': '{userbase}/include/python{py_version_short}',
+         'scripts': '{userbase}/bin',
+         'data'   : '{userbase}',
+Index: Python-2.7.2/Makefile.pre.in
+===================================================================
+--- Python-2.7.2.orig/Makefile.pre.in
++++ Python-2.7.2/Makefile.pre.in
+@@ -928,25 +928,25 @@ libinstall:	build_all $(srcdir)/Lib/$(PL
+ 		done; \
+ 	done
+ 	$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt
+-	PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
++	PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH}  $(RUNSHARED) \
+ 		$(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
+ 		-d $(LIBDEST) -f \
+ 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ 		$(DESTDIR)$(LIBDEST)
+-	PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
++	PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH}  $(RUNSHARED) \
+ 		$(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ 		-d $(LIBDEST) -f \
+ 		-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ 		$(DESTDIR)$(LIBDEST)
+-	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
++	-PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH}  $(RUNSHARED) \
+ 		$(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
+ 		-d $(LIBDEST)/site-packages -f \
+ 		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+-	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
++	-PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH}  $(RUNSHARED) \
+ 		$(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
+ 		-d $(LIBDEST)/site-packages -f \
+ 		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
+-	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
++	-PYTHONPATH=$(DESTDIR)$(LIBDEST):${CROSSPYTHONPATH}  $(RUNSHARED) \
+ 		$(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
+ 
+ # Create the PLATDIR source directory, if one wasn't distributed..
meta/recipes-devtools/python/python_2.7.2.bb +2 -1
index d2100be..412b294 100644
@@ -20,7 +20,7 @@ SRC_URI += "\
   file://setup_py_skip_cross_import_check.patch \
   file://add-md5module-support.patch \
   file://host_include_contamination.patch \
-  file://sys_platform_is_now_always_linux2.patch \
+  file://fix_for_using_different_libdir.patch \
 "
 
 S = "${WORKDIR}/Python-${PV}"
@@ -99,6 +99,7 @@ do_install() {
 	
 	oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \
 		HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \
+		CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \
 		STAGING_LIBDIR=${STAGING_LIBDIR} \
 		STAGING_INCDIR=${STAGING_INCDIR} \
 		BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
Signature · 1 line
1.7.6.4
#7 lore raw

Re: [PATCH 5/8] python: fix install when libdir is not "lib"

Hello Nitin,

meta/recipes-devtools/python/python_2.7.2.bb SRC_URI += "\ · line 23

Quoted 7 lines · On 15.03.2012 03:02, [email protected] wrote:
meta/recipes-devtools/python/python_2.7.2.bb +0 -1
@@ -20,7 +20,7 @@ SRC_URI += "\
   file://setup_py_skip_cross_import_check.patch \
   file://add-md5module-support.patch \
   file://host_include_contamination.patch \
-  file://sys_platform_is_now_always_linux2.patch \

did you remove this one by accident?

Regards,
Andreas

#8 lore raw

Re: [PATCH 5/8] python: fix install when libdir is not "lib"

Quoted 24 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Andreas Oberritter
Sent: Wednesday, March 14, 2012 8:00 PM
To: [email protected]
Subject: Re: [OE-core] [PATCH 5/8] python: fix install when libdir is not "lib"

Hello Nitin,

meta/recipes-devtools/python/python_2.7.2.bb SRC_URI += "\ · line 23

Quoted 7 lines · On 15.03.2012 03:02, [email protected] wrote:
meta/recipes-devtools/python/python_2.7.2.bb +0 -1
@@ -20,7 +20,7 @@ SRC_URI += "\
   file://setup_py_skip_cross_import_check.patch \
   file://add-md5module-support.patch \
   file://host_include_contamination.patch \
-  file://sys_platform_is_now_always_linux2.patch \

did you remove this one by accident?

Quoted 3 lines

Regards,
Andreas

Andreas,
Yes, it was an accident. I will correct it. Thanks for catching.

Nitin

#9 lore raw

Re: [PATCH 5/8] python: fix install when libdir is not "lib"

In reply to [email protected]
Quoted 17 lines · On Wed, Mar 14, 2012 at 07:02:14PM -0700, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

This commit fixes python's install issue of not finding the native pythong binray modules.

---
 .../python/fix_for_using_different_libdir.patch    |   78 ++++++++++++++++++++
 meta/recipes-devtools/python/python_2.7.2.bb       |    3 +-
 2 files changed, 80 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch
meta/recipes-devtools/python/python_2.7.2.bb +0 -0
index d2100be..412b294 100644

meta/recipes-devtools/python/python_2.7.2.bb SRC_URI += "\ · line 23

Quoted 5 lines
meta/recipes-devtools/python/python_2.7.2.bb +1 -1
@@ -20,7 +20,7 @@ SRC_URI += "\
   file://setup_py_skip_cross_import_check.patch \
   file://add-md5module-support.patch \
   file://host_include_contamination.patch \
-  file://sys_platform_is_now_always_linux2.patch \
+  file://fix_for_using_different_libdir.patch \

^ really?

Quoted 11 lines
meta/recipes-devtools/python/python_2.7.2.bb +1 -0
 "
 
 S = "${WORKDIR}/Python-${PV}"
@@ -99,6 +99,7 @@ do_install() {
 
 	oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \
 		HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \
+		CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \
 		STAGING_LIBDIR=${STAGING_LIBDIR} \
 		STAGING_INCDIR=${STAGING_INCDIR} \
 		BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#10 lore raw

Re: [PATCH 5/8] python: fix install when libdir is not "lib"

Quoted 29 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Martin Jansa
Sent: Thursday, March 15, 2012 12:19 AM
To: Patches and discussions about the oe-core layer
Subject: Re: [OE-core] [PATCH 5/8] python: fix install when libdir is not "lib"

Quoted 8 lines · On Wed, Mar 14, 2012 at 07:02:14PM -0700, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

This commit fixes python's install issue of not finding the native pythong binray modules.

---
 .../python/fix_for_using_different_libdir.patch    |   78

++++++++++++++++++++

Quoted 2 lines
 meta/recipes-devtools/python/python_2.7.2.bb       |    3 +-
 2 files changed, 80 insertions(+), 1 deletions(-)  create mode

100644

Quoted 1 line

meta/recipes-

devtools/python/python/fix_for_using_different_libdir.pat

Quoted 2 lines

ch

Quoted 13 lines

meta/recipes-devtools/python/python_2.7.2.bb SRC_URI += "\ · line 23

Quoted 11 lines
meta/recipes-devtools/python/python_2.7.2.bb +1 -1
index d2100be..412b294 100644
@@ -20,7 +20,7 @@ SRC_URI += "\
   file://setup_py_skip_cross_import_check.patch \
   file://add-md5module-support.patch \
   file://host_include_contamination.patch \
-  file://sys_platform_is_now_always_linux2.patch \
+  file://fix_for_using_different_libdir.patch \

^ really?

Martin,
Removing a patch was an accident. It is getting fixed now. Thanks for catching it.

Nitin

Quoted 18 lines

meta/recipes-devtools/python/python_2.7.2.bb do_install() { · line 103

Quoted 10 lines
meta/recipes-devtools/python/python_2.7.2.bb +2 -0
 "
 
 S = "${WORKDIR}/Python-${PV}"
@@ -99,6 +99,7 @@ do_install() {
 
 	oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/pgen \
 		HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python \
+
+CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-

d

meta/recipes-devtools/python/python_2.7.2.bb do_install() { · line 105

Quoted 4 lines
meta/recipes-devtools/python/python_2.7.2.bb +1 -0
+ynload/ \
 		STAGING_LIBDIR=${STAGING_LIBDIR} \
 		STAGING_INCDIR=${STAGING_INCDIR} \
 		BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \

--
Martin 'JaMa' Jansa jabber: [email protected]

#11 lore raw

PATCH 6/8 multilib.conf: add other abi packages to target gcc's dependencies

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

---
 meta/conf/multilib.conf |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
meta/conf/multilib.conf +3 -0
index 3b47c48..e71918a 100644
@@ -6,6 +6,9 @@ MULTILIB_SAVE_VARNAME = "DEFAULTTUNE"
 
 MULTILIBS ??= "multilib:lib32"
 
+# This adds multilib gcc components like "lib32-libgcc libx32-libgcc" 
+DEPENDS_append_pn-gcc = "${@'-libgcc '.join(d.getVar('MULTILIB_VARIANTS',True) .split() + [''])}"
+
 STAGING_DIR_HOST = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
 STAGING_DIR_TARGET = "${STAGING_DIR}/${MLPREFIX}${MACHINE}"
 
Signature · 1 line
1.7.6.4
#12 lore raw

PATCH 7/8 gcc: remove the 64bithack patch

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

and bump PR

---
 meta/recipes-devtools/gcc/gcc-4.6.inc             |    1 -
 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch |   68 ---------------------
 2 files changed, 0 insertions(+), 69 deletions(-)
 delete mode 100644 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch
meta/recipes-devtools/gcc/gcc-4.6.inc +0 -1
index 99c30a6..08f2a54 100644
@@ -59,7 +59,6 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
            file://gcc-poison-system-directories.patch \
            file://gcc-poison-dir-extend.patch \
            file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
-	   file://64bithack.patch \
 	   file://optional_libstdc.patch \
 	   file://disable_relax_pic_calls_flag.patch \
 	   file://COLLECT_GCC_OPTIONS.patch \
meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch deleted +0 -68

68 lines not on this page · raw message

Signature · 1 line
1.7.6.4
#13 lore raw

Re: [PATCH 7/8] gcc: remove the 64bithack patch

Quoted 10 lines · On Wed, 2012-03-14 at 19:02 -0700, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

and bump PR

---
 meta/recipes-devtools/gcc/gcc-4.6.inc             |    1 -
 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch |   68 ---------------------
 2 files changed, 0 insertions(+), 69 deletions(-)
 delete mode 100644 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch

As far as I can tell whilst this will make multilib work on the target device, since you've removed this patch, the actual -cross toolchains used for multilib builds will be broken since they may or may not look in the correct libdir?

Cheers,

Richard

#14 lore raw

Re: [PATCH 7/8] gcc: remove the 64bithack patch

Quoted 24 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Richard Purdie
Sent: Thursday, March 15, 2012 1:31 AM
To: Patches and discussions about the oe-core layer
Subject: Re: [OE-core] [PATCH 7/8] gcc: remove the 64bithack patch

Quoted 8 lines · On Wed, 2012-03-14 at 19:02 -0700, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

and bump PR

---
 meta/recipes-devtools/gcc/gcc-4.6.inc             |    1 -
 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch |   68 -----------

----------

Quoted 2 lines
 2 files changed, 0 insertions(+), 69 deletions(-)
 delete mode 100644 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch
Quoted 9 lines

As far as I can tell whilst this will make multilib work on the target device, since you've removed this patch, the actual -cross toolchains used for multilib builds will be broken since they may or may not look in the correct libdir?

Cheers,

Richard

Hi Richard,
This is not an issue. do_gcc_multilib_setup() is always configuring the gcc multilib files. For cross gcc recipes it is only using DEFAULTTUNE while for target it is using DEFAULTTUNE & MULTILIB_VARIENTS. Also in my testing cross gcc recipes did not have any such issues.

Thanks,
Nitin

#15 lore raw

PATCH 8/8 gcc: enable multilib for target gcc

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

add a task to setup multilib configuration for target gcc.

This commit modifies target gcc, in such a way that it supports configured multilib targets output.

Tested this, and this works on the target now.

root@qemux86-64:~# gcc -m64 t.c -o t
root@qemux86-64:~# file t
t: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
root@qemux86-64:~# ./t
Hello World !
root@qemux86-64:~# gcc -m32 t.c -o t
root@qemux86-64:~# file t
t: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
root@qemux86-64:~# ./t
Hello World !
---
 meta/recipes-devtools/gcc/gcc-common.inc           |   23 +++
 meta/recipes-devtools/gcc/gcc-configure-common.inc |    2 +-
 meta/recipes-devtools/gcc/gcc-configure-target.inc |    1 +
 meta/recipes-devtools/gcc/gcc-multilib-config.inc  |  155 ++++++++++++++++++++
 meta/recipes-devtools/gcc/libgcc_4.6.bb            |   42 ++++++
 5 files changed, 222 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-multilib-config.inc
meta/recipes-devtools/gcc/gcc-common.inc +23 -0
index f550aab..b371ba1 100644
@@ -34,6 +34,29 @@ def get_gcc_multiarch_setting(bb, d):
             return multiarch_options[target_arch]
     return ""
 
+# this is used by the multilib setup of gcc
+def get_tune_parameters (tune, d) :
+    availtunes = d.getVar('AVAILTUNES', True)
+    if tune not in availtunes.split():
+        bb.error('The tune: %s is not one of the available tunes: %s', tune, availtunes)
+
+    localdata = bb.data.createCopy(d)
+    override = ':tune-' + tune
+    localdata.setVar('OVERRIDES', localdata.getVar('OVERRIDES', False) + override)
+    bb.data.update_data(localdata)
+
+    retdict = {}
+    retdict['tune'] = tune
+    retdict['ccargs'] = localdata.getVar('TUNE_CCARGS', True)
+    retdict['features'] = localdata.getVar('TUNE_FEATURES', True)
+    retdict['baselib'] = localdata.getVar('BASE_LIB', True)
+    retdict['arch'] = localdata.getVar('TUNE_ARCH', True)
+    retdict['abiextension'] = localdata.getVar('ABIEXTENSION', True)
+    retdict['target_fpu'] = localdata.getVar('TARGET_FPU', True)
+    retdict['pkgarch'] = localdata.getVar('TUNE_PKGARCH', True)
+    retdict['package_extra_archs'] = localdata.getVar('PACKAGE_EXTRA_ARCHS', True)
+    return retdict
+
 # We really need HOST_SYS here for some packages and TARGET_SYS for others.
 # For now, libgcc is most important so we fix for that - RP.
 SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
meta/recipes-devtools/gcc/gcc-configure-common.inc +1 -1
index 7a96e91..6933a70 100644
@@ -25,7 +25,7 @@ EXTRA_OECONF_PATHS ?= ""
 EXTRA_OECONF_INITIAL ?= ""
 EXTRA_OECONF_INTERMEDIATE ?= ""
 
-GCCMULTILIB = "--disable-multilib"
+GCCMULTILIB ?= "--disable-multilib"
 
 EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) != 'no']} \
                 --with-gnu-ld \
meta/recipes-devtools/gcc/gcc-configure-target.inc +1 -0
index 8b169a7..9001bcf 100644
@@ -1,4 +1,5 @@
 require gcc-configure-common.inc
+require gcc-multilib-config.inc
 
 EXTRA_OECONF_PATHS = " \
     --with-local-prefix=${STAGING_DIR_TARGET}${prefix} \
meta/recipes-devtools/gcc/gcc-multilib-config.inc new file +155 -0

155 lines not on this page · raw message

meta/recipes-devtools/gcc/libgcc_4.6.bb +42 -0

51 lines not on this page · raw message

Signature · 1 line
1.7.6.4
#16 lore raw

Re: [PATCH 8/8] gcc: enable multilib for target gcc

Quoted 4 lines · On Wed, Mar 14, 2012 at 9:02 PM, <[email protected]> wrote:

  ${libdir}/${TARGET_SYS}/${BINV}/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/32 \
+  ${libdir}/${TARGET_SYS}/${BINV}/x32 \
+  ${libdir}/${TARGET_SYS}/${BINV}/n32 \

Would ${libdir}/${TARGET_SYS}/${BINV}/64 ever exist?

-M

#17 lore raw

Re: [PATCH 8/8] gcc: enable multilib for target gcc

Quoted 11 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of McClintock Matthew-B29882
Sent: Wednesday, March 14, 2012 7:43 PM
To: Patches and discussions about the oe-core layer
Subject: Re: [OE-core] [PATCH 8/8] gcc: enable multilib for target gcc

On Wed, Mar 14, 2012 at 9:02 PM, <[email protected]> wrote:

Quoted 8 lines
Quoted 4 lines

  ${libdir}/${TARGET_SYS}/${BINV}/crt* \
+  ${libdir}/${TARGET_SYS}/${BINV}/32 \
+  ${libdir}/${TARGET_SYS}/${BINV}/x32 \
+  ${libdir}/${TARGET_SYS}/${BINV}/n32 \

Would ${libdir}/${TARGET_SYS}/${BINV}/64 ever exist?

-M

It will exist. Thanks for catching this.

Nitin

#18 lore raw

Re: [PATCH 8/8] gcc: enable multilib for target gcc

In reply to [email protected]
Quoted 16 lines · On Wed, Mar 14, 2012 at 9:02 PM, <[email protected]> wrote:

+    multilibs = d.getVar('MULTILIB_VARIANTS', True)
+    target_arch = d.getVar('TARGET_ARCH', True)

meta/recipes-devtools/gcc/gcc-multilib-config.inc new file +14 -0
+
+    gcc_target_config_files = {
+        'x86_64'      : ['gcc/config/i386/t-linux64', 'gcc/config/i386/t-linux'],
+        'i586'        : ['gcc/config/mips/t-linux'],
+        'mips'        : ['gcc/config/mips/t-linux64', 'gcc/config/mips/t-linux'],
+        'ppc'         : ['gcc/config/rs6000/t-linux64'] }
+
+    gcc_header_config_files = {
+        'x86_64'      : ['gcc/config/i386/linux64.h'],
+        'i586'        : ['gcc/config/mips/linux.h'],
+        'mips'        : ['gcc/config/mips/linux64.h', 'gcc/config/mips/linux.h'],
+        'ppc'         : ['gcc/config/rs6000/linux64.h', 'gcc/config/rs6000/linux.h'] }
+
+    if target_arch not in gcc_target_config_files:

meta/recipes-devtools/gcc/gcc-multilib-config.inc line 59

Quoted 10 lines
meta/recipes-devtools/gcc/gcc-multilib-config.inc new file +10 -0
+        bb.warn('gcc multilib setup is not supported for TARGET_ARCH=' + target_arch)
+        return
+
+    gcc_multilib_target_config_files = gcc_target_config_files[target_arch]
+    gcc_multilib_header_config_files = gcc_header_config_files[target_arch]
+
+    ml_list = ['DEFAULTTUNE']
+    if multilibs != '':
+        for ml in multilibs.split(' '):
+            ml_list.append('DEFAULTTUNE_virtclass-multilib-' + ml)

What about adding non-multilib variants? I want to make one toolchain for ppce500v2, ppce500mc, ppce5550, and ppc64e5500?

Also, somehow, should we enforce all "toolchains" are built through this multilib build process such that I only need to configure things properly and then theoretically I can make a toolchain ONCE that supports all desired targets? E.g. I don't think we want references to DEFAULTTUNE since I don't want the DEFAULTTUNE to matter? Does this make any sense?

-M

#19 lore raw

Re: [PATCH 8/8] gcc: enable multilib for target gcc

Quoted 31 lines · On Thu, 2012-03-15 at 02:47 +0000, McClintock Matthew-B29882 wrote:
Quoted 16 lines · On Wed, Mar 14, 2012 at 9:02 PM, <[email protected]> wrote:
meta/recipes-devtools/gcc/gcc-multilib-config.inc new file +16 -0
+    multilibs = d.getVar('MULTILIB_VARIANTS', True)
+    target_arch = d.getVar('TARGET_ARCH', True)
+
+    gcc_target_config_files = {
+        'x86_64'      : ['gcc/config/i386/t-linux64', 'gcc/config/i386/t-linux'],
+        'i586'        : ['gcc/config/mips/t-linux'],
+        'mips'        : ['gcc/config/mips/t-linux64', 'gcc/config/mips/t-linux'],
+        'ppc'         : ['gcc/config/rs6000/t-linux64'] }
+
+    gcc_header_config_files = {
+        'x86_64'      : ['gcc/config/i386/linux64.h'],
+        'i586'        : ['gcc/config/mips/linux.h'],
+        'mips'        : ['gcc/config/mips/linux64.h', 'gcc/config/mips/linux.h'],
+        'ppc'         : ['gcc/config/rs6000/linux64.h', 'gcc/config/rs6000/linux.h'] }
+
+    if target_arch not in gcc_target_config_files:

meta/recipes-devtools/gcc/gcc-multilib-config.inc line 59

Quoted 10 lines
meta/recipes-devtools/gcc/gcc-multilib-config.inc new file +10 -0
+        bb.warn('gcc multilib setup is not supported for TARGET_ARCH=' + target_arch)
+        return
+
+    gcc_multilib_target_config_files = gcc_target_config_files[target_arch]
+    gcc_multilib_header_config_files = gcc_header_config_files[target_arch]
+
+    ml_list = ['DEFAULTTUNE']
+    if multilibs != '':
+        for ml in multilibs.split(' '):
+            ml_list.append('DEFAULTTUNE_virtclass-multilib-' + ml)

What about adding non-multilib variants? I want to make one toolchain for ppce500v2, ppce500mc, ppce5550, and ppc64e5500?

Quoted 6 lines

Also, somehow, should we enforce all "toolchains" are built through this multilib build process such that I only need to configure things properly and then theoretically I can make a toolchain ONCE that supports all desired targets? E.g. I don't think we want references to DEFAULTTUNE since I don't want the DEFAULTTUNE to matter? Does this make any sense?

Whilst I understand the desire, this is not what the patch series is intended for and I don't think it reasonable to try and change the patch series to fit that requirement.

The big issue you face trying to do the above is iterating over the toolchain building libgcc and libc for each of the variants you mention. This is particularly hard since at least in the multilib case they have different libdir paths, in your non-multilib case, they would overlap.

So no, I don't think its possible to do what you describe in this context.

Cheers,

Richard

#20 lore raw

Re: [PATCH 8/8] gcc: enable multilib for target gcc

Quoted 3 lines · Richard Purdie

Whilst I understand the desire, this is not what the patch series is intended for and I don't think it reasonable to try and change the patch series to fit that requirement.

Not insisting on anything just spurring further conversation...

Quoted 7 lines

The big issue you face trying to do the above is iterating over the toolchain building libgcc and libc for each of the variants you mention. This is particularly hard since at least in the multilib case they have different libdir paths, in your non-multilib case, they would overlap.

So no, I don't think its possible to do what you describe in this context.

I'm not sure of all the issues, but I know we make toolchains that support all Freescale parts - that's something I'm looking to reproduce with Yocto at some point.

Also, regarding multilib recipes (not gcc) have you given though to having multilib sort of always in effect? I.E if I build a lib32-binutils on a 64-bit machine - it should go generate the sstate-cache that could be reused by a pure 32-bit machine?

Basically we are creating these one-off sstate-caches for this scenario... sstate for lib64 on a lib32 machine or vice versa...

-M

#21 lore raw
In reply to [email protected]
Quoted 6 lines · On 03/14/2012 07:02 PM, [email protected] wrote:

From: Nitin A Kamble<[email protected]>

For more information look at the individual commit logs.

The following changes since commit 8bae18bb358755131f13865abb279ac687a03848:

Quoted 8 lines

slang: Fix rpath QA warnings (2012-03-15 00:11:40 +0000)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib gcc-multilib-2-for-push
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=gcc-multilib-2-for-push

Nitin A Kamble (8):

   gmp: upgrade from 5.0.3 to 5.0.4

Merged

Quoted 1 line
   automake: upgrade from 1.11.2 to 1.11.3

Holding on on this change due to issue already seen.

Quoted 3 lines

distro-tracking: update status of recipes
ncurses: fix install error
python: fix install when libdir is not "lib"

Merged these into OE-Core

Quoted 4 lines

multilib.conf: add other abi packages to target gcc's dependencies
gcc: remove the 64bithack patch
gcc: enable multilib for target gcc

We are going to hold off on the multilib changes for after 1.2

Thanks
Sau!

Quoted 28 lines
  .../conf/distro/include/distro_tracking_fields.inc |   24 ++--
  meta/conf/multilib.conf                            |    3 +
  meta/recipes-core/ncurses/ncurses.inc              |    2 +-
  meta/recipes-devtools/automake/automake.inc        |    2 +-
  ...utomake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch |  118 ---------------
  .../prefer-cpio-over-pax-for-ustar-archives.patch  |   30 ++--
  .../automake/automake/python-libdir.patch          |   32 ++---
  .../{automake_1.11.2.bb =>  automake_1.11.3.bb}     |    8 +-
  meta/recipes-devtools/gcc/gcc-4.6.inc              |    1 -
  meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch  |   68 ---------
  meta/recipes-devtools/gcc/gcc-common.inc           |   23 +++
  meta/recipes-devtools/gcc/gcc-configure-common.inc |    2 +-
  meta/recipes-devtools/gcc/gcc-configure-target.inc |    1 +
  meta/recipes-devtools/gcc/gcc-multilib-config.inc  |  155 ++++++++++++++++++++
  meta/recipes-devtools/gcc/libgcc_4.6.bb            |   42 ++++++
  .../python/fix_for_using_different_libdir.patch    |   78 ++++++++++
  meta/recipes-devtools/python/python_2.7.2.bb       |    3 +-
  meta/recipes-support/gmp/gmp/gmp_bugfix.patch      |   94 ------------
  .../gmp/{gmp_5.0.3.bb =>  gmp_5.0.4.bb}             |    7 +-
  19 files changed, 358 insertions(+), 335 deletions(-)

delete mode 100644 meta/recipes-devtools/automake/automake/automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch rename meta/recipes-devtools/automake/{automake_1.11.2.bb => automake_1.11.3.bb} (85%) delete mode 100644 meta/recipes-devtools/gcc/gcc-4.6/64bithack.patch
create mode 100644 meta/recipes-devtools/gcc/gcc-multilib-config.inc
create mode 100644 meta/recipes-devtools/python/python/fix_for_using_different_libdir.patch delete mode 100644 meta/recipes-support/gmp/gmp/gmp_bugfix.patch
rename meta/recipes-support/gmp/{gmp_5.0.3.bb => gmp_5.0.4.bb} (54%)