All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Add endianess macros used by previous endian-ness_handling.patch
@ 2011-07-19 23:37 Matthew McClintock
  2011-07-19 23:58 ` Saul Wold
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew McClintock @ 2011-07-19 23:37 UTC (permalink / raw)
  To: yocto; +Cc: Matthew McClintock

Some distro's don't include these macros in /usr/include/endian.h
so we include them via this patch

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
This fixes builds on my CentOS 5.5 box

 .../ldconfig-native-2.12.1/endianess-header.patch  |  102 ++++++++++++++++++++
 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb |    5 +-
 2 files changed, 105 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch

diff --git a/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
new file mode 100644
index 0000000..3653967
--- /dev/null
+++ b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
@@ -0,0 +1,102 @@
+diff -purN ldconfig-native-2.12.1.orig/endian_extra.h ldconfig-native-2.12.1/endian_extra.h
+--- ldconfig-native-2.12.1.orig/endian_extra.h	1969-12-31 18:00:00.000000000 -0600
++++ ldconfig-native-2.12.1/endian_extra.h	2011-07-19 18:09:14.323048417 -0500
+@@ -0,0 +1,61 @@
++/* Copyright (C) 1992, 1996, 1997, 2000, 2008 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <endian.h>
++
++#ifndef	_ENDIAN_EXTRA_H
++#define	_ENDIAN_EXTRA_H	1
++
++#ifdef __USE_BSD
++/* Conversion interfaces.  */
++# include <byteswap.h>
++
++# if __BYTE_ORDER == __LITTLE_ENDIAN
++#  define htobe16(x) __bswap_16 (x)
++#  define htole16(x) (x)
++#  define be16toh(x) __bswap_16 (x)
++#  define le16toh(x) (x)
++
++#  define htobe32(x) __bswap_32 (x)
++#  define htole32(x) (x)
++#  define be32toh(x) __bswap_32 (x)
++#  define le32toh(x) (x)
++
++#  define htobe64(x) __bswap_64 (x)
++#  define htole64(x) (x)
++#  define be64toh(x) __bswap_64 (x)
++#  define le64toh(x) (x)
++# else
++#  define htobe16(x) (x)
++#  define htole16(x) __bswap_16 (x)
++#  define be16toh(x) (x)
++#  define le16toh(x) __bswap_16 (x)
++
++#  define htobe32(x) (x)
++#  define htole32(x) __bswap_32 (x)
++#  define be32toh(x) (x)
++#  define le32toh(x) __bswap_32 (x)
++
++#  define htobe64(x) (x)
++#  define htole64(x) __bswap_64 (x)
++#  define be64toh(x) (x)
++#  define le64toh(x) __bswap_64 (x)
++# endif
++#endif
++
++#endif	/* endian_extra.h */
+diff -purN ldconfig-native-2.12.1.orig/cache.c ldconfig-native-2.12.1/cache.c
+--- ldconfig-native-2.12.1.orig/cache.c	2011-07-19 18:21:28.347041301 -0500
++++ ldconfig-native-2.12.1/cache.c	2011-07-19 18:22:54.118048064 -0500
+@@ -39,6 +39,8 @@
+ # define N_(msgid)  msgid
+ #define _(msg) msg
+ 
++#include "endian_extra.h"
++
+ extern int be;
+ 
+ static uint16_t write16(uint16_t x, int be)
+diff -purN ldconfig-native-2.12.1.orig/readelflib.c ldconfig-native-2.12.1/readelflib.c
+--- ldconfig-native-2.12.1.orig/readelflib.c	2011-07-19 18:21:28.346041593 -0500
++++ ldconfig-native-2.12.1/readelflib.c	2011-07-19 18:23:05.324059875 -0500
+@@ -25,6 +25,9 @@
+ 
+ /* check_ptr checks that a pointer is in the mmaped file and doesn't
+    point outside it.  */
++
++#include "endian_extra.h"
++
+ #undef check_ptr
+ #define check_ptr(ptr)						\
+ do								\
+diff -purN ldconfig-native-2.12.1.orig/readlib.c ldconfig-native-2.12.1/readlib.c
+--- ldconfig-native-2.12.1.orig/readlib.c	2011-07-19 18:21:28.346041593 -0500
++++ ldconfig-native-2.12.1/readlib.c	2011-07-19 18:23:23.877046210 -0500
+@@ -40,6 +40,8 @@
+ 
+ #include "ldconfig.h"
+ 
++#include "endian_extra.h"
++
+ #define _(msg) msg
+ 
+ #define Elf32_CLASS ELFCLASS32
diff --git a/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb b/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
index bacf9f8..00edb6e 100644
--- a/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
+++ b/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
@@ -9,9 +9,10 @@ SRC_URI = "file://ldconfig-native-2.12.1.tar.bz2 \
            file://ldconfig_aux-cache_path_fix.patch \
            file://32and64bit.patch \
            file://endian-ness_handling.patch \
-           file://flag_fix.patch "
+           file://flag_fix.patch \
+           file://endianess-header.patch"
 
-PR = "r0"
+PR = "r1"
 
 inherit native
 
-- 
1.7.5




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

* Re: [PATCH] Add endianess macros used by previous endian-ness_handling.patch
  2011-07-19 23:37 [PATCH] Add endianess macros used by previous endian-ness_handling.patch Matthew McClintock
@ 2011-07-19 23:58 ` Saul Wold
  2011-07-20  1:20   ` McClintock Matthew-B29882
  0 siblings, 1 reply; 6+ messages in thread
From: Saul Wold @ 2011-07-19 23:58 UTC (permalink / raw)
  To: yocto

On 07/19/2011 04:37 PM, Matthew McClintock wrote:
> Some distro's don't include these macros in /usr/include/endian.h
> so we include them via this patch
>
Matthew:

Thanks for this patch.

What will happen on distros that do include these macros?  Will we get 
redefines?  I don't see any conditional testing to determine if they 
exist already.


> Signed-off-by: Matthew McClintock<msm@freescale.com>
> ---
> This fixes builds on my CentOS 5.5 box
>
>   .../ldconfig-native-2.12.1/endianess-header.patch  |  102 ++++++++++++++++++++
>   meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb |    5 +-
>   2 files changed, 105 insertions(+), 2 deletions(-)
>   create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
>
> diff --git a/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
> new file mode 100644
> index 0000000..3653967


We need to track information about the patch in the patch itself, so can 
you please add details here and include a Signed-off-by line.

For information about commits and patches, please see
http://wiki.openembedded.org/index.php/Commit_Patch_Message_Guidelines

Also, this kind of patch actually goes to the 
openembedded-core@openembedded.org email list.

Thanks for the patch submission.

Sau!

> --- /dev/null
> +++ b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
> @@ -0,0 +1,102 @@
> +diff -purN ldconfig-native-2.12.1.orig/endian_extra.h ldconfig-native-2.12.1/endian_extra.h
> +--- ldconfig-native-2.12.1.orig/endian_extra.h	1969-12-31 18:00:00.000000000 -0600
> ++++ ldconfig-native-2.12.1/endian_extra.h	2011-07-19 18:09:14.323048417 -0500
> +@@ -0,0 +1,61 @@
> ++/* Copyright (C) 1992, 1996, 1997, 2000, 2008 Free Software Foundation, Inc.
> ++   This file is part of the GNU C Library.
> ++
> ++   The GNU C Library is free software; you can redistribute it and/or
> ++   modify it under the terms of the GNU Lesser General Public
> ++   License as published by the Free Software Foundation; either
> ++   version 2.1 of the License, or (at your option) any later version.
> ++
> ++   The GNU C Library is distributed in the hope that it will be useful,
> ++   but WITHOUT ANY WARRANTY; without even the implied warranty of
> ++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> ++   Lesser General Public License for more details.
> ++
> ++   You should have received a copy of the GNU Lesser General Public
> ++   License along with the GNU C Library; if not, write to the Free
> ++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
> ++   02111-1307 USA.  */
> ++
> ++#include<endian.h>
> ++
> ++#ifndef	_ENDIAN_EXTRA_H
> ++#define	_ENDIAN_EXTRA_H	1
> ++
> ++#ifdef __USE_BSD
> ++/* Conversion interfaces.  */
> ++# include<byteswap.h>
> ++
> ++# if __BYTE_ORDER == __LITTLE_ENDIAN
> ++#  define htobe16(x) __bswap_16 (x)
> ++#  define htole16(x) (x)
> ++#  define be16toh(x) __bswap_16 (x)
> ++#  define le16toh(x) (x)
> ++
> ++#  define htobe32(x) __bswap_32 (x)
> ++#  define htole32(x) (x)
> ++#  define be32toh(x) __bswap_32 (x)
> ++#  define le32toh(x) (x)
> ++
> ++#  define htobe64(x) __bswap_64 (x)
> ++#  define htole64(x) (x)
> ++#  define be64toh(x) __bswap_64 (x)
> ++#  define le64toh(x) (x)
> ++# else
> ++#  define htobe16(x) (x)
> ++#  define htole16(x) __bswap_16 (x)
> ++#  define be16toh(x) (x)
> ++#  define le16toh(x) __bswap_16 (x)
> ++
> ++#  define htobe32(x) (x)
> ++#  define htole32(x) __bswap_32 (x)
> ++#  define be32toh(x) (x)
> ++#  define le32toh(x) __bswap_32 (x)
> ++
> ++#  define htobe64(x) (x)
> ++#  define htole64(x) __bswap_64 (x)
> ++#  define be64toh(x) (x)
> ++#  define le64toh(x) __bswap_64 (x)
> ++# endif
> ++#endif
> ++
> ++#endif	/* endian_extra.h */
> +diff -purN ldconfig-native-2.12.1.orig/cache.c ldconfig-native-2.12.1/cache.c
> +--- ldconfig-native-2.12.1.orig/cache.c	2011-07-19 18:21:28.347041301 -0500
> ++++ ldconfig-native-2.12.1/cache.c	2011-07-19 18:22:54.118048064 -0500
> +@@ -39,6 +39,8 @@
> + # define N_(msgid)  msgid
> + #define _(msg) msg
> +
> ++#include "endian_extra.h"
> ++
> + extern int be;
> +
> + static uint16_t write16(uint16_t x, int be)
> +diff -purN ldconfig-native-2.12.1.orig/readelflib.c ldconfig-native-2.12.1/readelflib.c
> +--- ldconfig-native-2.12.1.orig/readelflib.c	2011-07-19 18:21:28.346041593 -0500
> ++++ ldconfig-native-2.12.1/readelflib.c	2011-07-19 18:23:05.324059875 -0500
> +@@ -25,6 +25,9 @@
> +
> + /* check_ptr checks that a pointer is in the mmaped file and doesn't
> +    point outside it.  */
> ++
> ++#include "endian_extra.h"
> ++
> + #undef check_ptr
> + #define check_ptr(ptr)						\
> + do								\
> +diff -purN ldconfig-native-2.12.1.orig/readlib.c ldconfig-native-2.12.1/readlib.c
> +--- ldconfig-native-2.12.1.orig/readlib.c	2011-07-19 18:21:28.346041593 -0500
> ++++ ldconfig-native-2.12.1/readlib.c	2011-07-19 18:23:23.877046210 -0500
> +@@ -40,6 +40,8 @@
> +
> + #include "ldconfig.h"
> +
> ++#include "endian_extra.h"
> ++
> + #define _(msg) msg
> +
> + #define Elf32_CLASS ELFCLASS32
> diff --git a/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb b/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
> index bacf9f8..00edb6e 100644
> --- a/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
> +++ b/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
> @@ -9,9 +9,10 @@ SRC_URI = "file://ldconfig-native-2.12.1.tar.bz2 \
>              file://ldconfig_aux-cache_path_fix.patch \
>              file://32and64bit.patch \
>              file://endian-ness_handling.patch \
> -           file://flag_fix.patch "
> +           file://flag_fix.patch \
> +           file://endianess-header.patch"
>
> -PR = "r0"
> +PR = "r1"
>
>   inherit native
>


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

* Re: [PATCH] Add endianess macros used by previous endian-ness_handling.patch
  2011-07-19 23:58 ` Saul Wold
