From ec4525259262492b61fb9bd2f9acdf156ab037fc Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 22 Apr 2024 16:10:14 -0400 Subject: gdb: move store/extract integer functions to extract-store-integer.{c,h} Move the declarations out of defs.h, and the implementations out of findvar.c. I opted for a new file, because this functionality of converting integers to bytes and vice-versa seems a bit to generic to live in findvar.c. Change-Id: I524858fca33901ee2150c582bac16042148d2251 Approved-By: John Baldwin --- gdb/defs.h | 89 -------------------------------------------------------------- 1 file changed, 89 deletions(-) (limited to 'gdb/defs.h') diff --git a/gdb/defs.h b/gdb/defs.h index be5c9b7..5da8ce7 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -422,95 +422,6 @@ enum symbol_needs_kind SYMBOL_NEEDS_FRAME }; -/* In findvar.c. */ - -template> -T extract_integer (gdb::array_view, enum bfd_endian byte_order); - -static inline LONGEST -extract_signed_integer (gdb::array_view buf, - enum bfd_endian byte_order) -{ - return extract_integer (buf, byte_order); -} - -static inline LONGEST -extract_signed_integer (const gdb_byte *addr, int len, - enum bfd_endian byte_order) -{ - return extract_signed_integer (gdb::array_view (addr, len), - byte_order); -} - -static inline ULONGEST -extract_unsigned_integer (gdb::array_view buf, - enum bfd_endian byte_order) -{ - return extract_integer (buf, byte_order); -} - -static inline ULONGEST -extract_unsigned_integer (const gdb_byte *addr, int len, - enum bfd_endian byte_order) -{ - return extract_unsigned_integer (gdb::array_view (addr, len), - byte_order); -} - -extern CORE_ADDR extract_typed_address (const gdb_byte *buf, - struct type *type); - -/* All 'store' functions accept a host-format integer and store a - target-format integer at ADDR which is LEN bytes long. */ - -template> -extern void store_integer (gdb::array_view dst, - bfd_endian byte_order, T val); - -template -static inline void -store_integer (gdb_byte *addr, int len, bfd_endian byte_order, T val) -{ - return store_integer (gdb::make_array_view (addr, len), byte_order, val); -} - -static inline void -store_signed_integer (gdb::array_view dst, bfd_endian byte_order, - LONGEST val) -{ - return store_integer (dst, byte_order, val); -} - -static inline void -store_signed_integer (gdb_byte *addr, int len, bfd_endian byte_order, - LONGEST val) -{ - return store_signed_integer (gdb::make_array_view (addr, len), byte_order, - val); -} - -static inline void -store_unsigned_integer (gdb::array_view dst, bfd_endian byte_order, - ULONGEST val) -{ - return store_integer (dst, byte_order, val); -} - -static inline void -store_unsigned_integer (gdb_byte *addr, int len, bfd_endian byte_order, - ULONGEST val) -{ - return store_unsigned_integer (gdb::make_array_view (addr, len), byte_order, - val); -} - -extern void store_typed_address (gdb_byte *buf, struct type *type, - CORE_ADDR addr); - -extern void copy_integer_to_size (gdb_byte *dest, int dest_size, - const gdb_byte *source, int source_size, - bool is_signed, enum bfd_endian byte_order); - /* Hooks for alternate command interfaces. */ struct target_waitstatus; -- cgit v1.1