Skip to contentSkip to conversation

recipe fixes for x32 toolchain

PATCH In review [email protected] 4 participants 17 messages Dec 2, 2011 – Dec 5, 2011

lore
Share & tools
lore
#0 lore raw

cover recipe fixes for x32 toolchain

From: Nitin A Kamble <[email protected]>

These commits fixes building of various recipes with x32 toolchain for x32 target/machines. And these do not affect these recipes for other non-x32 targets.

X32 is new ABI for x86-64 architecture.
For more information refer: https://sites.google.com/site/x32abi/

Thanks,
Nitin

The following changes since commit 9be6d59b78510443d0944513503d515df13caa45:

dpkg-native: Fix perl path (2011-12-02 15:31:08 +0000)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib nitin/x32
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin.x32

Nitin A Kamble (11):
gst-fluendo-mpegdemux: rework the CC hack
mdadm: fix CC definition in the Makefile openssl-1.0.0e: fix to wotk with x32 toolchain
gmp: fix the recipe for x32 target
mesa-dri, mesa-xlib: fix compilation with x32 toolchain glib-2.0: fix compilatoin with x32 toolchain
libxt: fix compilatoin with x32 toolchain
liboil: patch source code for x32
xproto: fix compilation with x32 toolchain
libaio: patch source code for x32
libatomics-ops: patch source code for x32

 .../openssl-1.0.0e/openssl_fix_for_x32.patch       |   90 ++++++++
 meta/recipes-connectivity/openssl/openssl.inc      |   15 +-
 .../recipes-connectivity/openssl/openssl_1.0.0e.bb |    3 +-
 .../glib-2.0/glib-2.0/glib-2.0_fix_for_x32.patch   |   76 +++++++
 meta/recipes-core/glib-2.0/glib-2.0_2.30.1.bb      |    3 +-
 .../libaio/libaio/libaio_fix_for_x32.patch         |   61 ++++++
 meta/recipes-extended/libaio/libaio_0.3.109.bb     |    5 +-
 .../mdadm/files/mdadm_fix_for_x32.patch            |   24 ++
 meta/recipes-extended/mdadm/mdadm_3.2.2.bb         |    3 +-
 meta/recipes-graphics/mesa/mesa-7.11.inc           |   11 +-
 meta/recipes-graphics/mesa/mesa-common.inc         |    2 -
 meta/recipes-graphics/mesa/mesa-dri_7.11.bb        |    2 +-
 meta/recipes-graphics/mesa/mesa-git.inc            |    6 +-
 meta/recipes-graphics/mesa/mesa-xlib_7.11.bb       |    2 +-
 .../mesa/mesa/mesa_fix_for_x32.patch               |   24 ++
 .../xorg-lib/libxt/libxt_fix_for_x32.patch         |   19 ++
 meta/recipes-graphics/xorg-lib/libxt_1.1.1.bb      |    4 +-
 .../xorg-proto/xproto/xproto_fix_for_x32.patch     |   22 ++
 meta/recipes-graphics/xorg-proto/xproto_7.0.22.bb  |    4 +-
 meta/recipes-multimedia/gstreamer/gst-fluendo.inc  |    2 +-
 .../libatomics-ops_fix_for_x32.patch               |   41 ++++
 .../pulseaudio/libatomics-ops_1.2.bb               |    5 +-
 meta/recipes-support/gmp/gmp/gmp_bugfix.patch      |   94 ++++++++
 meta/recipes-support/gmp/gmp/gmp_fix_for_x32.patch |   45 ++++
 meta/recipes-support/gmp/gmp_5.0.2.bb              |    6 +-
 .../liboil/liboil-0.3.17/liboil_fix_for_x32.patch  |  222 ++++++++++++++++++++
 meta/recipes-support/liboil/liboil_0.3.17.bb       |    3 +-
 27 files changed, 762 insertions(+), 32 deletions(-)
 create mode 100644 meta/recipes-connectivity/openssl/openssl-1.0.0e/openssl_fix_for_x32.patch
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/glib-2.0_fix_for_x32.patch
 create mode 100644 meta/recipes-extended/libaio/libaio/libaio_fix_for_x32.patch
 create mode 100644 meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch
 create mode 100644 meta/recipes-graphics/mesa/mesa/mesa_fix_for_x32.patch
 create mode 100644 meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch
 create mode 100644 meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch
 create mode 100644 meta/recipes-multimedia/pulseaudio/libatomics-ops/libatomics-ops_fix_for_x32.patch
 create mode 100644 meta/recipes-support/gmp/gmp/gmp_bugfix.patch
 create mode 100644 meta/recipes-support/gmp/gmp/gmp_fix_for_x32.patch
 create mode 100644 meta/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch
Signature · 1 line
1.7.6.4
#1 lore raw

PATCH 1/11 gst-fluendo-mpegdemux: rework the CC hack

From: Nitin A Kamble <[email protected]>

