diff --git a/pstack.c b/pstack.c index a102492..58e8da0 100644 --- a/pstack.c +++ b/pstack.c @@ -85,10 +85,19 @@ #ifdef __ORDER_LITTLE_ENDIAN__ #define ELF_EI_DATA ELFDATA2LSB #define ELF_ENDIANNESS_ERRSTR "big" +#elif defined(__ORDER_BIG_ENDIAN__) +#define ELF_EI_DATA ELFDATA2MSB +#define ELF_ENDIANNESS_ERRSTR "little" +#else +#include +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define ELF_EI_DATA ELFDATA2LSB +#define ELF_ENDIANNESS_ERRSTR "big" #else #define ELF_EI_DATA ELFDATA2MSB #define ELF_ENDIANNESS_ERRSTR "little" #endif +#endif /* Machine dependant: ELF machine name, registers name and stack layout */ #if defined(__i386__) || defined(__x86_64__)