All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] -fPIC for libgpg-error's CFLAGS
@ 2009-07-19 22:33 Otavio Salvador
  2009-07-19 22:33 ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Otavio Salvador
  2009-08-09 13:23 ` [PATCH 1/3] -fPIC for libgpg-error's CFLAGS Holger Hans Peter Freyther
  0 siblings, 2 replies; 13+ messages in thread
From: Otavio Salvador @ 2009-07-19 22:33 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Otavio Salvador

From: Mario Domenech Goulart <mario@ossystems.com.br>

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 recipes/libgpg-error/libgpg-error.inc |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/recipes/libgpg-error/libgpg-error.inc b/recipes/libgpg-error/libgpg-error.inc
index 400c166..6b6249c 100644
--- a/recipes/libgpg-error/libgpg-error.inc
+++ b/recipes/libgpg-error/libgpg-error.inc
@@ -8,7 +8,7 @@ DEPENDS += "virtual/libiconv"
 SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${PV}.tar.gz \
 	   file://pkgconfig.patch;patch=1"
 
-INC_PR = "r6"
+INC_PR = "r7"
 
 # move libgpg-error-config into -dev package
 FILES_${PN} = "${libdir}/lib*.so.*"
@@ -16,6 +16,8 @@ FILES_${PN}-dev += "${bindir}/*"
 
 inherit autotools binconfig pkgconfig gettext
 
+CFLAGS += "-fPIC"
+
 do_stage() {
 	oe_libinstall -a -so -C src libgpg-error ${STAGING_LIBDIR}
 	install -d ${STAGING_BINDIR_CROSS}/
-- 
1.6.3.3.385.g60647




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

* [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-07-19 22:33 [PATCH 1/3] -fPIC for libgpg-error's CFLAGS Otavio Salvador
@ 2009-07-19 22:33 ` Otavio Salvador
  2009-07-19 22:33   ` [PATCH 3/3] Avoids overwriting Python's built-in `str' in get_devtable_list Otavio Salvador
                     ` (2 more replies)
  2009-08-09 13:23 ` [PATCH 1/3] -fPIC for libgpg-error's CFLAGS Holger Hans Peter Freyther
  1 sibling, 3 replies; 13+ messages in thread
From: Otavio Salvador @ 2009-07-19 22:33 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Otavio Salvador

From: Mario Domenech Goulart <mario@ossystems.com.br>

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 ...Use-__always_inline-instead-of-__inline__.patch |  393 ++++++++++++++++++++
 recipes/uclibc/uclibc_0.9.30.1.bb                  |    1 +
 2 files changed, 394 insertions(+), 0 deletions(-)
 create mode 100644 recipes/uclibc/uclibc-0.9.30.1/0001-Use-__always_inline-instead-of-__inline__.patch