This fixes bug: [YOCTO #1403]

Earlier hack was breaking compiler parameters set by tune settings. And that caused x32 build failure. Now previous CC parameters are kept intact while adding new -L parameter.

---
 meta/recipes-multimedia/gstreamer/gst-fluendo.inc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-multimedia/gstreamer/gst-fluendo.inc +1 -1
index 203bdba..9615454 100644
@@ -14,5 +14,5 @@ FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"
 EXTRA_OECONF = "--disable-debug --disable-valgrind"
 
 # Hack to get STAGING_LIBDIR into the linker path when building
-CC = "${CCACHE} ${HOST_PREFIX}gcc -L${STAGING_LIBDIR}"
+CC += "-L${STAGING_LIBDIR}"
 
Signature · 1 line
1.7.6.4
#2 lore raw

PATCH 2/11 mdadm: fix CC definition in the Makefile

From: Nitin A Kamble <[email protected]>

By hardcoding CC's definition in the Makefile, all the gcc parameters set by tune settings are lost. Causing compile failure with x32 toolchain

As the bitbake defined CC is good, there is no need to redfine CC in the make file, hence removed it to fix the issue.

This fixes bug: [YOCTO #1414]

---
 .../mdadm/files/mdadm_fix_for_x32.patch            |   24 ++++++++++++++++++++
 meta/recipes-extended/mdadm/mdadm_3.2.2.bb         |    3 +-
 2 files changed, 26 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch
meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch new file +24 -0
new file mode 100644
index 0000000..898e70b
@@ -0,0 +1,24 @@
+UpstreamStatus: pending
+
+By hardcoding CC's definition in the Makefile, all the gcc parameters 
+set by tune settings are lost. Causing compile failure with x32 toolchain
+
+As the bitbake defined CC is good, there is no need to redfine CC in the 
+make file, hence removed it to fix the issue.
+
+Signed-Off-By: Nitin A Kamble <[email protected]>
+2011/12/01
+
+Index: mdadm-3.2.2/Makefile
+===================================================================
+--- mdadm-3.2.2.orig/Makefile
++++ mdadm-3.2.2/Makefile
+@@ -40,7 +40,7 @@ KLIBC=/home/src/klibc/klibc-0.77
+ 
+ KLIBC_GCC = gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32
+ 
+-CC = $(CROSS_COMPILE)gcc
++#CC = $(CROSS_COMPILE)gcc
+ CXFLAGS = -ggdb
+ CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
+ ifdef WARN_UNUSED
meta/recipes-extended/mdadm/mdadm_3.2.2.bb +2 -1
index 97878ed..7e380ec 100644
@@ -8,10 +8,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
                     file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
                     file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
 
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.bz2 \
 	    file://0001-mdadm-fix-build-failures-ppc64.patch \
+	    file://mdadm_fix_for_x32.patch \
 	  "
 
 SRC_URI[md5sum] = "12ee2fbf3beddb60601fb7a4c4905651"
Signature · 1 line
1.7.6.4
#3 lore raw

Re: [PATCH 02/11] mdadm: fix CC definition in the Makefile

Dear Nitin,

thank you for your patch.

Am Freitag, den 02.12.2011, 12:20 -0800 schrieb [email protected]:

Quoted 6 lines

From: Nitin A Kamble <[email protected]>

By hardcoding CC's definition in the Makefile, all the gcc parameters set by tune settings are lost. Causing compile failure with x32 toolchain

As the bitbake defined CC is good, there is no need to redfine CC in the

red*e*fine

Quoted 28 lines

make file, hence removed it to fix the issue.

This fixes bug: [YOCTO #1414]

---
 .../mdadm/files/mdadm_fix_for_x32.patch            |   24 ++++++++++++++++++++
 meta/recipes-extended/mdadm/mdadm_3.2.2.bb         |    3 +-
 2 files changed, 26 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch
meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch new file +11 -0
new file mode 100644
index 0000000..898e70b
@@ -0,0 +1,24 @@
+UpstreamStatus: pending
+
+By hardcoding CC's definition in the Makefile, all the gcc parameters 
+set by tune settings are lost. Causing compile failure with x32 toolchain
+
+As the bitbake defined CC is good, there is no need to redfine CC in the 
+make file, hence removed it to fix the issue.
+
+Signed-Off-By: Nitin A Kamble <[email protected]>
+2011/12/01
+

meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch line 21

Quoted 10 lines
meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch new file +10 -0
+Index: mdadm-3.2.2/Makefile
+===================================================================
+--- mdadm-3.2.2.orig/Makefile
++++ mdadm-3.2.2/Makefile
+@@ -40,7 +40,7 @@ KLIBC=/home/src/klibc/klibc-0.77
+ 
+ KLIBC_GCC = gcc -nostdinc -iwithprefix include -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32
+ 
+-CC = $(CROSS_COMPILE)gcc
++#CC = $(CROSS_COMPILE)gcc

I would prefer to fix this the way it can be applied upstream. I could even ask them to apply it.

meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch line 24

Quoted 3 lines
meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch new file +3 -0
+ CXFLAGS = -ggdb
+ CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter
+ ifdef WARN_UNUSED

[…]

Thanks,

Paul

#4 lore raw

Re: [PATCH 02/11] mdadm: fix CC definition in the Makefile

Paul,
Thanks for your feedback. I will try to incorporate your feedback in the commit.

Thanks,
Nitin

Quoted 87 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Paul Menzel
Sent: Saturday, December 03, 2011 10:08 AM
To: [email protected]
Subject: Re: [OE-core] [PATCH 02/11] mdadm: fix CC definition in the Makefile

Dear Nitin,

thank you for your patch.

Am Freitag, den 02.12.2011, 12:20 -0800 schrieb
[email protected]:

Quoted 8 lines

From: Nitin A Kamble <[email protected]>

By hardcoding CC's definition in the Makefile, all the gcc parameters set by tune settings are lost. Causing compile failure with x32 toolchain

As the bitbake defined CC is good, there is no need to redfine CC in the

red*e*fine

Quoted 7 lines

make file, hence removed it to fix the issue.

This fixes bug: [YOCTO #1414]

---
 .../mdadm/files/mdadm_fix_for_x32.patch            |   24

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

Quoted 2 lines
 meta/recipes-extended/mdadm/mdadm_3.2.2.bb         |    3 +-
 2 files changed, 26 insertions(+), 1 deletions(-)  create mode

100644

Review

Quoted 3 lines

meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch

(quoted diff) +0 -0

extended/mdadm/files/mdadm_fix_for_x32.patch

meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch line 3

Quoted 9 lines

b/meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch new file mode 100644
index 0000000..898e70b

meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch new file +3 -0
@@ -0,0 +1,24 @@
+UpstreamStatus: pending
+
+By hardcoding CC's definition in the Makefile, all the gcc

parameters

Quoted 11 lines
meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch new file +11 -0
+set by tune settings are lost. Causing compile failure with x32
+toolchain
+
+As the bitbake defined CC is good, there is no need to redfine CC in
+the make file, hence removed it to fix the issue.
+
+Signed-Off-By: Nitin A Kamble <[email protected]>
+2011/12/01
+
+Index: mdadm-3.2.2/Makefile
+===================================================================

meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch line 21

Quoted 10 lines
meta/recipes-extended/mdadm/files/mdadm_fix_for_x32.patch new file +10 -0
+--- mdadm-3.2.2.orig/Makefile
++++ mdadm-3.2.2/Makefile
+@@ -40,7 +40,7 @@ KLIBC=/home/src/klibc/klibc-0.77
+
+ KLIBC_GCC = gcc -nostdinc -iwithprefix include
+ -I$(KLIBC)/klibc/include -I$(KLIBC)/linux/include
+ -I$(KLIBC)/klibc/arch/i386/include -I$(KLIBC)/klibc/include/bits32
+
+-CC = $(CROSS_COMPILE)gcc
++#CC = $(CROSS_COMPILE)gcc

I would prefer to fix this the way it can be applied upstream. I could even ask them to apply it.

Quoted 3 lines

+ CXFLAGS = -ggdb
+ CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra
+ -Wno-unused-parameter ifdef WARN_UNUSED

[…]

Thanks,

Paul

#5 lore raw

PATCH 3/11 openssl-1.0.0e: fix to wotk with x32 toolchain

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

Add BN_ADDR for address type instead of using BN_ULONG or unsigned long:
1. For W64, address type is unsigned long long, not unsigned long.
2. For x32, address type is unsigned long , not BN_ULONG.

Added a new targetlinux-x32 in the config file

The do_install() code to move lib/* to lib64 is not needed now with the enhanced multilib support.

Make the x86-64 assembly syntax compatible with x32 compiler.

---
 .../openssl-1.0.0e/openssl_fix_for_x32.patch       |   90 ++++++++++++++++++++
 meta/recipes-connectivity/openssl/openssl.inc      |   15 ++--
 .../recipes-connectivity/openssl/openssl_1.0.0e.bb |    3 +-
 3 files changed, 98 insertions(+), 10 deletions(-)
 create mode 100644 meta/recipes-connectivity/openssl/openssl-1.0.0e/openssl_fix_for_x32.patch
meta/recipes-connectivity/openssl/openssl-1.0.0e/openssl_fix_for_x32.patch new file +90 -0
new file mode 100644
index 0000000..10de986
@@ -0,0 +1,90 @@
+UpstreamStatus: Pending
+
+Received from H J Liu @ Intel
+Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
+Signed-Off-By: Nitin A Kamble <[email protected]> 2011/07/13
+
+ported the patch to the 1.0.0e version
+Signed-Off-By: Nitin A Kamble <[email protected]> 2011/12/01
+Index: openssl-1.0.0e/Configure
+===================================================================
+--- openssl-1.0.0e.orig/Configure
++++ openssl-1.0.0e/Configure
+@@ -393,6 +393,7 @@ my %table=(
+ "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-x86_64",	"gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
++"linux-x32",	"gcc:-DL_ENDIAN 	-DTERMIO -O2 -pipe -g -feliminate-unused-debug-types -Wall -DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+ "linux-s390x",	"gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
+ #### SPARC Linux setups
+ # Ray Miller <[email protected]> has patiently
+Index: openssl-1.0.0e/crypto/bn/asm/x86_64-gcc.c
+===================================================================
+--- openssl-1.0.0e.orig/crypto/bn/asm/x86_64-gcc.c
++++ openssl-1.0.0e/crypto/bn/asm/x86_64-gcc.c
+@@ -55,7 +55,7 @@
+  *    machine.
+  */
+ 
+-#ifdef _WIN64
++#if defined _WIN64 || !defined __LP64__
+ #define BN_ULONG unsigned long long
+ #else
+ #define BN_ULONG unsigned long
+@@ -192,9 +192,9 @@ BN_ULONG bn_add_words (BN_ULONG *rp, con
+ 	asm (
+ 	"	subq	%2,%2		\n"
+ 	".p2align 4			\n"
+-	"1:	movq	(%4,%2,8),%0	\n"
+-	"	adcq	(%5,%2,8),%0	\n"
+-	"	movq	%0,(%3,%2,8)	\n"
++	"1:	movq	(%q4,%2,8),%0	\n"
++	"	adcq	(%q5,%2,8),%0	\n"
++	"	movq	%0,(%q3,%2,8)	\n"
+ 	"	leaq	1(%2),%2	\n"
+ 	"	loop	1b		\n"
+ 	"	sbbq	%0,%0		\n"
+@@ -215,9 +215,9 @@ BN_ULONG bn_sub_words (BN_ULONG *rp, con
+ 	asm (
+ 	"	subq	%2,%2		\n"
+ 	".p2align 4			\n"
+-	"1:	movq	(%4,%2,8),%0	\n"
+-	"	sbbq	(%5,%2,8),%0	\n"
+-	"	movq	%0,(%3,%2,8)	\n"
++	"1:	movq	(%q4,%2,8),%0	\n"
++	"	sbbq	(%q5,%2,8),%0	\n"
++	"	movq	%0,(%q3,%2,8)	\n"
+ 	"	leaq	1(%2),%2	\n"
+ 	"	loop	1b		\n"
+ 	"	sbbq	%0,%0		\n"
+Index: openssl-1.0.0e/crypto/bn/bn.h
+===================================================================
+--- openssl-1.0.0e.orig/crypto/bn/bn.h
++++ openssl-1.0.0e/crypto/bn/bn.h
+@@ -172,6 +172,13 @@ extern "C" {
+ # endif
+ #endif
+ 
++/* Address type.  */
++#ifdef _WIN64
++#define BN_ADDR unsigned long long
++#else
++#define BN_ADDR unsigned long
++#endif
++
+ /* assuming long is 64bit - this is the DEC Alpha
+  * unsigned long long is only 64 bits :-(, don't define
+  * BN_LLONG for the DEC Alpha */
+Index: openssl-1.0.0e/crypto/bn/bn_exp.c
+===================================================================
+--- openssl-1.0.0e.orig/crypto/bn/bn_exp.c
++++ openssl-1.0.0e/crypto/bn/bn_exp.c
+@@ -561,7 +561,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU
+ 
+ /* Given a pointer value, compute the next address that is a cache line multiple. */
+ #define MOD_EXP_CTIME_ALIGN(x_) \
+-	((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ULONG)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
++	((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
+ 
+ /* This variant of BN_mod_exp_mont() uses fixed windows and the special
+  * precomputation memory layout to limit data-dependency to a minimum
meta/recipes-connectivity/openssl/openssl.inc +6 -9
index c717fee..771f146 100644
@@ -82,6 +82,12 @@ do_configure () {
 	linux-i686)
 		target=debian-i386-i686/cmov
 		;;
+	linux-gnux32-x86_64)
+		target=linux-x32
+		;;
+	linux-gnu64-x86_64)
+		target=linux-x86_64
+		;;
 	linux-mips)
 		target=debian-mips
 		;;
@@ -123,15 +129,6 @@ do_compile () {
 do_install () {
 	oe_runmake INSTALL_PREFIX="${D}" MANDIR="${mandir}" install
 
-	# On x86_64, move lib/* to lib64
-	if [ "${libdir}" != "${prefix}/lib" ]
-	then
-		install -m 0755 ${D}${libdir} ${D}${libdir}/pkgconfig
-		mv ${D}${prefix}/lib/lib* ${D}${libdir}
-		mv ${D}${prefix}/lib/pkgconfig/*.pc ${D}${libdir}/pkgconfig
-		chmod 644 ${D}${libdir}/pkgconfig/openssl.pc
-	fi
-
 	oe_libinstall -so libcrypto ${D}${libdir}
 	oe_libinstall -so libssl ${D}${libdir}
 
meta/recipes-connectivity/openssl/openssl_1.0.0e.bb +2 -1
index 38f38e3..e29740b 100644
@@ -6,7 +6,7 @@ DEPENDS += "ocf-linux"
 
 CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
 
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.2"
 
 LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
 
@@ -29,6 +29,7 @@ SRC_URI += "file://configure-targets.patch \
             file://debian/pkg-config.patch \
             file://debian/no-symbolic.patch \
             file://debian/debian-targets.patch \
+            file://openssl_fix_for_x32.patch \
            "
 
 SRC_URI[md5sum] = "7040b89c4c58c7a1016c0dfa6e821c86"
Signature · 1 line
1.7.6.4
#6 lore raw

PATCH 4/11 gmp: fix the recipe for x32 target

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

Add support for building with x32 toolchain.

---
 meta/recipes-support/gmp/gmp/gmp_bugfix.patch      |   94 ++++++++++++++++++++
 meta/recipes-support/gmp/gmp/gmp_fix_for_x32.patch |   45 +++++++++
 meta/recipes-support/gmp/gmp_5.0.2.bb              |    6 +-
 3 files changed, 143 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-support/gmp/gmp/gmp_bugfix.patch
 create mode 100644 meta/recipes-support/gmp/gmp/gmp_fix_for_x32.patch
meta/recipes-support/gmp/gmp/gmp_bugfix.patch new file +94 -0
new file mode 100644
index 0000000..a96136f
@@ -0,0 +1,94 @@
+UpstreamStatus: 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/gmp_fix_for_x32.patch new file +45 -0

45 lines not on this page · raw message

meta/recipes-support/gmp/gmp_5.0.2.bb +4 -2
index 873fc3e..c28e745 100644
@@ -2,10 +2,12 @@ require gmp.inc
 LICENSE="LGPLv3&GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
 		    file://version.c;endline=18;md5=d8c56b52b9092346b9f93b4da65ef790"
-PR = "r2"
+PR = "r3"
 
 SRC_URI_append += "file://sh4-asmfix.patch \
-                   file://use-includedir.patch "
+                   file://gmp_bugfix.patch \
+                   file://use-includedir.patch \
+                   file://gmp_fix_for_x32.patch"
 
 export CC_FOR_BUILD = "${BUILD_CC}"
 
Signature · 1 line
1.7.6.4
#7 lore raw

PATCH 5/11 mesa-dri, mesa-xlib: fix compilation with x32 toolchain

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

Add support for building with x32 toolchain.

Simplified the use of SRC_URI & S vars across multiple files.

---
 meta/recipes-graphics/mesa/mesa-7.11.inc           |   11 ++++++--
 meta/recipes-graphics/mesa/mesa-common.inc         |    2 -
 meta/recipes-graphics/mesa/mesa-dri_7.11.bb        |    2 +-
 meta/recipes-graphics/mesa/mesa-git.inc            |    6 ++--
 meta/recipes-graphics/mesa/mesa-xlib_7.11.bb       |    2 +-
 .../mesa/mesa/mesa_fix_for_x32.patch               |   24 ++++++++++++++++++++
 6 files changed, 37 insertions(+), 10 deletions(-)
 create mode 100644 meta/recipes-graphics/mesa/mesa/mesa_fix_for_x32.patch
meta/recipes-graphics/mesa/mesa-7.11.inc +8 -3
index 2f14ed4..7c4a690 100644
@@ -1,9 +1,14 @@
 DEPENDS += "mesa-dri-glsl-native"
 
-SRC_URI += "file://uclibc.patch \
-            file://crossfix.patch \
-            file://crossfix-mklib.patch \
+
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \ 
+           file://uclibc.patch \
+           file://crossfix.patch \
+           file://crossfix-mklib.patch \
+           file://mesa_fix_for_x32.patch \
            "
+S = "${WORKDIR}/Mesa-${PV}"
+
 SRC_URI[md5sum] = "ff03aca82d0560009a076a87c888cf13"
 SRC_URI[sha256sum] = "f8bf37a00882840a3e3d327576bc26a79ae7f4e18fe1f7d5f17a5b1c80dd7acf"
 
meta/recipes-graphics/mesa/mesa-common.inc +0 -2
index df035e6..59e8e64 100644
@@ -15,8 +15,6 @@ LIC_FILES_CHKSUM = "file://docs/license.html;md5=7a3373c039b6b925c427755a4f779c1
 INC_PR = "r13"
 PE = "2"
 
-SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2"
-S = "${WORKDIR}/Mesa-${PV}"
 
 PROTO_DEPS = "xf86driproto glproto"
 LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes libxml2-native"
meta/recipes-graphics/mesa/mesa-dri_7.11.bb +1 -1
index 5d25127..219e555 100644
@@ -1,4 +1,4 @@
 include mesa-common.inc
 include mesa-${PV}.inc
 include mesa-dri.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
meta/recipes-graphics/mesa/mesa-git.inc +3 -3
index 594d9b8..1b4c0a6 100644
@@ -6,9 +6,9 @@ PV = "7.11+gitr${SRCPV}"
 LIC_FILES_CHKSUM = "file://docs/license.html;md5=03ccdc4c379c4289aecfb8892c546f67"
 FILESEXTRAPATHS_prepend := "${THISDIR}/mesa-git:"
 
-SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git"
-SRC_URI += "file://uclibc.patch \
-            file://crossfix.patch \
+SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git \
+           file://uclibc.patch \
+           file://crossfix.patch \
            "
 S = "${WORKDIR}/git"
 
meta/recipes-graphics/mesa/mesa-xlib_7.11.bb +1 -1
index 95ff5e8..7912287 100644
@@ -1,5 +1,5 @@
 include mesa-common.inc
 include mesa-${PV}.inc
 include mesa-xlib.inc
-PR = "${INC_PR}.0"
+PR = "${INC_PR}.1"
 
meta/recipes-graphics/mesa/mesa/mesa_fix_for_x32.patch new file +24 -0
new file mode 100644
index 0000000..22a2339
@@ -0,0 +1,24 @@
+UpstreamStatus: Pending
+
+get correct compiler options for x32 gcc.
+
+Received this patch from H.J. Lu <[email protected]>
+
+Signed-Off-By: Nitin A Kamble <[email protected]> 2011/12/01
+
+--- Mesa-7.11/bin/mklib.x32	2011-11-30 14:29:14.976465283 -0800
++++ Mesa-7.11/bin/mklib	2011-11-30 14:32:48.591525193 -0800
+@@ -335,7 +335,12 @@ case $ARCH in
+ 	    set ${OBJECTS}
+ 	    ABI32=`file $1 | grep 32-bit`
+ 	    if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
+-		OPTS="-m32 ${OPTS}"
++		ABIX32=`file $1 | grep x86-64`
++		if [ "${ABI32}" ]; then
++		    OPTS="-mx32 ${OPTS}"
++		else
++		    OPTS="-m32 ${OPTS}"
++		fi
+ 	    fi
+ 
+             if [ "${ALTOPTS}" ] ; then
Signature · 1 line
1.7.6.4
#8 lore raw

PATCH 6/11 glib-2.0: fix compilatoin with x32 toolchain

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

Pass along CC & CFLAGS vars so that the tune parameters set get used. This fixes compilation with x32 toolchain.

---
 .../glib-2.0/glib-2.0/glib-2.0_fix_for_x32.patch   |   76 ++++++++++++++++++++
 meta/recipes-core/glib-2.0/glib-2.0_2.30.1.bb      |    3 +-
 2 files changed, 78 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/glib-2.0_fix_for_x32.patch
meta/recipes-core/glib-2.0/glib-2.0/glib-2.0_fix_for_x32.patch new file +76 -0
new file mode 100644
index 0000000..70cbbbe
@@ -0,0 +1,76 @@
+UpstreamStatus: Pending
+
+Pass CC & CFLAGS vars so that tune parameters get used.
+This fixes compilation with x32 toolchain.
+
+Received this patch from H.J. Lu <[email protected]>
+Signed-Off-By: Nitin A Kamble <[email protected]> 2011/07/13
+
+Index: glib-2.30.0/glib/Makefile.am
+===================================================================
+--- glib-2.30.0.orig/glib/Makefile.am
++++ glib-2.30.0/glib/Makefile.am
+@@ -359,10 +359,10 @@ INSTALL_PROGS=
+ 
+ if ENABLE_DTRACE
+ glib_probes.h: glib_probes.d Makefile
+-	$(AM_V_GEN) $(DTRACE) -C -h -s $< -o [email protected]
++	$(AM_V_GEN) CFLAGS="$(CFLAGS)" $(DTRACE) -C -h -s $< -o [email protected]
+ 	@$(SED) -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," < [email protected] > $@ && rm -f [email protected]
+ glib_probes.o: glib_probes.d Makefile
+-	$(AM_V_GEN) $(DTRACE) -G -s $< -o $@
++	$(AM_V_GEN) CFLAGS="$(CFLAGS)" $(DTRACE) -G -s $< -o $@
+ BUILT_SOURCES += glib_probes.h glib_probes.o
+ CLEANFILES += glib_probes.h glib_probes.h.tmp
+ libglib_2_0_la_LIBADD += glib_probes.o
+Index: glib-2.30.0/glib/Makefile.in
+===================================================================
+--- glib-2.30.0.orig/glib/Makefile.in
++++ glib-2.30.0/glib/Makefile.in
+@@ -1691,10 +1691,10 @@ uninstall-local: uninstall-ms-lib uninst
+ @OS_WIN32_AND_DLL_COMPILATION_FALSE@uninstall-def-file:
+ 
+ @ENABLE_DTRACE_TRUE@glib_probes.h: glib_probes.d Makefile
+-@ENABLE_DTRACE_TRUE@	$(AM_V_GEN) $(DTRACE) -C -h -s $< -o [email protected]
++@ENABLE_DTRACE_TRUE@	$(AM_V_GEN)  CC="$(CC)" CFLAGS="$(CFLAGS)" $(DTRACE) -C -h -s $< -o [email protected]
+ @ENABLE_DTRACE_TRUE@	@$(SED) -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," < [email protected] > $@ && rm -f [email protected]
+ @ENABLE_DTRACE_TRUE@glib_probes.o: glib_probes.d Makefile
+-@ENABLE_DTRACE_TRUE@	$(AM_V_GEN) $(DTRACE) -G -s $< -o $@
++@ENABLE_DTRACE_TRUE@	$(AM_V_GEN)  CC="$(CC)" CFLAGS="$(CFLAGS)" $(DTRACE) -G -s $< -o $@
+ 
+ gspawn-win32-helper-console.c:
+ 	echo '#define HELPER_CONSOLE' >$@
+Index: glib-2.30.0/gobject/Makefile.am
+===================================================================
+--- glib-2.30.0.orig/gobject/Makefile.am
++++ glib-2.30.0/gobject/Makefile.am
+@@ -141,10 +141,10 @@ gobject_c_sources = \
+ 
+ if ENABLE_DTRACE
+ gobject_probes.h: gobject_probes.d Makefile
+-	$(AM_V_GEN) $(DTRACE) -C -h -s $< -o [email protected]
++	$(AM_V_GEN) CFLAGS="$(CFLAGS)" $(DTRACE) -C -h -s $< -o [email protected]
+ 	@$(SED) -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," < [email protected] > $@ && rm -f [email protected]
+ gobject_probes.o: gobject_probes.d Makefile
+-	$(AM_V_GEN) $(DTRACE) -G -s $< -o $@
++	$(AM_V_GEN) CFLAGS="$(CFLAGS)" $(DTRACE) -G -s $< -o $@
+ BUILT_SOURCES += gobject_probes.h gobject_probes.o
+ CLEANFILES += gobject_probes.h
+ libgobject_2_0_la_LIBADD += gobject_probes.o
+Index: glib-2.30.0/gobject/Makefile.in
+===================================================================
+--- glib-2.30.0.orig/gobject/Makefile.in
++++ glib-2.30.0/gobject/Makefile.in
+@@ -1581,10 +1581,10 @@ uninstall-ms-lib:
+ @OS_WIN32_AND_DLL_COMPILATION_FALSE@uninstall-def-file:
+ 
+ @ENABLE_DTRACE_TRUE@gobject_probes.h: gobject_probes.d Makefile
+-@ENABLE_DTRACE_TRUE@	$(AM_V_GEN) $(DTRACE) -C -h -s $< -o [email protected]
++@ENABLE_DTRACE_TRUE@	$(AM_V_GEN) CFLAGS="$(CFLAGS)" $(DTRACE) -C -h -s $< -o [email protected]
+ @ENABLE_DTRACE_TRUE@	@$(SED) -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," < [email protected] > $@ && rm -f [email protected]
+ @ENABLE_DTRACE_TRUE@gobject_probes.o: gobject_probes.d Makefile
+-@ENABLE_DTRACE_TRUE@	$(AM_V_GEN) $(DTRACE) -G -s $< -o $@
++@ENABLE_DTRACE_TRUE@	$(AM_V_GEN) CFLAGS="$(CFLAGS)" $(DTRACE) -G -s $< -o $@
+ 
+ # This is read by gobject-introspection/misc/ and gtk-doc
+ gobject-public-headers.txt: Makefile
meta/recipes-core/glib-2.0/glib-2.0_2.30.1.bb +2 -1
index 408ab83..bf415a1 100644
@@ -1,6 +1,6 @@
 require glib.inc
 
-PR = "r0"
+PR = "r1"
 PE = "1"
 
 DEPENDS += "libffi python-argparse-native"
@@ -13,6 +13,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.bz2 \
            file://configure-libtool.patch \
            file://60_wait-longer-for-threads-to-die.patch \
            file://g_once_init_enter.patch \
+           file://glib-2.0_fix_for_x32.patch \
           "
 SRC_URI[md5sum] = "921ef2e86e911feb5e21f656f1ac305b"
 SRC_URI[sha256sum] = "4e560319450f31d85b6cdb2b530c3324a510ca04817e360943d0774327d21804"
Signature · 1 line
1.7.6.4
#9 lore raw

PATCH 7/11 libxt: fix compilatoin with x32 toolchain

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

This fixes compilation with x32 toolchain.

---
 .../xorg-lib/libxt/libxt_fix_for_x32.patch         |   19 +++++++++++++++++++
 meta/recipes-graphics/xorg-lib/libxt_1.1.1.bb      |    4 +++-
 2 files changed, 22 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch
meta/recipes-graphics/xorg-lib/libxt/libxt_fix_for_x32.patch new file +19 -0
new file mode 100644
index 0000000..57ddbeb
@@ -0,0 +1,19 @@
+UpstreamStatus: Pending
+
+This fixes compilation with x32 toolchain.
+
+Received this patch from H.J. Lu <[email protected]>
+Signed-Off-By: Nitin A Kamble <[email protected]> 2011/12/1
+
+
+--- libXt-1.1.1/include/X11/Xtos.h.x32	2011-02-08 07:56:40.000000000 -0800
++++ libXt-1.1.1/include/X11/Xtos.h	2011-11-30 17:19:27.473349770 -0800
+@@ -62,7 +62,7 @@ SOFTWARE.
+     defined(__sparc64__) || \
+     defined(__s390x__) || \
+     (defined(__hppa__) && defined(__LP64__)) || \
+-    defined(__amd64__) || defined(amd64) || \
++    ((defined(__amd64__) || defined(amd64)) && defined(__LP64__)) || \
+     defined(__powerpc64__) || \
+     (defined(sgi) && (_MIPS_SZLONG == 64))
+ #define LONG64
meta/recipes-graphics/xorg-lib/libxt_1.1.1.bb +3 -1
index 052431a..5475fc7 100644
@@ -19,11 +19,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=3239170e81427c5948287df07691f03f"
 DEPENDS += "util-linux libxcb libsm virtual/libx11 kbproto libxdmcp"
 PROVIDES = "xt"
 
-PR = "r0"
+PR = "r1"
 PE = "1"
 
 XORG_PN = "libXt"
 
+SRC_URI +=  "file://libxt_fix_for_x32.patch"
+
 BBCLASSEXTEND = "native"
 
 EXTRA_OECONF += "--disable-install-makestrs --disable-xkb"
Signature · 1 line
1.7.6.4
#10 lore raw

PATCH 8/11 liboil: patch source code for x32

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.

This Fixes bug: [YOCTO #1412]

---
 .../liboil/liboil-0.3.17/liboil_fix_for_x32.patch  |  222 ++++++++++++++++++++
 meta/recipes-support/liboil/liboil_0.3.17.bb       |    3 +-
 2 files changed, 224 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch
meta/recipes-support/liboil/liboil-0.3.17/liboil_fix_for_x32.patch new file +222 -0
new file mode 100644
index 0000000..473380e
@@ -0,0 +1,222 @@
+Upstream-Status: Pending
+
+Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
+
+Signed-Off-By: Nitin A Kamble <[email protected]>
+2011/12/01
+
+
+Index: liboil-0.3.17/liboil/amd64/wavelet.c
+===================================================================
+--- liboil-0.3.17.orig/liboil/amd64/wavelet.c
++++ liboil-0.3.17/liboil/amd64/wavelet.c
+@@ -21,14 +21,14 @@ deinterleave2_asm (int16_t *d1, int16_t 
+   asm volatile ("\n"
+       "  sub $2, %%rcx\n"
+       "1:\n"
+-      "  movw (%1,%%rcx,4), %%ax\n"
+-      "  movw %%ax, (%0,%%rcx,2)\n"
+-      "  movw 2(%1,%%rcx,4), %%ax\n"
+-      "  movw %%ax, (%2,%%rcx,2)\n"
+-      "  movw 4(%1,%%rcx,4), %%ax\n"
+-      "  movw %%ax, 2(%0,%%rcx,2)\n"
+-      "  movw 6(%1,%%rcx,4), %%ax\n"
+-      "  movw %%ax, 2(%2,%%rcx,2)\n"
++      "  movw (%q1,%%rcx,4), %%ax\n"
++      "  movw %%ax, (%q0,%%rcx,2)\n"
++      "  movw 2(%q1,%%rcx,4), %%ax\n"
++      "  movw %%ax, (%q2,%%rcx,2)\n"
++      "  movw 4(%q1,%%rcx,4), %%ax\n"
++      "  movw %%ax, 2(%q0,%%rcx,2)\n"
++      "  movw 6(%q1,%%rcx,4), %%ax\n"
++      "  movw %%ax, 2(%q2,%%rcx,2)\n"
+       "  sub $2, %%rcx\n"
+       "  jge 1b\n"
+       : "+r" (d1), "+r" (s_2xn), "+r" (d2), "+c" (n)
+@@ -53,20 +53,20 @@ deinterleave2_mmx (int16_t *d1, int16_t 
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  movq (%1,%%rcx,4), %%mm0\n"
+-      "  movq 8(%1,%%rcx,4), %%mm1\n"
++      "  movq (%q1,%%rcx,4), %%mm0\n"
++      "  movq 8(%q1,%%rcx,4), %%mm1\n"
+       "  pslld $16, %%mm0\n"
+       "  pslld $16, %%mm1\n"
+       "  psrad $16, %%mm0\n"
+       "  psrad $16, %%mm1\n"
+       "  packssdw %%mm1, %%mm0\n"
+-      "  movq %%mm0, (%0,%%rcx,2)\n"
+-      "  movq (%1,%%rcx,4), %%mm0\n"
+-      "  movq 8(%1,%%rcx,4), %%mm1\n"
++      "  movq %%mm0, (%q0,%%rcx,2)\n"
++      "  movq (%q1,%%rcx,4), %%mm0\n"
++      "  movq 8(%q1,%%rcx,4), %%mm1\n"
+       "  psrad $16, %%mm0\n"
+       "  psrad $16, %%mm1\n"
+       "  packssdw %%mm1, %%mm0\n"
+-      "  movq %%mm0, (%2,%%rcx,2)\n"
++      "  movq %%mm0, (%q2,%%rcx,2)\n"
+       "  add $4, %%rcx\n"
+       "  cmp %3, %%ecx\n"
+       "  jl 1b\n"
+@@ -93,10 +93,10 @@ deinterleave2_mmx_2 (int16_t *d1, int16_
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  pshufw $0xd8, (%1,%%rcx,4), %%mm0\n"
+-      "  movd %%mm0, (%0,%%rcx,2)\n"
+-      "  pshufw $0x8d, (%1,%%rcx,4), %%mm0\n"
+-      "  movd %%mm0, (%2,%%rcx,2)\n"
++      "  pshufw $0xd8, (%q1,%%rcx,4), %%mm0\n"
++      "  movd %%mm0, (%q0,%%rcx,2)\n"
++      "  pshufw $0x8d, (%q1,%%rcx,4), %%mm0\n"
++      "  movd %%mm0, (%q2,%%rcx,2)\n"
+       "  add $2, %%rcx\n"
+       "  cmp %3, %%ecx\n"
+       "  jl 1b\n"
+@@ -123,16 +123,16 @@ deinterleave2_mmx_3 (int16_t *d1, int16_
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  movq (%1,%%rcx,4), %%mm1\n"
+-      "  movq (%1,%%rcx,4), %%mm2\n"
+-      "  movq 8(%1,%%rcx,4), %%mm0\n"
++      "  movq (%q1,%%rcx,4), %%mm1\n"
++      "  movq (%q1,%%rcx,4), %%mm2\n"
++      "  movq 8(%q1,%%rcx,4), %%mm0\n"
+       "  punpcklwd %%mm0, %%mm1\n"
+       "  punpckhwd %%mm0, %%mm2\n"
+       "  movq %%mm1, %%mm0\n"
+       "  punpcklwd %%mm2, %%mm0\n"
+       "  punpckhwd %%mm2, %%mm1\n"
+-      "  movq %%mm0, (%0,%%rcx,2)\n"
+-      "  movq %%mm1, (%2,%%rcx,2)\n"
++      "  movq %%mm0, (%q0,%%rcx,2)\n"
++      "  movq %%mm1, (%q2,%%rcx,2)\n"
+       "  add $4, %%rcx\n"
+       "  cmp %3, %%ecx\n"
+       "  jl 1b\n"
+@@ -159,26 +159,26 @@ deinterleave2_mmx_4 (int16_t *d1, int16_
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  movq (%1,%%rcx,4), %%mm1\n"
++      "  movq (%q1,%%rcx,4), %%mm1\n"
+       "  movq %%mm1, %%mm2\n"
+-      "  movq 8(%1,%%rcx,4), %%mm0\n"
+-      "   movq 16(%1,%%rcx,4), %%mm5\n"
++      "  movq 8(%q1,%%rcx,4), %%mm0\n"
++      "   movq 16(%q1,%%rcx,4), %%mm5\n"
+       "  punpcklwd %%mm0, %%mm1\n"
+       "   movq %%mm5, %%mm6\n"
+       "  punpckhwd %%mm0, %%mm2\n"
+-      "   movq 24(%1,%%rcx,4), %%mm4\n"
++      "   movq 24(%q1,%%rcx,4), %%mm4\n"
+       "  movq %%mm1, %%mm0\n"
+       "   punpcklwd %%mm4, %%mm5\n"
+       "  punpcklwd %%mm2, %%mm0\n"
+       "   punpckhwd %%mm4, %%mm6\n"
+       "  punpckhwd %%mm2, %%mm1\n"
+       "   movq %%mm5, %%mm4\n"
+-      "  movq %%mm0, (%0,%%rcx,2)\n"
++      "  movq %%mm0, (%q0,%%rcx,2)\n"
+       "   punpcklwd %%mm6, %%mm4\n"
+-      "  movq %%mm1, (%2,%%rcx,2)\n"
++      "  movq %%mm1, (%q2,%%rcx,2)\n"
+       "   punpckhwd %%mm6, %%mm5\n"
+-      "   movq %%mm4, 8(%0,%%rcx,2)\n"
+-      "   movq %%mm5, 8(%2,%%rcx,2)\n"
++      "   movq %%mm4, 8(%q0,%%rcx,2)\n"
++      "   movq %%mm5, 8(%q2,%%rcx,2)\n"
+       "  add $8, %%rcx\n"
+       "  cmp %3, %%ecx\n"
+       "  jl 1b\n"
+@@ -252,13 +252,13 @@ interleave2_mmx (int16_t *d_2xn, int16_t
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  movq (%1,%%rcx,2), %%mm0\n"
+-      "  movq (%2,%%rcx,2), %%mm1\n"
++      "  movq (%q1,%%rcx,2), %%mm0\n"
++      "  movq (%q2,%%rcx,2), %%mm1\n"
+       "  movq %%mm0, %%mm2\n"
+       "  punpckhwd %%mm1, %%mm0\n"
+       "  punpcklwd %%mm1, %%mm2\n"
+-      "  movq %%mm2, (%0,%%rcx,4)\n"
+-      "  movq %%mm0, 8(%0,%%rcx,4)\n"
++      "  movq %%mm2, (%q0,%%rcx,4)\n"
++      "  movq %%mm0, 8(%q0,%%rcx,4)\n"
+       "  add $4, %%rcx\n"
+       "  cmp %3, %%ecx\n"
+       "  jl 1b\n"
+@@ -285,12 +285,12 @@ lift_add_shift1_mmx (int16_t *d, int16_t
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  movq (%2,%%rcx,2), %%mm1\n"
+-      "  movq (%3,%%rcx,2), %%mm2\n"
++      "  movq (%q2,%%rcx,2), %%mm1\n"
++      "  movq (%q3,%%rcx,2), %%mm2\n"
+       "  paddw %%mm2, %%mm1\n"
+       "  psraw $1, %%mm1\n"
+-      "  paddw (%1,%%rcx,2), %%mm1\n"
+-      "  movq %%mm1, (%0,%%rcx,2)\n"
++      "  paddw (%q1,%%rcx,2), %%mm1\n"
++      "  movq %%mm1, (%q0,%%rcx,2)\n"
+       "  add $4, %%rcx\n"
+       "  cmp %4, %%ecx\n"
+       "  jl 1b\n"
+@@ -317,13 +317,13 @@ lift_sub_shift1_mmx (int16_t *d, int16_t
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  movq (%2,%%rcx,2), %%mm1\n"
+-      "  movq (%3,%%rcx,2), %%mm2\n"
+-      "  movq (%1,%%rcx,2), %%mm0\n"
++      "  movq (%q2,%%rcx,2), %%mm1\n"
++      "  movq (%q3,%%rcx,2), %%mm2\n"
++      "  movq (%q1,%%rcx,2), %%mm0\n"
+       "  paddw %%mm2, %%mm1\n"
+       "  psraw $1, %%mm1\n"
+       "  psubw %%mm1, %%mm0\n"
+-      "  movq %%mm0, (%0,%%rcx,2)\n"
++      "  movq %%mm0, (%q0,%%rcx,2)\n"
+       "  add $4, %%rcx\n"
+       "  cmp %4, %%ecx\n"
+       "  jl 1b\n"
+@@ -350,12 +350,12 @@ lift_add_shift2_mmx (int16_t *d, int16_t
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  movq (%2,%%rcx,2), %%mm1\n"
+-      "  movq (%3,%%rcx,2), %%mm2\n"
++      "  movq (%q2,%%rcx,2), %%mm1\n"
++      "  movq (%q3,%%rcx,2), %%mm2\n"
+       "  paddw %%mm2, %%mm1\n"
+       "  psraw $2, %%mm1\n"
+-      "  paddw (%1,%%rcx,2), %%mm1\n"
+-      "  movq %%mm1, (%0,%%rcx,2)\n"
++      "  paddw (%q1,%%rcx,2), %%mm1\n"
++      "  movq %%mm1, (%q0,%%rcx,2)\n"
+       "  add $4, %%rcx\n"
+       "  cmp %4, %%ecx\n"
+       "  jl 1b\n"
+@@ -382,13 +382,13 @@ lift_sub_shift2_mmx (int16_t *d, int16_t
+   asm volatile ("\n"
+       "  xor %%rcx, %%rcx\n"
+       "1:\n"
+-      "  movq (%2,%%rcx,2), %%mm1\n"
+-      "  movq (%3,%%rcx,2), %%mm2\n"
+-      "  movq (%1,%%rcx,2), %%mm0\n"
++      "  movq (%q2,%%rcx,2), %%mm1\n"
++      "  movq (%q3,%%rcx,2), %%mm2\n"
++      "  movq (%q1,%%rcx,2), %%mm0\n"
+       "  paddw %%mm2, %%mm1\n"
+       "  psraw $2, %%mm1\n"
+       "  psubw %%mm1, %%mm0\n"
+-      "  movq %%mm0, (%0,%%rcx,2)\n"
++      "  movq %%mm0, (%q0,%%rcx,2)\n"
+       "  add $4, %%rcx\n"
+       "  cmp %4, %%ecx\n"
+       "  jl 1b\n"
meta/recipes-support/liboil/liboil_0.3.17.bb +2 -1
index 10a845e..b1e21ab 100644
@@ -10,12 +10,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ad80780d9c5205d63481a0184e199a15 \
                     file://testsuite/trans.c;endline=29;md5=380ecd43121fe3dcc0d8d7e5984f283d"
 
 DEPENDS = "glib-2.0"
-PR = "r4"
+PR = "r5"
 
 SRC_URI = "http://liboil.freedesktop.org/download/${BPN}-${PV}.tar.gz \
            file://no-tests.patch \
            file://fix-unaligned-whitelist.patch \
            file://0001-Fix-enable-vfp-flag.patch \
+           file://liboil_fix_for_x32.patch \
           "
 
 SRC_URI[md5sum] = "47dc734f82faeb2964d97771cfd2e701"
Signature · 1 line
1.7.6.4
#11 lore raw

PATCH 9/11 xproto: fix compilation with x32 toolchain

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

Don't always define LONG64 for AMD64

X32 defines __amd64__/amd64 with 32bit long. We should simply check __LP64__ before defining LONG64 without checking __amd64__/amd64.

This fixes compilation with x32 toolchain.

---
 .../xorg-proto/xproto/xproto_fix_for_x32.patch     |   22 ++++++++++++++++++++
 meta/recipes-graphics/xorg-proto/xproto_7.0.22.bb  |    4 ++-
 2 files changed, 25 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch
meta/recipes-graphics/xorg-proto/xproto/xproto_fix_for_x32.patch new file +22 -0
new file mode 100644
index 0000000..c9fbb6f
@@ -0,0 +1,22 @@
+UpstreamStatus: Pending
+
+Don't always define LONG64 for AMD64
+    
+X32 defines __amd64__/amd64 with 32bit long.  We should simply check
+__LP64__ before defining LONG64 without checking __amd64__/amd64.
+
+This fixes compilation with x32 toolchain.
+
+Received this patch from H.J. Lu <[email protected]>
+Signed-Off-By: Nitin A Kamble <[email protected]> 2011/12/1
+
+--- xproto-7.0.22/Xmd.h.x32	2009-07-11 04:19:50.000000000 -0700
++++ xproto-7.0.22/Xmd.h	2011-11-30 17:14:19.290395893 -0800
+@@ -62,7 +62,6 @@ SOFTWARE.
+      defined(__ia64__) || defined(ia64) || \
+      defined(__sparc64__) || \
+      defined(__s390x__) || \
+-     defined(__amd64__) || defined(amd64) || \
+      defined(__powerpc64__)
+ #  define LONG64				/* 32/64-bit architecture */
+ # endif
meta/recipes-graphics/xorg-proto/xproto_7.0.22.bb +3 -1
index 54f8482..8f76314 100644
@@ -8,9 +8,11 @@ System."
 LICENSE = "MIT & MIT-style"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b9e051107d5628966739a0b2e9b32676"
 
-PR = "r0"
+PR = "r1"
 PE = "1"
 
+SRC_URI += "file://xproto_fix_for_x32.patch"
+
 EXTRA_OECONF_append = " --enable-specs=no"
 BBCLASSEXTEND = "native nativesdk"
 
Signature · 1 line
1.7.6.4
#12 lore raw

PATCH 10/11 libaio: patch source code for x32

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

This Fixes bug: [YOCTO #1417]

Properly load arguments 5 an 6 for x86-64 syscall
Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64 syscall so that it works with both x32 and x86-64.

---
 .../libaio/libaio/libaio_fix_for_x32.patch         |   61 ++++++++++++++++++++
 meta/recipes-extended/libaio/libaio_0.3.109.bb     |    5 +-
 2 files changed, 64 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-extended/libaio/libaio/libaio_fix_for_x32.patch
meta/recipes-extended/libaio/libaio/libaio_fix_for_x32.patch new file +61 -0
new file mode 100644
index 0000000..508f5a1
@@ -0,0 +1,61 @@
+Upstream-Status: Pending
+
+Properly load arguments 5 an 6 for x86-64 syscall
+Use asm ("r10") and asm ("r8") to load arguments 5 an 6 for x86-64
+syscall so that it works with both x32 and x86-64.
+
+Received this patch from H.J. Lu <[email protected]>
+
+Signed-Off-By: Nitin A Kamble <[email protected]>
+2011/12/02
+
+--- libaio-0.3.109/src/syscall-x86_64.h.x32	2009-10-09 11:17:02.000000000 -0700
++++ libaio-0.3.109/src/syscall-x86_64.h	2011-12-02 09:09:07.537603224 -0800
+@@ -1,8 +1,18 @@
++#ifndef __NR_io_setup
+ #define __NR_io_setup		206
++#endif
++#ifndef __NR_io_destroy
+ #define __NR_io_destroy		207
++#endif
++#ifndef __NR_io_getevents
+ #define __NR_io_getevents	208
++#endif
++#ifndef __NR_io_submit
+ #define __NR_io_submit		209
++#endif
++#ifndef __NR_io_cancel
+ #define __NR_io_cancel		210
++#endif
+ 
+ #define __syscall_clobber "r11","rcx","memory" 
+ #define __syscall "syscall"
+@@ -42,10 +52,11 @@ return __res;								\
+ type fname (type1 arg1, type2 arg2, type3 arg3, type4 arg4)		\
+ {									\
+ long __res;								\
+-__asm__ volatile ("movq %5,%%r10 ;" __syscall				\
++register long __a4 asm ("r10") = (long) arg4;				\
++__asm__ volatile (__syscall						\
+ 	: "=a" (__res)							\
+ 	: "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)),	\
+-	  "d" ((long)(arg3)),"g" ((long)(arg4)) : __syscall_clobber,"r10" ); \
++	  "d" ((long)(arg3)),"r" (__a4)); \
+ return __res;								\
+ } 
+ 
+@@ -54,10 +65,11 @@ return __res;								\
+ type fname (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5)	\
+ {									\
+ long __res;								\
+-__asm__ volatile ("movq %5,%%r10 ; movq %6,%%r8 ; " __syscall		\
++register long __a4 asm ("r10") = (long) arg4;				\
++register long __a5 asm ("r8") = (long) arg5;				\
++__asm__ volatile ( __syscall						\
+ 	: "=a" (__res)							\
+ 	: "0" (__NR_##sname),"D" ((long)(arg1)),"S" ((long)(arg2)),	\
+-	  "d" ((long)(arg3)),"g" ((long)(arg4)),"g" ((long)(arg5)) :	\
+-	__syscall_clobber,"r8","r10" );					\
++	  "d" ((long)(arg3)),"r" (__a4),"r" (__a5));			\
+ return __res;								\
+ }
meta/recipes-extended/libaio/libaio_0.3.109.bb +3 -2
index 869b2da..161b712 100644
@@ -5,12 +5,13 @@ HOMEPAGE = "http://lse.sourceforge.net/io/aio.html"
 LICENSE = "LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
 
-PR = "r0"
+PR = "r1"
 
 SRC_URI = "${DEBIAN_MIRROR}/main/liba/libaio/libaio_${PV}.orig.tar.gz \
            file://00_arches.patch \
            file://toolchain.patch \
-           file://destdir.patch"
+           file://destdir.patch \
+           file://libaio_fix_for_x32.patch"
 
 SRC_URI[md5sum] = "435a5b16ca6198eaf01155263d855756"
 SRC_URI[sha256sum] = "bf4a457253cbaab215aea75cb6e18dc8d95bbd507e9920661ff9bdd288c8778d"
Signature · 1 line
1.7.6.4
#13 lore raw

PATCH 11/11 libatomics-ops: patch source code for x32

In reply to [email protected]

From: Nitin A Kamble <[email protected]>

This Fixes bug: [YOCTO #1418]

Remove the `q' suffix on x86-64 atomic instructions.

We don't need the `q' suffix on x86_64 atomic instructions for AO_t, which is defined as "unsigned long". "unsigned long" is 32bit for x32 and 64bit for x86-64. The register operand in x86-64 atomic instructions is sufficient to properly determine the register size.

---
 .../libatomics-ops_fix_for_x32.patch               |   41 ++++++++++++++++++++
 .../pulseaudio/libatomics-ops_1.2.bb               |    5 +-
 2 files changed, 44 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-multimedia/pulseaudio/libatomics-ops/libatomics-ops_fix_for_x32.patch
meta/recipes-multimedia/pulseaudio/libatomics-ops/libatomics-ops_fix_for_x32.patch new file +41 -0
new file mode 100644
index 0000000..1768606
@@ -0,0 +1,41 @@
+Upstream-Status: Pending
+
+Remove the `q' suffix on x86-64 atomic instructions.
+
+We don't need the `q' suffix on x86_64 atomic instructions for AO_t,
+which is defined as "unsigned long".  "unsigned long" is 32bit for x32
+and 64bit for x86-64. The register operand in x86-64 atomic instructions
+is sufficient to properly determine the register size.
+
+Received this patch from H.J. Lu <[email protected]>
+Signed-Off-By: Nitin A Kamble <[email protected]> 2011/12/02
+
+--- libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h.x32	2005-09-28 17:16:38.000000000 -0700
++++ libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/x86_64.h	2011-12-02 09:29:54.265251875 -0800
+@@ -60,7 +60,7 @@ AO_fetch_and_add_full (volatile AO_t *p,
+ {
+   AO_t result;
+ 
+-  __asm__ __volatile__ ("lock; xaddq %0, %1" :
++  __asm__ __volatile__ ("lock; xadd %0, %1" :
+ 			"=r" (result), "=m" (*p) : "0" (incr), "m" (*p)
+ 			: "memory");
+   return result;
+@@ -111,7 +111,7 @@ AO_int_fetch_and_add_full (volatile unsi
+ AO_INLINE void
+ AO_or_full (volatile AO_t *p, AO_t incr)
+ {
+-  __asm__ __volatile__ ("lock; orq %1, %0" :
++  __asm__ __volatile__ ("lock; or %1, %0" :
+ 			"=m" (*p) : "r" (incr), "m" (*p) : "memory");
+ }
+ 
+@@ -136,7 +136,7 @@ AO_compare_and_swap_full(volatile AO_t *
+ 		  	     AO_t old, AO_t new_val) 
+ {
+   char result;
+-  __asm__ __volatile__("lock; cmpxchgq %3, %0; setz %1"
++  __asm__ __volatile__("lock; cmpxchg %3, %0; setz %1"
+ 	    	       : "=m"(*addr), "=q"(result)
+ 		       : "m"(*addr), "r" (new_val), "a"(old) : "memory");
+   return (int) result;
meta/recipes-multimedia/pulseaudio/libatomics-ops_1.2.bb +3 -2
index c84917a..184c167 100644
@@ -6,12 +6,13 @@ LICENSE = "GPLv2 & MIT"
 LIC_FILES_CHKSUM = "file://doc/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
                     file://doc/LICENSING.txt;md5=607073e04548eac7d1f763e480477bab \
 		   "
-PR = "r7"
+PR = "r8"
 
 SRC_URI = "http://www.hpl.hp.com/research/linux/atomic_ops/download/libatomic_ops-${PV}.tar.gz \
            file://fedora/libatomic_ops-1.2-ppclwzfix.patch \
            file://gentoo/libatomic_ops-1.2-mips.patch \
-           file://doublefix.patch"
+           file://doublefix.patch \
+           file://libatomics-ops_fix_for_x32.patch"
 
 SRC_URI[md5sum] = "1b65e48271c81e3fa2d7a9a69bab7504"
 SRC_URI[sha256sum] = "a3d8768aa8fd2f6ae79be2d756b3a6b48816b3889ae906be3d5ffb2de5a5c781"
Signature · 1 line
1.7.6.4
#14 lore raw

Re: [PATCH 01/11] gst-fluendo-mpegdemux: rework the CC hack

In reply to [email protected]
Quoted 20 lines · On Fri, Dec 2, 2011 at 12:19 PM, <[email protected]> wrote:

From: Nitin A Kamble <[email protected]>

This fixes bug: [YOCTO #1403]

Earlier hack was breaking compiler parameters set by tune settings. And that caused x32 build failure. Now previous CC parameters are kept intact while adding new -L parameter.

---
 meta/recipes-multimedia/gstreamer/gst-fluendo.inc |    2 +-

 1 files changed, 1 insertions(+), 1 deletions(-)
meta/recipes-multimedia/gstreamer/gst-fluendo.inc +0 -0
index 203bdba..9615454 100644
@@ -14,5 +14,5 @@ FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a"

 EXTRA_OECONF = "--disable-debug --disable-valgrind"

 # Hack to get STAGING_LIBDIR into the linker path when building

meta/recipes-multimedia/gstreamer/gst-fluendo.inc FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a" · line 17

Quoted 2 lines
meta/recipes-multimedia/gstreamer/gst-fluendo.inc +1 -1
-CC = "${CCACHE} ${HOST_PREFIX}gcc -L${STAGING_LIBDIR}"
+CC += "-L${STAGING_LIBDIR}"

This looks like part of LDFLAGS more than CC to me.

#15 lore raw

Re: [PATCH 01/11] gst-fluendo-mpegdemux: rework the CC hack

Hi Khem,
Makes sense. Will try to change the fix accordingly.
Thanks,
Nitin

Quoted 44 lines

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Khem Raj
Sent: Saturday, December 03, 2011 9:53 AM
To: Patches and discussions about the oe-core layer
Cc: [email protected]
Subject: Re: [OE-core] [PATCH 01/11] gst-fluendo-mpegdemux: rework the CC hack

Quoted 5 lines · On Fri, Dec 2, 2011 at 12:19 PM, <[email protected]> wrote:

From: Nitin A Kamble <[email protected]>

This fixes bug: [YOCTO #1403]

Earlier hack was breaking compiler parameters set by tune settings.

And that caused x32

Quoted 1 line

build failure. Now previous CC parameters are kept intact while

adding new -L parameter.

Review

Quoted 7 lines

---
 meta/recipes-multimedia/gstreamer/gst-fluendo.inc |    2 +-

 1 files changed, 1 insertions(+), 1 deletions(-)
(quoted diff) +0 -0

b/meta/recipes-multimedia/gstreamer/gst-fluendo.inc

meta/recipes-multimedia/gstreamer/gst-fluendo.inc FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la

Quoted 4 lines

index 203bdba..9615454 100644

meta/recipes-multimedia/gstreamer/gst-fluendo.inc +0 -0
@@ -14,5 +14,5 @@ FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la

${libdir}/gstreamer-0.10/*.a"

meta/recipes-multimedia/gstreamer/gst-fluendo.inc FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a" · line 17

Quoted 5 lines

 EXTRA_OECONF = "--disable-debug --disable-valgrind"

 # Hack to get STAGING_LIBDIR into the linker path when building

meta/recipes-multimedia/gstreamer/gst-fluendo.inc +1 -1
-CC = "${CCACHE} ${HOST_PREFIX}gcc -L${STAGING_LIBDIR}"
+CC += "-L${STAGING_LIBDIR}"

This looks like part of LDFLAGS more than CC to me.

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#16 lore raw
In reply to [email protected]
Quoted 16 lines · On Fri, 2011-12-02 at 12:19 -0800, [email protected] wrote:

From: Nitin A Kamble <[email protected]>

These commits fixes building of various recipes with x32 toolchain for x32 target/machines. And these do not affect these recipes for other non-x32 targets.

X32 is new ABI for x86-64 architecture.
For more information refer: https://sites.google.com/site/x32abi/

Thanks,
Nitin

The following changes since commit 9be6d59b78510443d0944513503d515df13caa45:

dpkg-native: Fix perl path (2011-12-02 15:31:08 +0000)

Quoted 7 lines

are available in the git repository at:
git://git.pokylinux.org/poky-contrib nitin/x32
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin.x32

Nitin A Kamble (11):
gst-fluendo-mpegdemux: rework the CC hack
mdadm: fix CC definition in the Makefile

There was some feedback on these which I haven't looked into fully.

Quoted 9 lines

openssl-1.0.0e: fix to wotk with x32 toolchain
gmp: fix the recipe for x32 target
mesa-dri, mesa-xlib: fix compilation with x32 toolchain glib-2.0: fix compilatoin with x32 toolchain
libxt: fix compilatoin with x32 toolchain
liboil: patch source code for x32
xproto: fix compilation with x32 toolchain
libaio: patch source code for x32
libatomics-ops: patch source code for x32

These looked reasonable so I've merged them, thanks.

Richard