adb: Improved detection of big endian architecture

Instead of testing for the (compiler specific) define
__ppc__ explicitly, use the define HAVE_BIG_ENDIAN provided by
AndroidConfig.h.  That way, it should work on all big endian
systems.

Change-Id: Ic4d62afcefce4c8ad5716178ebfcb2b055ac73ce
This commit is contained in:
Marcus Comstedt 2010-09-22 22:16:54 +02:00
parent f41986bbc7
commit d340d2f57d
3 changed files with 5 additions and 6 deletions

View File

@ -17,7 +17,7 @@
#ifndef _FILE_SYNC_SERVICE_H_
#define _FILE_SYNC_SERVICE_H_
#ifdef __ppc__
#ifdef HAVE_BIG_ENDIAN
static inline unsigned __swap_uint32(unsigned x)
{
return (((x) & 0xFF000000) >> 24)

View File

@ -25,7 +25,7 @@
#define TRACE_TAG TRACE_TRANSPORT
#include "adb.h"
#ifdef __ppc__
#ifdef HAVE_BIG_ENDIAN
#define H4(x) (((x) & 0xFF000000) >> 24) | (((x) & 0x00FF0000) >> 8) | (((x) & 0x0000FF00) << 8) | (((x) & 0x000000FF) << 24)
static inline void fix_endians(apacket *p)
{
@ -61,7 +61,7 @@ static int remote_read(apacket *p, atransport *t)
fix_endians(p);
#if 0 && defined __ppc__
#if 0 && defined HAVE_BIG_ENDIAN
D("read remote packet: %04x arg0=%0x arg1=%0x data_length=%0x data_check=%0x magic=%0x\n",
p->msg.command, p->msg.arg0, p->msg.arg1, p->msg.data_length, p->msg.data_check, p->msg.magic);
#endif
@ -89,7 +89,7 @@ static int remote_write(apacket *p, atransport *t)
fix_endians(p);
#if 0 && defined __ppc__
#if 0 && defined HAVE_BIG_ENDIAN
D("write remote packet: %04x arg0=%0x arg1=%0x data_length=%0x data_check=%0x magic=%0x\n",
p->msg.command, p->msg.arg0, p->msg.arg1, p->msg.data_length, p->msg.data_check, p->msg.magic);
#endif

View File

@ -27,8 +27,7 @@
#include "usb_vendors.h"
#endif
/* XXX better define? */
#ifdef __ppc__
#ifdef HAVE_BIG_ENDIAN
#define H4(x) (((x) & 0xFF000000) >> 24) | (((x) & 0x00FF0000) >> 8) | (((x) & 0x0000FF00) << 8) | (((x) & 0x000000FF) << 24)
static inline void fix_endians(apacket *p)
{