]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Clean up endianness macros a bit. Now pub_tool_basics.h defines
authorJulian Seward <jseward@acm.org>
Sun, 10 Jul 2005 00:53:42 +0000 (00:53 +0000)
committerJulian Seward <jseward@acm.org>
Sun, 10 Jul 2005 00:53:42 +0000 (00:53 +0000)
VG_LITTLEENDIAN or VG_BIGENDIAN and that's what should be used.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4142

coregrind/m_debuginfo/symtab.c
coregrind/m_ume.c
coregrind/pub_core_machine.h
include/pub_tool_basics.h
memcheck/mc_translate.c

index a807ee8820f4cbd103e889fb3788e12843bc1572..80d253906024299ea6f25e42917aa72d3b9b3c68 100644 (file)
@@ -906,7 +906,7 @@ Bool VG_(is_object_file)(const void *buf)
              && ehdr->e_ident[EI_MAG2] == 'L'
              && ehdr->e_ident[EI_MAG3] == 'F');
       ok &= (ehdr->e_ident[EI_CLASS] == VG_ELF_CLASS
-             && ehdr->e_ident[EI_DATA] == VG_ELF_ENDIANNESS
+             && ehdr->e_ident[EI_DATA] == VG_ELF_DATA2XXX
              && ehdr->e_ident[EI_VERSION] == EV_CURRENT);
       ok &= (ehdr->e_type == ET_EXEC || ehdr->e_type == ET_DYN);
       ok &= (ehdr->e_machine == VG_ELF_MACHINE);
index 8bf91d18e5b777f171ed23a3b5f1029383b15180..6b0cbd17c9dfb4c452fce1d8d7b366ba5ac32ca3 100644 (file)
@@ -288,7 +288,7 @@ struct elfinfo *readelf(int fd, const char *filename)
               "(eg. 32-bit instead of 64-bit)\n");
       goto bad;
    }
-   if (e->e.e_ident[EI_DATA] != VG_ELF_ENDIANNESS) {
+   if (e->e.e_ident[EI_DATA] != VG_ELF_DATA2XXX) {
       fprintf(stderr, "valgrind: executable has wrong endian-ness\n");
       goto bad;
    }
index 3604ea41a7df889ceeb2fd0ab69cddf01b83ceb3..8b9cdba27f2392f0b49cc981fd2343f57982cf32 100644 (file)
 #include "pub_tool_machine.h"
 
 #if defined(VGA_x86)
-#  define VG_ELF_ENDIANNESS   ELFDATA2LSB
+#  define VG_ELF_DATA2XXX     ELFDATA2LSB
 #  define VG_ELF_MACHINE      EM_386
 #  define VG_ELF_CLASS        ELFCLASS32
 #elif defined(VGA_amd64)
-#  define VG_ELF_ENDIANNESS   ELFDATA2LSB
+#  define VG_ELF_DATA2XXX     ELFDATA2LSB
 #  define VG_ELF_MACHINE      EM_X86_64
 #  define VG_ELF_CLASS        ELFCLASS64
 #elif defined(VGA_ppc32)
-#  define VG_ELF_ENDIANNESS   ELFDATA2MSB
+#  define VG_ELF_DATA2XXX     ELFDATA2MSB
 #  define VG_ELF_MACHINE      EM_PPC
 #  define VG_ELF_CLASS        ELFCLASS32
 #else
index 67345b8531506448ed0929a413bad8d172eb04f7..90882e43ae1271bb007c589830714d170f5505b3 100644 (file)
@@ -109,13 +109,24 @@ typedef struct {
 SysRes;
 
 /* ---------------------------------------------------------------------
-   Miscellaneous
+   Miscellaneous (word size, endianness, regparmness)
    ------------------------------------------------------------------ */
 
-/* This is going to be either 4 or 8. */
+/* Word size: this is going to be either 4 or 8. */
 // It should probably be in m_machine.
 #define VG_WORDSIZE VEX_HOST_WORDSIZE
 
+/* Endianness */
+#undef VG_BIGENDIAN
+#undef VG_LITTLEENDIAN
+
+#if defined(VGA_x86) || defined(VGA_amd64)
+#  define VG_LITTLEENDIAN 1
+#elif defined(VGA_ppc32)
+#  define VG_BIGENDIAN 1
+#endif
+
+/* Regparmness */
 #if defined(VGA_x86)
 #  define VG_REGPARM(n)            __attribute__((regparm(n)))
 #elif defined(VGA_amd64) || defined(VGA_ppc32)
index 49590ee5988e72fa8b59508974f6e0c728addcb4..0579897b08f48ed514cb3e8136e5e514a864aab1 100644 (file)
@@ -2367,9 +2367,9 @@ void do_shadow_Dirty ( MCEnv* mce, IRDirty* d )
    IREndness end;
 
    /* What's the native endianness?  We need to know this. */
-#  if defined(VKI_BIG_ENDIAN)
+#  if defined(VG_BIGENDIAN)
    end = Iend_BE;
-#  elif defined(VKI_LITTLE_ENDIAN)
+#  elif defined(VG_LITTLEENDIAN)
    end = Iend_LE;
 #  else
 #    error "Unknown endianness"