@ 2011-07-20  1:20   ` McClintock Matthew-B29882
  2011-07-20 16:41     ` McClintock Matthew-B29882
  0 siblings, 1 reply; 6+ messages in thread
From: McClintock Matthew-B29882 @ 2011-07-20  1:20 UTC (permalink / raw)
  To: Saul Wold; +Cc: yocto@yoctoproject.org

On Tue, Jul 19, 2011 at 6:58 PM, Saul Wold <sgw@linux.intel.com> wrote:
> Matthew:
>
> Thanks for this patch.
>
> What will happen on distros that do include these macros?  Will we get
> redefines?  I don't see any conditional testing to determine if they exist
> already.

I suspect redefines. I did compile this on a machine that did have the
defines in endian.h though and I got no messages from bitbake. I guess
I should check the compile log. Will do these things shortly.

-M


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

* Re: [PATCH] Add endianess macros used by previous endian-ness_handling.patch
  2011-07-20  1:20   ` McClintock Matthew-B29882
@ 2011-07-20 16:41     ` McClintock Matthew-B29882
  2011-07-20 18:33       ` [PATCH v2] " Matthew McClintock
  2011-07-20 20:17       ` [PATCH] " Matthew McClintock
  0 siblings, 2 replies; 6+ messages in thread
From: McClintock Matthew-B29882 @ 2011-07-20 16:41 UTC (permalink / raw)
  To: Saul Wold; +Cc: yocto@yoctoproject.org

