SAFE_BYTE_GET64

Functions dealing with lack of a 64-bit integer type can disappear now
that we require C99.  Printing using dwarf_vmatoa is better too.

binutils/
	* dwarf.c (dwarf_vmatoa64, SAFE_BYTE_GET64, add64): Delete.
	(skip_attr_bytes): Replace use of SAFE_BYTE_GET64 with
	SAFE_BYTE_GET_AND_INC.
	(read_and_display_attr_value): Likewise.  Print using dwarf_vmatoa.
	(process_debug_info, process_cu_tu_index): Likewise.
	* elfcomm.c (byte_put, byte_put_little_endian, byte_put_big_endian),
	(byte_get, byte_get_little_endian, byte_get_big_endian),
	(byte_get_signed): Make size param unsigned.  Remove code dealing
	with 4-byte elf_vma.
	(byte_get_64): Delete.
	* elfcomm.h  (byte_put, byte_put_little_endian, byte_put_big_endian),
	(byte_get, byte_get_little_endian, byte_get_big_endian),
	(byte_get_signed): Update prototypes.
	(byte_get_64): Delete.
gas/
	* testsuite/gas/elf/dwarf-5-file0.d: Update.
	* testsuite/gas/i386/dwarf5-line-1.d: Update.
This commit is contained in:
Alan Modra
2021-05-12 17:48:13 +09:30
parent 0d872fca02
commit af2ddf69ab
7 changed files with 92 additions and 276 deletions

View File

@ -31,15 +31,14 @@ extern void warn (const char *, ...) ATTRIBUTE_PRINTF_1;
typedef unsigned HOST_WIDEST_INT elf_vma;
extern void (*byte_put) (unsigned char *, elf_vma, int);
extern void byte_put_little_endian (unsigned char *, elf_vma, int);
extern void byte_put_big_endian (unsigned char *, elf_vma, int);
extern void (*byte_put) (unsigned char *, elf_vma, unsigned int);
extern void byte_put_little_endian (unsigned char *, elf_vma, unsigned int);
extern void byte_put_big_endian (unsigned char *, elf_vma, unsigned int);
extern elf_vma (*byte_get) (const unsigned char *, int);
extern elf_vma byte_get_signed (const unsigned char *, int);
extern elf_vma byte_get_little_endian (const unsigned char *, int);
extern elf_vma byte_get_big_endian (const unsigned char *, int);
extern void byte_get_64 (const unsigned char *, elf_vma *, elf_vma *);
extern elf_vma (*byte_get) (const unsigned char *, unsigned int);
extern elf_vma byte_get_signed (const unsigned char *, unsigned int);
extern elf_vma byte_get_little_endian (const unsigned char *, unsigned int);
extern elf_vma byte_get_big_endian (const unsigned char *, unsigned int);
#define BYTE_PUT(field, val) byte_put (field, val, sizeof (field))
#define BYTE_GET(field) byte_get (field, sizeof (field))