diff options
author | Ian Lance Taylor <iant@google.com> | 2007-10-01 21:25:23 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-10-01 21:25:23 +0000 |
commit | 5b3463d9ee95e3b9631851ef51dd37377949b06d (patch) | |
tree | a97823681001d33a2eb5b078babde3f1f7812ad9 /elfcpp | |
parent | 3a9eaa7da6fb02fcd137b2b7a4f99c6eb0221abd (diff) | |
download | gdb-5b3463d9ee95e3b9631851ef51dd37377949b06d.zip gdb-5b3463d9ee95e3b9631851ef51dd37377949b06d.tar.gz gdb-5b3463d9ee95e3b9631851ef51dd37377949b06d.tar.bz2 |
Add Signed_valtype and use it for sign extension. Fix names of rela8.
Diffstat (limited to 'elfcpp')
-rw-r--r-- | elfcpp/elfcpp_swap.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/elfcpp/elfcpp_swap.h b/elfcpp/elfcpp_swap.h index 24ffccd..329ed16 100644 --- a/elfcpp/elfcpp_swap.h +++ b/elfcpp/elfcpp_swap.h @@ -53,8 +53,8 @@ struct Endian }; // Valtype_base is a template based on size (8, 16, 32, 64) which -// defines the type Valtype as the unsigned integer of the specified -// size. +// defines the type Valtype as the unsigned integer, and +// Signed_valtype as the signed integer, of the specified size. template<int size> struct Valtype_base; @@ -62,25 +62,29 @@ struct Valtype_base; template<> struct Valtype_base<8> { - typedef unsigned char Valtype; + typedef uint8_t Valtype; + typedef int8_t Signed_valtype; }; template<> struct Valtype_base<16> { typedef uint16_t Valtype; + typedef int16_t Signed_valtype; }; template<> struct Valtype_base<32> { typedef uint32_t Valtype; + typedef int32_t Signed_valtype; }; template<> struct Valtype_base<64> { typedef uint64_t Valtype; + typedef int64_t Signed_valtype; }; // Convert_endian is a template based on size and on whether the host |