diff --git a/recipes/uclibc/uclibc-0.9.30.1/0001-Use-__always_inline-instead-of-__inline__.patch b/recipes/uclibc/uclibc-0.9.30.1/0001-Use-__always_inline-instead-of-__inline__.patch
new file mode 100644
index 0000000..a9c7a4f
--- /dev/null
+++ b/recipes/uclibc/uclibc-0.9.30.1/0001-Use-__always_inline-instead-of-__inline__.patch
@@ -0,0 +1,393 @@
+From c190f738e1b0e87658ea5f86c057fb147dc19428 Mon Sep 17 00:00:00 2001
+From: Carmelo Amoroso <carmelo.amoroso@st.com>
+Date: Thu, 5 Mar 2009 13:28:55 +0000
+Subject: [PATCH] Use __always_inline instead of __inline__
+
+---
+ ldso/ldso/arm/dl-sysdep.h     |    8 ++++----
+ ldso/ldso/bfin/dl-sysdep.h    |    2 +-
+ ldso/ldso/cris/dl-sysdep.h    |    6 +++---
+ ldso/ldso/i386/dl-sysdep.h    |   10 +++++-----
+ ldso/ldso/m68k/dl-sysdep.h    |    6 +++---
+ ldso/ldso/mips/dl-sysdep.h    |    8 ++++----
+ ldso/ldso/powerpc/dl-sysdep.h |    8 ++++----
+ ldso/ldso/sh/dl-sysdep.h      |    8 ++++----
+ ldso/ldso/sh64/dl-sysdep.h    |    6 +++---
+ ldso/ldso/sparc/dl-sysdep.h   |    8 ++++----
+ ldso/ldso/xtensa/dl-sysdep.h  |    6 +++---
+ 11 files changed, 38 insertions(+), 38 deletions(-)
+
+diff --git a/ldso/ldso/arm/dl-sysdep.h b/ldso/ldso/arm/dl-sysdep.h
+index eea3b98..5191dd7 100644
+--- a/ldso/ldso/arm/dl-sysdep.h
++++ b/ldso/ldso/arm/dl-sysdep.h
+@@ -15,7 +15,7 @@
+   GOT_BASE[1] = (unsigned long) MODULE; \
+ }
+ 
+-static __inline__ unsigned long arm_modulus(unsigned long m, unsigned long p)
++static __always_inline unsigned long arm_modulus(unsigned long m, unsigned long p)
+ {
+ 	unsigned long i,t,inc;
+ 	i=p; t=0;
+@@ -67,7 +67,7 @@ unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
+    first element of the GOT.  We used to use the PIC register to do this
+    without a constant pool reference, but GCC 4.2 will use a pseudo-register
+    for the PIC base, so it may not be in r10.  */
+-static __inline__ Elf32_Addr __attribute__ ((unused))
++static __always_inline Elf32_Addr __attribute__ ((unused))
+ elf_machine_dynamic (void)
+ {
+   Elf32_Addr dynamic;
+@@ -99,7 +99,7 @@ elf_machine_dynamic (void)
+ }
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ Elf32_Addr __attribute__ ((unused))
++static __always_inline Elf32_Addr __attribute__ ((unused))
+ elf_machine_load_address (void)
+ {
+ 	extern void __dl_start __asm__ ("_dl_start");
+@@ -123,7 +123,7 @@ elf_machine_load_address (void)
+ 	return pcrel_addr - got_addr;
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
+ 		      Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/bfin/dl-sysdep.h b/ldso/ldso/bfin/dl-sysdep.h
+index 3c88da4..f0c5129 100644
+--- a/ldso/ldso/bfin/dl-sysdep.h
++++ b/ldso/ldso/bfin/dl-sysdep.h
+@@ -210,7 +210,7 @@ while (0)
+ #endif
+ 
+ #include <elf.h>
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (DL_LOADADDR_TYPE load_off, const Elf32_Addr rel_addr,
+ 		      Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/cris/dl-sysdep.h b/ldso/ldso/cris/dl-sysdep.h
+index ffb763a..e454c10 100644
+--- a/ldso/ldso/cris/dl-sysdep.h
++++ b/ldso/ldso/cris/dl-sysdep.h
+@@ -37,7 +37,7 @@ extern unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entr
+      || ((type) == R_CRIS_GLOB_DAT)) * ELF_RTYPE_CLASS_PLT)	\
+    | (((type) == R_CRIS_COPY) * ELF_RTYPE_CLASS_COPY))
+ 
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr
+ elf_machine_dynamic(void)
+ {
+ 	/* Don't just set this to an asm variable "r0" since that's not logical
+@@ -59,7 +59,7 @@ elf_machine_dynamic(void)
+    there's some other symbol we could use, that we don't *have* to force a
+    GOT entry for.  */
+ 
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr
+ elf_machine_load_address(void)
+ {
+ 	Elf32_Addr gotaddr_diff;
+@@ -93,7 +93,7 @@ elf_machine_load_address(void)
+ 	return gotaddr_diff;
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
+                      Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/i386/dl-sysdep.h b/ldso/ldso/i386/dl-sysdep.h
+index 77fa372..6e84861 100644
+--- a/ldso/ldso/i386/dl-sysdep.h
++++ b/ldso/ldso/i386/dl-sysdep.h
+@@ -37,8 +37,8 @@ extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_ent
+ /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
+    first element of the GOT.  This must be inlined in a function which
+    uses global data.  */
+-static __inline__ Elf32_Addr elf_machine_dynamic (void) attribute_unused;
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr elf_machine_dynamic (void) attribute_unused;
++static __always_inline Elf32_Addr
+ elf_machine_dynamic (void)
+ {
+ 	register Elf32_Addr *got __asm__ ("%ebx");
+@@ -47,8 +47,8 @@ elf_machine_dynamic (void)
+ 
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ Elf32_Addr elf_machine_load_address (void) attribute_unused;
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr elf_machine_load_address (void) attribute_unused;
++static __always_inline Elf32_Addr
+ elf_machine_load_address (void)
+ {
+ 	/* It doesn't matter what variable this is, the reference never makes
+@@ -61,7 +61,7 @@ elf_machine_load_address (void)
+ 	return addr;
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
+ 		      Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/m68k/dl-sysdep.h b/ldso/ldso/m68k/dl-sysdep.h
+index 8e26e20..259cb84 100644
+--- a/ldso/ldso/m68k/dl-sysdep.h
++++ b/ldso/ldso/m68k/dl-sysdep.h
+@@ -39,7 +39,7 @@ extern unsigned long _dl_linux_resolver (struct elf_resolve *, int);
+ /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
+    first element of the GOT.  This must be inlined in a function which
+    uses global data.  */
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr
+ elf_machine_dynamic (void)
+ {
+ 	register Elf32_Addr *got __asm__ ("%a5");
+@@ -48,7 +48,7 @@ elf_machine_dynamic (void)
+ 
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr
+ elf_machine_load_address (void)
+ {
+ 	Elf32_Addr addr;
+@@ -58,7 +58,7 @@ elf_machine_load_address (void)
+ 	return addr;
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
+ 		      Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/mips/dl-sysdep.h b/ldso/ldso/mips/dl-sysdep.h
+index cf6b28b..30d84fb 100644
+--- a/ldso/ldso/mips/dl-sysdep.h
++++ b/ldso/ldso/mips/dl-sysdep.h
+@@ -169,7 +169,7 @@ void _dl_perform_mips_global_got_relocations(struct elf_resolve *tpnt, int lazy)
+ 
+ #define OFFSET_GP_GOT 0x7ff0
+ 
+-static __inline__ ElfW(Addr) *
++static __always_inline ElfW(Addr) *
+ elf_mips_got_from_gpreg (ElfW(Addr) gpreg)
+ {
+ 	/* FIXME: the offset of gp from GOT may be system-dependent. */
+@@ -179,7 +179,7 @@ elf_mips_got_from_gpreg (ElfW(Addr) gpreg)
+ /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
+    first element of the GOT.  This must be inlined in a function which
+    uses global data.  We assume its $gp points to the primary GOT.  */
+-static __inline__ ElfW(Addr)
++static __always_inline ElfW(Addr)
+ elf_machine_dynamic (void)
+ {
+ 	register ElfW(Addr) gp __asm__ ("$28");
+@@ -198,7 +198,7 @@ elf_machine_dynamic (void)
+ #endif
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ ElfW(Addr)
++static __always_inline ElfW(Addr)
+ elf_machine_load_address (void)
+ {
+ 	ElfW(Addr) addr;
+@@ -214,7 +214,7 @@ elf_machine_load_address (void)
+ 	return addr;
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (ElfW(Addr) load_off, const ElfW(Addr) rel_addr,
+ 		      ElfW(Word) relative_count)
+ {
+diff --git a/ldso/ldso/powerpc/dl-sysdep.h b/ldso/ldso/powerpc/dl-sysdep.h
+index fdbf564..f33214c 100644
+--- a/ldso/ldso/powerpc/dl-sysdep.h
++++ b/ldso/ldso/powerpc/dl-sysdep.h
+@@ -85,7 +85,7 @@ void _dl_init_got(unsigned long *lpnt,struct elf_resolve *tpnt);
+ #define ELF_MACHINE_PLTREL_OVERLAP 1
+ 
+ /* Return the value of the GOT pointer.  */
+-static __inline__ Elf32_Addr * __attribute__ ((const))
++static __always_inline Elf32_Addr * __attribute__ ((const))
+ ppc_got (void)
+ {
+ 	Elf32_Addr *got;
+@@ -104,14 +104,14 @@ ppc_got (void)
+ 
+ /* Return the link-time address of _DYNAMIC, stored as
+    the first value in the GOT. */
+-static __inline__ Elf32_Addr __attribute__ ((const))
++static __always_inline Elf32_Addr __attribute__ ((const))
+ elf_machine_dynamic (void)
+ {
+ 	return *ppc_got();
+ }
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ Elf32_Addr __attribute__ ((const))
++static __always_inline Elf32_Addr __attribute__ ((const))
+ elf_machine_load_address (void)
+ {
+   Elf32_Addr *branchaddr;
+@@ -159,7 +159,7 @@ elf_machine_load_address (void)
+   return runtime_dynamic - elf_machine_dynamic ();
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
+ 		      Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/sh/dl-sysdep.h b/ldso/ldso/sh/dl-sysdep.h
+index daedda5..d4fc784 100644
+--- a/ldso/ldso/sh/dl-sysdep.h
++++ b/ldso/ldso/sh/dl-sysdep.h
+@@ -25,7 +25,7 @@
+ struct elf_resolve;
+ extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
+ 
+-static __inline__ unsigned int
++static __always_inline unsigned int
+ _dl_urem(unsigned int n, unsigned int base)
+ {
+   int res;
+@@ -95,7 +95,7 @@ _dl_urem(unsigned int n, unsigned int base)
+ /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
+    first element of the GOT.  This must be inlined in a function which
+    uses global data.  */
+-static __inline__ Elf32_Addr __attribute__ ((unused))
++static __always_inline Elf32_Addr __attribute__ ((unused))
+ elf_machine_dynamic (void)
+ {
+ 	register Elf32_Addr *got;
+@@ -104,7 +104,7 @@ elf_machine_dynamic (void)
+ }
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ Elf32_Addr __attribute__ ((unused))
++static __always_inline Elf32_Addr __attribute__ ((unused))
+ elf_machine_load_address (void)
+ {
+ 	Elf32_Addr addr;
+@@ -146,7 +146,7 @@ elf_machine_load_address (void)
+     } \
+   }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
+ 		      Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/sh64/dl-sysdep.h b/ldso/ldso/sh64/dl-sysdep.h
+index fc67b12..15d9b5e 100644
+--- a/ldso/ldso/sh64/dl-sysdep.h
++++ b/ldso/ldso/sh64/dl-sysdep.h
+@@ -41,7 +41,7 @@ extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_ent
+ /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
+    first element of the GOT.  This must be inlined in a function which
+    uses global data.  */
+-static __inline__ Elf32_Addr elf_machine_dynamic(void)
++static __always_inline Elf32_Addr elf_machine_dynamic(void)
+ {
+ 	register Elf32_Addr *got;
+ 
+@@ -69,7 +69,7 @@ static __inline__ Elf32_Addr elf_machine_dynamic(void)
+ }
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ Elf32_Addr elf_machine_load_address(void)
++static __always_inline Elf32_Addr elf_machine_load_address(void)
+ {
+ 	Elf32_Addr addr;
+ 
+@@ -122,7 +122,7 @@ static __inline__ Elf32_Addr elf_machine_load_address(void)
+ 	}						\
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative(Elf32_Addr load_off, const Elf32_Addr rel_addr,
+ 		     Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/sparc/dl-sysdep.h b/ldso/ldso/sparc/dl-sysdep.h
+index 7936517..ebfa268 100644
+--- a/ldso/ldso/sparc/dl-sysdep.h
++++ b/ldso/ldso/sparc/dl-sysdep.h
+@@ -52,7 +52,7 @@ unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
+ 
+ #ifndef COMPILE_ASM
+ /* Cheap modulo implementation, taken from arm/ld_sysdep.h. */
+-static __inline__ unsigned long
++static __always_inline unsigned long
+ sparc_mod(unsigned long m, unsigned long p)
+ {
+ 	unsigned long i, t, inc;
+@@ -118,7 +118,7 @@ do {    register Elf32_Addr pc __asm__("o7"); \
+ /* Return the link-time address of _DYNAMIC.  Conveniently, this is the
+    first element of the GOT.  This must be inlined in a function which
+    uses global data.  */
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr
+ elf_machine_dynamic (void)
+ {
+ 	register Elf32_Addr *got __asm__ ("%l7");
+@@ -129,7 +129,7 @@ elf_machine_dynamic (void)
+ }
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr
+ elf_machine_load_address (void)
+ {
+ 	register Elf32_Addr *pc __asm__ ("%o7"), *got __asm__ ("%l7");
+@@ -148,7 +148,7 @@ elf_machine_load_address (void)
+ 	return (Elf32_Addr) got - *got + (pc[2] - pc[3]) * 4 - 4;
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
+ 		      Elf32_Word relative_count)
+ {
+diff --git a/ldso/ldso/xtensa/dl-sysdep.h b/ldso/ldso/xtensa/dl-sysdep.h
+index daae428..07b9b79 100644
+--- a/ldso/ldso/xtensa/dl-sysdep.h
++++ b/ldso/ldso/xtensa/dl-sysdep.h
+@@ -85,7 +85,7 @@ extern unsigned long _dl_linux_resolver (struct elf_resolve *, int);
+   (((type) == R_XTENSA_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
+ 
+ /* Return the link-time address of _DYNAMIC.  */
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr
+ elf_machine_dynamic (void)
+ {
+   /* This function is only used while bootstrapping the runtime linker.
+@@ -95,7 +95,7 @@ elf_machine_dynamic (void)
+ }
+ 
+ /* Return the run-time load address of the shared object.  */
+-static __inline__ Elf32_Addr
++static __always_inline Elf32_Addr
+ elf_machine_load_address (void)
+ {
+   Elf32_Addr addr, tmp;
+@@ -116,7 +116,7 @@ elf_machine_load_address (void)
+   return addr - 3;
+ }
+ 
+-static __inline__ void
++static __always_inline void
+ elf_machine_relative (Elf32_Addr load_off, const Elf32_Addr rel_addr,
+ 		      Elf32_Word relative_count)
+ {
+-- 
+1.6.3.3.444.g4ecbc
+
diff --git a/recipes/uclibc/uclibc_0.9.30.1.bb b/recipes/uclibc/uclibc_0.9.30.1.bb
index 3ddaad4..a9b1de5 100644
--- a/recipes/uclibc/uclibc_0.9.30.1.bb
+++ b/recipes/uclibc/uclibc_0.9.30.1.bb
@@ -20,6 +20,7 @@ SRC_URI += "file://uClibc.machine file://uClibc.distro \
 	    file://pthread_atfork.patch;patch=1 \
 	    file://uclibc_ldso_use_O0.patch;patch=1 \
 	    file://ldso_use_arm_dl_linux_resolve_in_thumb_mode.patch;patch=1 \
+            file://0001-Use-__always_inline-instead-of-__inline__.patch;patch=1 \
 	   "
 #recent versions uclibc require real kernel headers
 PACKAGE_ARCH = "${MACHINE_ARCH}"
-- 
1.6.3.3.385.g60647




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

* [PATCH 3/3] Avoids overwriting Python's built-in `str' in get_devtable_list
  2009-07-19 22:33 ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Otavio Salvador
@ 2009-07-19 22:33   ` Otavio Salvador
  2009-08-11  3:00     ` Holger Hans Peter Freyther
  2009-07-19 23:03   ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Khem Raj
  2009-08-11  3:01   ` Holger Hans Peter Freyther
  2 siblings, 1 reply; 13+ messages in thread
From: Otavio Salvador @ 2009-07-19 22:33 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Otavio Salvador

From: Mario Domenech Goulart <mario@ossystems.com.br>

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 classes/image.bbclass |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/classes/image.bbclass b/classes/image.bbclass
index 864230b..3b6d429 100644
--- a/classes/image.bbclass
+++ b/classes/image.bbclass
@@ -72,13 +72,11 @@ def get_devtable_list(d):
     devtable = bb.data.getVar('IMAGE_DEVICE_TABLE', d, 1)
     if devtable != None:
         return devtable
-    str = ""
     devtables = bb.data.getVar('IMAGE_DEVICE_TABLES', d, 1)
     if devtables == None:
         devtables = 'files/device_table-minimal.txt'
-    for devtable in devtables.split():
-        str += " %s" % bb.which(bb.data.getVar('BBPATH', d, 1), devtable)
-    return str
+    return " ".join([ bb.which(bb.data.getVar('BBPATH', d, 1), devtable)
+                      for devtable in devtables.split() ])
 
 def get_imagecmds(d):
     import bb
-- 
1.6.3.3.385.g60647




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

* Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-07-19 22:33 ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Otavio Salvador
  2009-07-19 22:33   ` [PATCH 3/3] Avoids overwriting Python's built-in `str' in get_devtable_list Otavio Salvador
@ 2009-07-19 23:03   ` Khem Raj
  2009-08-11  3:01   ` Holger Hans Peter Freyther
  2 siblings, 0 replies; 13+ messages in thread
From: Khem Raj @ 2009-07-19 23:03 UTC (permalink / raw)
  To: openembedded-devel; +Cc: Otavio Salvador

On (19/07/09 19:33), Otavio Salvador wrote:
> From: Mario Domenech Goulart <mario@ossystems.com.br>
> 
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>

Acked-by: Khem Raj <raj.khem@gmail.com>
provided you take care of PR bump 

Thx

-Khem



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

* Re: [PATCH 1/3] -fPIC for libgpg-error's CFLAGS
  2009-07-19 22:33 [PATCH 1/3] -fPIC for libgpg-error's CFLAGS Otavio Salvador
  2009-07-19 22:33 ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Otavio Salvador
@ 2009-08-09 13:23 ` Holger Hans Peter Freyther
  1 sibling, 0 replies; 13+ messages in thread
From: Holger Hans Peter Freyther @ 2009-08-09 13:23 UTC (permalink / raw)
  To: openembedded-devel

On Monday 20 July 2009 00:33:56 Otavio Salvador wrote:
> From: Mario Domenech Goulart <mario@ossystems.com.br>
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>

That is not yet applied? is it needed?

z.




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

* Re: [PATCH 3/3] Avoids overwriting Python's built-in `str' in get_devtable_list
  2009-07-19 22:33   ` [PATCH 3/3] Avoids overwriting Python's built-in `str' in get_devtable_list Otavio Salvador
@ 2009-08-11  3:00     ` Holger Hans Peter Freyther
  0 siblings, 0 replies; 13+ messages in thread
From: Holger Hans Peter Freyther @ 2009-08-11  3:00 UTC (permalink / raw)
  To: openembedded-devel

On Monday 20 July 2009 00:33:58 Otavio Salvador wrote:
> From: Mario Domenech Goulart <mario@ossystems.com.br>

Cool, when was this list generation introduced to python? Does it have an 
impact on our minimum python version?




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

* Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-07-19 22:33 ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Otavio Salvador
  2009-07-19 22:33   ` [PATCH 3/3] Avoids overwriting Python's built-in `str' in get_devtable_list Otavio Salvador
  2009-07-19 23:03   ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Khem Raj
@ 2009-08-11  3:01   ` Holger Hans Peter Freyther
  2009-08-11  8:09     ` Khem Raj
  2009-08-11  9:51     ` Phil Blundell
  2 siblings, 2 replies; 13+ messages in thread
From: Holger Hans Peter Freyther @ 2009-08-11  3:01 UTC (permalink / raw)
  To: openembedded-devel

On Monday 20 July 2009 00:33:57 Otavio Salvador wrote:
> From: Mario Domenech Goulart <mario@ossystems.com.br>
>
> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>

Why? what does it fix?



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

* Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-08-11  3:01   ` Holger Hans Peter Freyther
@ 2009-08-11  8:09     ` Khem Raj
  2009-08-11  9:11       ` GNUtoo
  2009-08-11  9:51     ` Phil Blundell
  1 sibling, 1 reply; 13+ messages in thread
From: Khem Raj @ 2009-08-11  8:09 UTC (permalink / raw)
  To: openembedded-devel

On Mon, Aug 10, 2009 at 8:01 PM, Holger Hans Peter
Freyther<holger+oe@freyther.de> wrote:
> On Monday 20 July 2009 00:33:57 Otavio Salvador wrote:
>> From: Mario Domenech Goulart <mario@ossystems.com.br>
>>
>> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
>
> Why? what does it fix?

For now I think it fixes nothing. just replaces __inline__ with
__inline which essentially has same semantics
but probably  it is intended to have a 'must inline' semantics for
these functions. in this case we need to fix
the defines in uclibc. I will see to it

>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>



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

* Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-08-11  8:09     ` Khem Raj
@ 2009-08-11  9:11       ` GNUtoo
  0 siblings, 0 replies; 13+ messages in thread
From: GNUtoo @ 2009-08-11  9:11 UTC (permalink / raw)
  To: openembedded-devel

> On Mon, Aug 10, 2009 at 8:01 PM, Holger Hans Peter
> Freyther<holger+oe@freyther.de> wrote:
>> On Monday 20 July 2009 00:33:57 Otavio Salvador wrote:
>>> From: Mario Domenech Goulart <mario@ossystems.com.br>
>>>
>>> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
>>
>> Why? what does it fix?
>
> For now I think it fixes nothing. just replaces __inline__ with
> __inline which essentially has same semantics
> but probably  it is intended to have a 'must inline' semantics for
> these functions. in this case we need to fix
> the defines in uclibc. I will see to it
There was a problem with some gcc version + uclibc on MIPS
basically some functions should have been inlined and they weren't
that made all programs using shared libs segfault in ld-uClibc.so.0
Denis.




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

* Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-08-11  3:01   ` Holger Hans Peter Freyther
  2009-08-11  8:09     ` Khem Raj
@ 2009-08-11  9:51     ` Phil Blundell
  2009-08-12  0:15       ` Khem Raj
  1 sibling, 1 reply; 13+ messages in thread
From: Phil Blundell @ 2009-08-11  9:51 UTC (permalink / raw)
  To: openembedded-devel

On Tue, 2009-08-11 at 05:01 +0200, Holger Hans Peter Freyther wrote:
> On Monday 20 July 2009 00:33:57 Otavio Salvador wrote:
> > From: Mario Domenech Goulart <mario@ossystems.com.br>
> >
> > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> 
> Why? what does it fix?

There are some functions in the dynamic linker bootstrap code that must
(for a variety of reasons) be inlined to operate correctly.  Under some
circumstances, particularly on MIPS for some reason, gcc decided to
disregard the normal "inline" qualifier and put these functions out of
line which led to disaster.

p.





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

* Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-08-11  9:51     ` Phil Blundell
@ 2009-08-12  0:15       ` Khem Raj
  2009-08-13 12:16         ` Mario Domenech Goulart
  0 siblings, 1 reply; 13+ messages in thread
From: Khem Raj @ 2009-08-12  0:15 UTC (permalink / raw)
  To: openembedded-devel

On Tue, Aug 11, 2009 at 2:51 AM, Phil Blundell<philb@gnu.org> wrote:
> On Tue, 2009-08-11 at 05:01 +0200, Holger Hans Peter Freyther wrote:
>> On Monday 20 July 2009 00:33:57 Otavio Salvador wrote:
>> > From: Mario Domenech Goulart <mario@ossystems.com.br>
>> >
>> > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
>>
>> Why? what does it fix?
>
> There are some functions in the dynamic linker bootstrap code that must
> (for a variety of reasons) be inlined to operate correctly.  Under some
> circumstances, particularly on MIPS for some reason, gcc decided to
> disregard the normal "inline" qualifier and put these functions out of
> line which led to disaster.

Which particular gcc version is in question here ?

Looking at the code I think if it is gcc 3.2 then it would use the
'must align' semantics
but I would be surprised for other gcc versions because for other versoins
__always_inline is simply defined as __inline which is equivalent to __inline__

Thx

-Khem



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

* Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-08-12  0:15       ` Khem Raj
@ 2009-08-13 12:16         ` Mario Domenech Goulart
  2009-08-13 12:41           ` Holger Hans Peter Freyther
  0 siblings, 1 reply; 13+ messages in thread
From: Mario Domenech Goulart @ 2009-08-13 12:16 UTC (permalink / raw)
  To: openembedded-devel

Hi Khem

On Tue, 11 Aug 2009 17:15:29 -0700 Khem Raj <raj.khem@gmail.com> wrote:

> On Tue, Aug 11, 2009 at 2:51 AM, Phil Blundell<philb@gnu.org> wrote:
>> On Tue, 2009-08-11 at 05:01 +0200, Holger Hans Peter Freyther wrote:
>>> On Monday 20 July 2009 00:33:57 Otavio Salvador wrote:
>>> > From: Mario Domenech Goulart <mario@ossystems.com.br>
>>> >
>>> > Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
>>>
>>> Why? what does it fix?
>>
>> There are some functions in the dynamic linker bootstrap code that must
>> (for a variety of reasons) be inlined to operate correctly.  Under some
>> circumstances, particularly on MIPS for some reason, gcc decided to
>> disregard the normal "inline" qualifier and put these functions out of
>> line which led to disaster.
>
> Which particular gcc version is in question here ?

IIRC, I've tested it with gcc 4.3.2, 4.1.2 and 4.2.4.


> Looking at the code I think if it is gcc 3.2 then it would use the
> 'must align' semantics but I would be surprised for other gcc versions
> because for other versoins __always_inline is simply defined as
> __inline which is equivalent to __inline__

I haven't tried gcc 3.x.

This patch is actually from the uClibc tree
(http://git.uclibc.org/uClibc/commit/?id=c190f738e1b0e87658ea5f86c057fb147dc19428).

Without this patch, dynamic linked applications segfault at least on
MIPS and MIPSEL.

Best wishes.
Mario



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

* Re: [PATCH 2/3] uClibc: use __always_inline instead of __inline__
  2009-08-13 12:16         ` Mario Domenech Goulart
@ 2009-08-13 12:41           ` Holger Hans Peter Freyther
  0 siblings, 0 replies; 13+ messages in thread
From: Holger Hans Peter Freyther @ 2009-08-13 12:41 UTC (permalink / raw)
  To: openembedded-devel

On Thursday 13 August 2009 14:16:27 Mario Domenech Goulart wrote:

> This patch is actually from the uClibc tree
> (http://git.uclibc.org/uClibc/commit/?id=c190f738e1b0e87658ea5f86c057fb147d
>c19428).
>
> Without this patch, dynamic linked applications segfault at least on
> MIPS and MIPSEL.

Dare to make a proper patch for OE? Patch uclibc, have the patch contain a 
meaningful commit message and citing the source? (using the git commit of 
uclibc would be a good start)

z.



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

end of thread, other threads:[~2009-08-13 12:58 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-19 22:33 [PATCH 1/3] -fPIC for libgpg-error's CFLAGS Otavio Salvador
2009-07-19 22:33 ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Otavio Salvador
2009-07-19 22:33   ` [PATCH 3/3] Avoids overwriting Python's built-in `str' in get_devtable_list Otavio Salvador
2009-08-11  3:00     ` Holger Hans Peter Freyther
2009-07-19 23:03   ` [PATCH 2/3] uClibc: use __always_inline instead of __inline__ Khem Raj
2009-08-11  3:01   ` Holger Hans Peter Freyther
2009-08-11  8:09     ` Khem Raj
2009-08-11  9:11       ` GNUtoo
2009-08-11  9:51     ` Phil Blundell
2009-08-12  0:15       ` Khem Raj
2009-08-13 12:16         ` Mario Domenech Goulart
2009-08-13 12:41           ` Holger Hans Peter Freyther
2009-08-09 13:23 ` [PATCH 1/3] -fPIC for libgpg-error's CFLAGS Holger Hans Peter Freyther

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