aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2007-04-08 21:04:39 +0000
committerMike Frysinger <vapier@gentoo.org>2007-04-08 21:04:39 +0000
commit9ae66df75428ceebbde4b4fa831182a716b205ac (patch)
treeaf453227eca5662f925e9a4574437cffdc0d31e0 /porting.h
parentrelax a little if only one endian is defined (diff)
downloadpax-utils-9ae66df75428ceebbde4b4fa831182a716b205ac.tar.gz
pax-utils-9ae66df75428ceebbde4b4fa831182a716b205ac.tar.bz2
pax-utils-9ae66df75428ceebbde4b4fa831182a716b205ac.zip
rewrite ELF_DATA fallback to account for ports that define macros, but dont give them any value
Diffstat (limited to 'porting.h')
-rw-r--r--porting.h41
1 files changed, 19 insertions, 22 deletions
diff --git a/porting.h b/porting.h
index 984c948..5f58f4f 100644
--- a/porting.h
+++ b/porting.h
@@ -1,7 +1,7 @@
/*
* Copyright 2005-2006 Gentoo Foundation
* Distributed under the terms of the GNU General Public License v2
- * $Header: /var/cvsroot/gentoo-projects/pax-utils/porting.h,v 1.29 2007/04/08 20:42:43 vapier Exp $
+ * $Header: /var/cvsroot/gentoo-projects/pax-utils/porting.h,v 1.30 2007/04/08 21:04:39 vapier Exp $
*
* Copyright 2005-2006 Ned Ludd - <solar@gentoo.org>
* Copyright 2005-2006 Mike Frysinger - <vapier@gentoo.org>
@@ -116,36 +116,33 @@
/* fall back case for non-Linux hosts ... so lame */
#if !defined(ELF_DATA)
-# undef __PAX_UTILS_BO
-# if !defined(LITTLE_ENDIAN) && defined(_LITTLE_ENDIAN)
-# define LITTLE_ENDIAN _LITTLE_ENDIAN
-# endif
-# if !defined(BIG_ENDIAN) && defined(_BIG_ENDIAN)
-# define BIG_ENDIAN _BIG_ENDIAN
-# endif
# if defined(BYTE_ORDER)
-# define __PAX_UTILS_BO BYTE_ORDER
+# if BYTE_ORDER == LITTLE_ENDIAN
+# define ELF_DATA ELFDATA2LSB
+# elif BYTE_ORDER == BIG_ENDIAN
+# define ELF_DATA ELFDATA2MSB
+# else
+# error "BYTE_ORDER: you fail"
+# endif
# elif defined(__BYTE_ORDER)
-# define __PAX_UTILS_BO __BYTE_ORDER
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+# define ELF_DATA ELFDATA2LSB
+# elif __BYTE_ORDER == __BIG_ENDIAN
+# define ELF_DATA ELFDATA2BSB
+# else
+# error "__BYTE_ORDER: you fail"
+# endif
# elif defined(WORDS_LITTLENDIAN)
-# define __PAX_UTILS_BO LITTLE_ENDIAN
+# define ELF_DATA ELFDATA2LSB
# elif defined(WORDS_BIGENDIAN)
-# define __PAX_UTILS_BO BIG_ENDIAN
+# define ELF_DATA ELFDATA2MSB
# elif defined(_LITTLE_ENDIAN)
-# define __PAX_UTILS_BO LITTLE_ENDIAN
-# elif defined(_BIG_ENDIAN)
-# define __PAX_UTILS_BO BIG_ENDIAN
-# else
-# error "no idea what the native byte order is"
-# endif
-# if defined(LITTLE_ENDIAN) && __PAX_UTILS_BO == LITTLE_ENDIAN
# define ELF_DATA ELFDATA2LSB
-# elif defined(BIG_ENDIAN) && __PAX_UTILS_BO == BIG_ENDIAN
+# elif defined(_BIG_ENDIAN)
# define ELF_DATA ELFDATA2MSB
# else
-# error "still cant calculate native byte order"
+# error "no idea what the native byte order is"
# endif
-# undef __PAX_UTILS_BO
#endif
/*