[yocto] [PATCH] Add endianess macros used by previous endian-ness_handling.patch
Saul Wold
sgw at linux.intel.com
Tue Jul 19 16:58:13 PDT 2011
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 at 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 at 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
>
More information about the yocto
mailing list