On Tue, Jul 19, 2011 at 8:19 PM, Matthew McClintock <msm@freescale.com> wrote:
>> What will happen on distros that do include these macros?  Will we get
>> redefines?  I don't see any conditional testing to determine if they exist
>> already.
>
> I suspect redefines. I did compile this on a machine that did have the
> defines in endian.h though and I got no messages from bitbake. I guess
> I should check the compile log. Will do these things shortly.

I have reason to believe that ldconfig-native is not even being built
on my Fedora box. Does this make any sense? I've cleared sstate, run
bitbake -c clean, and even manually run bitbake -c compile
ldconfig-native. Is it somehow determining the host ldconfig is
adequate?

-M


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

* [PATCH v2] Add endianess macros used by previous endian-ness_handling.patch
  2011-07-20 16:41     ` McClintock Matthew-B29882
@ 2011-07-20 18:33       ` Matthew McClintock
  2011-07-20 20:17       ` [PATCH] " Matthew McClintock
  1 sibling, 0 replies; 6+ messages in thread
From: Matthew McClintock @ 2011-07-20 18:33 UTC (permalink / raw)
  To: yocto; +Cc: Matthew McClintock

Some distro's don't include these macros in /usr/include/endian.h
so we include them via this patch

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
v2: Added conditional check for macros already being defined, added
    commentary to the patch itself, and added a signed-of-by line

 .../ldconfig-native-2.12.1/endianess-header.patch  |  113 ++++++++++++++++++++
 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb |    5 +-
 2 files changed, 116 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch

diff --git a/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
new file mode 100644
index 0000000..a18b2c2
--- /dev/null
+++ b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
@@ -0,0 +1,113 @@
+Upstream-Status: Inappropriate [fix poky patch]
+
+This patch fixes build issues with a previous endian-ness_handling.patch on
+distros that don't have macros referenced
+
+7/20/2011
+Matthew McClintock <msm@freescale.com>
+
+diff -purN ldconfig-native-2.12.1.orig/endian_extra.h ldconfig-native-2.12.1/endian_extra.h
+--- ldconfig-native-2.12.1.orig/endian_extra.h	1969-12-31 18:00:00.000000000 -0600
++++ ldconfig-native-2.12.1/endian_extra.h	2011-07-19 18:09:14.323048417 -0500
+@@ -0,0 +1,64 @@
++/* Copyright (C) 1992, 1996, 1997, 2000, 2008 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <endian.h>
++
++#ifndef	_ENDIAN_EXTRA_H
++#define	_ENDIAN_EXTRA_H	1
++
++/* Don't redefine these macros if they already exist */
++#ifndef htobe16
++#ifdef __USE_BSD
++/* Conversion interfaces.  */
++# include <byteswap.h>
++
++# if __BYTE_ORDER == __LITTLE_ENDIAN
++#  define htobe16(x) __bswap_16 (x)
++#  define htole16(x) (x)
++#  define be16toh(x) __bswap_16 (x)
++#  define le16toh(x) (x)
++
++#  define htobe32(x) __bswap_32 (x)
++#  define htole32(x) (x)
++#  define be32toh(x) __bswap_32 (x)
++#  define le32toh(x) (x)
++
++#  define htobe64(x) __bswap_64 (x)
++#  define htole64(x) (x)
++#  define be64toh(x) __bswap_64 (x)
++#  define le64toh(x) (x)
++# else
++#  define htobe16(x) (x)
++#  define htole16(x) __bswap_16 (x)
++#  define be16toh(x) (x)
++#  define le16toh(x) __bswap_16 (x)
++
++#  define htobe32(x) (x)
++#  define htole32(x) __bswap_32 (x)
++#  define be32toh(x) (x)
++#  define le32toh(x) __bswap_32 (x)
++
++#  define htobe64(x) (x)
++#  define htole64(x) __bswap_64 (x)
++#  define be64toh(x) (x)
++#  define le64toh(x) __bswap_64 (x)
++# endif
++#endif
++#endif
++
++#endif	/* endian_extra.h */
+diff -purN ldconfig-native-2.12.1.orig/cache.c ldconfig-native-2.12.1/cache.c
+--- ldconfig-native-2.12.1.orig/cache.c	2011-07-19 18:21:28.347041301 -0500
++++ ldconfig-native-2.12.1/cache.c	2011-07-19 18:22:54.118048064 -0500
+@@ -39,6 +39,8 @@
+ # define N_(msgid)  msgid
+ #define _(msg) msg
+ 
++#include "endian_extra.h"
++
+ extern int be;
+ 
+ static uint16_t write16(uint16_t x, int be)
+diff -purN ldconfig-native-2.12.1.orig/readelflib.c ldconfig-native-2.12.1/readelflib.c
+--- ldconfig-native-2.12.1.orig/readelflib.c	2011-07-19 18:21:28.346041593 -0500
++++ ldconfig-native-2.12.1/readelflib.c	2011-07-19 18:23:05.324059875 -0500
+@@ -25,6 +25,9 @@
+ 
+ /* check_ptr checks that a pointer is in the mmaped file and doesn't
+    point outside it.  */
++
++#include "endian_extra.h"
++
+ #undef check_ptr
+ #define check_ptr(ptr)						\
+ do								\
+diff -purN ldconfig-native-2.12.1.orig/readlib.c ldconfig-native-2.12.1/readlib.c
+--- ldconfig-native-2.12.1.orig/readlib.c	2011-07-19 18:21:28.346041593 -0500
++++ ldconfig-native-2.12.1/readlib.c	2011-07-19 18:23:23.877046210 -0500
+@@ -40,6 +40,8 @@
+ 
+ #include "ldconfig.h"
+ 
++#include "endian_extra.h"
++
+ #define _(msg) msg
+ 
+ #define Elf32_CLASS ELFCLASS32
diff --git a/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb b/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
index bacf9f8..00edb6e 100644
--- a/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
+++ b/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
@@ -9,9 +9,10 @@ SRC_URI = "file://ldconfig-native-2.12.1.tar.bz2 \
            file://ldconfig_aux-cache_path_fix.patch \
            file://32and64bit.patch \
            file://endian-ness_handling.patch \
-           file://flag_fix.patch "
+           file://flag_fix.patch \
+           file://endianess-header.patch"
 
-PR = "r0"
+PR = "r1"
 
 inherit native
 
-- 
1.7.5




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

* [PATCH] Add endianess macros used by previous endian-ness_handling.patch
  2011-07-20 16:41     ` McClintock Matthew-B29882
  2011-07-20 18:33       ` [PATCH v2] " Matthew McClintock
@ 2011-07-20 20:17       ` Matthew McClintock
  1 sibling, 0 replies; 6+ messages in thread
