This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA] Eliminate byteswap.h functions from record.c
- From: Michael Snyder <msnyder at vmware dot com>
- To: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Fri, 23 Oct 2009 09:38:11 -0700
- Subject: [RFA] Eliminate byteswap.h functions from record.c
Since these aren't available on all hosts, let's use the
"native gdb" method.
2009-10-23 Michael Snyder <msnyder@vmware.com>
* record.c (top level): Don't include byteswap.h.
(netorder64): Use store_unsigned_integer instead of bswap_64.
(netorder32): Use store_unsigned_integer instead of bswap_32.
(netorder16): Use store_unsigned_integer instead of bswap_16.
Index: record.c
===================================================================
RCS file: /cvs/src/src/gdb/record.c,v
retrieving revision 1.33
diff -u -p -r1.33 record.c
--- record.c 23 Oct 2009 16:11:37 -0000 1.33
+++ record.c 23 Oct 2009 16:40:05 -0000
@@ -31,7 +31,6 @@
#include "elf-bfd.h"
#include "gcore.h"
-#include <byteswap.h>
#include <signal.h>
/* This module implements "target record", also known as "process
@@ -1953,27 +1952,33 @@ bfdcore_read (bfd *obfd, asection *osec,
}
static inline uint64_t
-netorder64 (uint64_t fromfile)
+netorder64 (uint64_t input)
{
- return (BYTE_ORDER == BFD_ENDIAN_LITTLE)
- ? bswap_64 (fromfile)
- : fromfile;
+ uint64_t ret;
+
+ store_unsigned_integer ((gdb_byte *) &ret, sizeof (ret),
+ BYTE_ORDER, input);
+ return ret;
}
static inline uint32_t
-netorder32 (uint32_t fromfile)
+netorder32 (uint32_t input)
{
- return (BYTE_ORDER == BFD_ENDIAN_LITTLE)
- ? bswap_32 (fromfile)
- : fromfile;
+ uint32_t ret;
+
+ store_unsigned_integer ((gdb_byte *) &ret, sizeof (ret),
+ BYTE_ORDER, input);
+ return ret;
}
static inline uint16_t
-netorder16 (uint16_t fromfile)
+netorder16 (uint16_t input)
{
- return (BYTE_ORDER == BFD_ENDIAN_LITTLE)
- ? bswap_16 (fromfile)
- : fromfile;
+ uint16_t ret;
+
+ store_unsigned_integer ((gdb_byte *) &ret, sizeof (ret),
+ BYTE_ORDER, input);
+ return ret;
}
/* Restore the execution log from a core_bfd file. */