packages/net/hping3/patches/101-endianness.patch
florian c046379534 [package] fix hping3 compilation failure on armeb (#4933)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@15226 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-04-13 13:17:14 +00:00

53 lines
1.8 KiB
Diff

--- hping3-20051105_orig/hping2.h 2004-06-04 09:22:38.000000000 +0200
+++ hping3-20051105/hping2.h 2009-02-26 15:42:14.000000000 +0100
@@ -13,6 +13,7 @@
#ifndef _HPING2_H
#define _HPING2_H
+#include <endian.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
@@ -248,10 +249,10 @@
* IP header
*/
struct myiphdr {
-#if defined(__LITTLE_ENDIAN_BITFIELD)
+#if __BYTE_ORDER == __LITTLE_ENDIAN
__u8 ihl:4,
version:4;
-#elif defined (__BIG_ENDIAN_BITFIELD)
+#elif __BYTE_ORDER == __BIG_ENDIAN
__u8 version:4,
ihl:4;
#else
@@ -287,10 +288,10 @@
__u16 th_dport; /* destination port */
__u32 th_seq; /* sequence number */
__u32 th_ack; /* acknowledgement number */
-#if defined (__LITTLE_ENDIAN_BITFIELD)
+#if __BYTE_ORDER == __LITTLE_ENDIAN
__u8 th_x2:4, /* (unused) */
th_off:4; /* data offset */
-#elif defined (__BIG_ENDIAN_BITFIELD)
+#elif __BYTE_ORDER == __BIG_ENDIAN
__u8 th_off:4, /* data offset */
th_x2:4; /* (unused) */
#else
diff -urN hping3-20051105/bytesex.h hping3-20051105.new/bytesex.h
--- hping3-20051105/bytesex.h 2003-08-31 19:23:48.000000000 +0200
+++ hping3-20051105.new/bytesex.h 2009-04-13 15:14:52.000000000 +0200
@@ -9,9 +9,11 @@
#if defined(__i386__) \
|| defined(__alpha__) \
+ || (defined(__arm__) && (defined(ARMEL) || defined(__ARMEL__))) \
|| (defined(__mips__) && (defined(MIPSEL) || defined (__MIPSEL__)))
#define BYTE_ORDER_LITTLE_ENDIAN
-#elif defined(__mc68000__) \
+#elif defined(__mc68000__) \
+ || (defined(__arm__) && (defined(ARMEB) || defined(__ARMEB__))) \
|| defined (__sparc__) \
|| defined (__sparc) \
|| defined (__PPC__) \