From: Matthew McClintock @ 2011-07-20 20:17 UTC (permalink / raw)
  To: yocto, openembedded-core; +Cc: Matthew McClintock

Some distro's don't include these macros in /usr/include/endian.h
so we include them via this patch

Signed-off-by: Matthew McClintock <msm@freescale.com>
---
v2: Added conditional check for macros already being defined, added
    commentary to the patch itself, and added a signed-of-by line

(resending including openembedded-core@openembedded.org)

 .../ldconfig-native-2.12.1/endianess-header.patch  |  113 ++++++++++++++++++++
 meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb |    5 +-
 2 files changed, 116 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch

diff --git a/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
new file mode 100644
index 0000000..a18b2c2
--- /dev/null
+++ b/meta/recipes-core/eglibc/ldconfig-native-2.12.1/endianess-header.patch
@@ -0,0 +1,113 @@
+Upstream-Status: Inappropriate [fix poky patch]
+
+This patch fixes build issues with a previous endian-ness_handling.patch on
+distros that don't have macros referenced
+
+7/20/2011
+Matthew McClintock <msm@freescale.com>
+
+diff -purN ldconfig-native-2.12.1.orig/endian_extra.h ldconfig-native-2.12.1/endian_extra.h
+--- ldconfig-native-2.12.1.orig/endian_extra.h	1969-12-31 18:00:00.000000000 -0600
++++ ldconfig-native-2.12.1/endian_extra.h	2011-07-19 18:09:14.323048417 -0500
+@@ -0,0 +1,64 @@
++/* Copyright (C) 1992, 1996, 1997, 2000, 2008 Free Software Foundation, Inc.
++   This file is part of the GNU C Library.
++
++   The GNU C Library is free software; you can redistribute it and/or
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <endian.h>
++
++#ifndef	_ENDIAN_EXTRA_H
++#define	_ENDIAN_EXTRA_H	1
++
++/* Don't redefine these macros if they already exist */
++#ifndef htobe16
++#ifdef __USE_BSD
++/* Conversion interfaces.  */
++# include <byteswap.h>
++
++# if __BYTE_ORDER == __LITTLE_ENDIAN
++#  define htobe16(x) __bswap_16 (x)
++#  define htole16(x) (x)
++#  define be16toh(x) __bswap_16 (x)
++#  define le16toh(x) (x)
++
++#  define htobe32(x) __bswap_32 (x)
++#  define htole32(x) (x)
++#  define be32toh(x) __bswap_32 (x)
++#  define le32toh(x) (x)
++
++#  define htobe64(x) __bswap_64 (x)
++#  define htole64(x) (x)
++#  define be64toh(x) __bswap_64 (x)
++#  define le64toh(x) (x)
++# else
++#  define htobe16(x) (x)
++#  define htole16(x) __bswap_16 (x)
++#  define be16toh(x) (x)
++#  define le16toh(x) __bswap_16 (x)
++
++#  define htobe32(x) (x)
++#  define htole32(x) __bswap_32 (x)
++#  define be32toh(x) (x)
++#  define le32toh(x) __bswap_32 (x)
++
++#  define htobe64(x) (x)
++#  define htole64(x) __bswap_64 (x)
++#  define be64toh(x) (x)
++#  define le64toh(x) __bswap_64 (x)
++# endif
++#endif
++#endif
++
++#endif	/* endian_extra.h */
+diff -purN ldconfig-native-2.12.1.orig/cache.c ldconfig-native-2.12.1/cache.c
+--- ldconfig-native-2.12.1.orig/cache.c	2011-07-19 18:21:28.347041301 -0500
++++ ldconfig-native-2.12.1/cache.c	2011-07-19 18:22:54.118048064 -0500
+@@ -39,6 +39,8 @@
+ # define N_(msgid)  msgid
+ #define _(msg) msg
+ 
++#include "endian_extra.h"
++
+ extern int be;
+ 
+ static uint16_t write16(uint16_t x, int be)
+diff -purN ldconfig-native-2.12.1.orig/readelflib.c ldconfig-native-2.12.1/readelflib.c
+--- ldconfig-native-2.12.1.orig/readelflib.c	2011-07-19 18:21:28.346041593 -0500
++++ ldconfig-native-2.12.1/readelflib.c	2011-07-19 18:23:05.324059875 -0500
+@@ -25,6 +25,9 @@
+ 
+ /* check_ptr checks that a pointer is in the mmaped file and doesn't
+    point outside it.  */
++
++#include "endian_extra.h"
++
+ #undef check_ptr
+ #define check_ptr(ptr)						\
+ do								\
+diff -purN ldconfig-native-2.12.1.orig/readlib.c ldconfig-native-2.12.1/readlib.c
+--- ldconfig-native-2.12.1.orig/readlib.c	2011-07-19 18:21:28.346041593 -0500
++++ ldconfig-native-2.12.1/readlib.c	2011-07-19 18:23:23.877046210 -0500
+@@ -40,6 +40,8 @@
+ 
+ #include "ldconfig.h"
+ 
++#include "endian_extra.h"
++
+ #define _(msg) msg
+ 
+ #define Elf32_CLASS ELFCLASS32
diff --git a/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb b/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
index bacf9f8..00edb6e 100644
--- a/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
+++ b/meta/recipes-core/eglibc/ldconfig-native_2.12.1.bb
@@ -9,9 +9,10 @@ SRC_URI = "file://ldconfig-native-2.12.1.tar.bz2 \
            file://ldconfig_aux-cache_path_fix.patch \
            file://32and64bit.patch \
            file://endian-ness_handling.patch \
-           file://flag_fix.patch "
+           file://flag_fix.patch \
+           file://endianess-header.patch"
 
-PR = "r0"
+PR = "r1"
 
 inherit native
 
-- 
1.7.5




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

end of thread, other threads:[~2011-07-20 20:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-19 23:37 [PATCH] Add endianess macros used by previous endian-ness_handling.patch Matthew McClintock
2011-07-19 23:58 ` Saul Wold
2011-07-20  1:20   ` McClintock Matthew-B29882
2011-07-20 16:41     ` McClintock Matthew-B29882
2011-07-20 18:33       ` [PATCH v2] " Matthew McClintock
2011-07-20 20:17       ` [PATCH] " Matthew McClintock

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.