forked from Imagelibrary/binutils-gdb
include: always do unsigned left-shift in CTF_SET_STID
This turns into a signed left shift by 31 bits, otherwise. This is an offset and is always treated as unsigned in any case, so add an appropriate cast. include/ChangeLog 2021-03-25 Nick Alcock <nick.alcock@oracle.com> PR libctf/27628 * ctf-api.h: Fix some indentation. (CTF_SET_STID): Always do an unsigned shift, even if STID is signed.
This commit is contained in:
@@ -1,3 +1,10 @@
|
|||||||
|
2021-03-25 Nick Alcock <nick.alcock@oracle.com>
|
||||||
|
|
||||||
|
PR libctf/27628
|
||||||
|
* ctf-api.h: Fix some indentation.
|
||||||
|
(CTF_SET_STID): Always do an unsigned shift, even if STID is
|
||||||
|
signed.
|
||||||
|
|
||||||
2021-03-19 H.J. Lu <hongjiu.lu@intel.com>
|
2021-03-19 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* elf/common.h (EM_INTEL205): Renamed to ...
|
* elf/common.h (EM_INTEL205): Renamed to ...
|
||||||
|
|||||||
@@ -358,9 +358,9 @@ union
|
|||||||
c.ctt_info = CTF_TYPE_INFO(kind, vlen);
|
c.ctt_info = CTF_TYPE_INFO(kind, vlen);
|
||||||
c.ctt_name = CTF_TYPE_NAME(stid, offset); */
|
c.ctt_name = CTF_TYPE_NAME(stid, offset); */
|
||||||
|
|
||||||
# define CTF_V1_INFO_KIND(info) (((info) & 0xf800) >> 11)
|
#define CTF_V1_INFO_KIND(info) (((info) & 0xf800) >> 11)
|
||||||
# define CTF_V1_INFO_ISROOT(info) (((info) & 0x0400) >> 10)
|
#define CTF_V1_INFO_ISROOT(info) (((info) & 0x0400) >> 10)
|
||||||
# define CTF_V1_INFO_VLEN(info) (((info) & CTF_MAX_VLEN_V1))
|
#define CTF_V1_INFO_VLEN(info) (((info) & CTF_MAX_VLEN_V1))
|
||||||
|
|
||||||
#define CTF_V2_INFO_KIND(info) (((info) & 0xfc000000) >> 26)
|
#define CTF_V2_INFO_KIND(info) (((info) & 0xfc000000) >> 26)
|
||||||
#define CTF_V2_INFO_ISROOT(info) (((info) & 0x2000000) >> 25)
|
#define CTF_V2_INFO_ISROOT(info) (((info) & 0x2000000) >> 25)
|
||||||
@@ -368,7 +368,7 @@ union
|
|||||||
|
|
||||||
#define CTF_NAME_STID(name) ((name) >> 31)
|
#define CTF_NAME_STID(name) ((name) >> 31)
|
||||||
#define CTF_NAME_OFFSET(name) ((name) & CTF_MAX_NAME)
|
#define CTF_NAME_OFFSET(name) ((name) & CTF_MAX_NAME)
|
||||||
#define CTF_SET_STID(name, stid) ((name) | (stid) << 31)
|
#define CTF_SET_STID(name, stid) ((name) | ((unsigned int) stid) << 31)
|
||||||
|
|
||||||
/* V2 only. */
|
/* V2 only. */
|
||||||
#define CTF_TYPE_INFO(kind, isroot, vlen) \
|
#define CTF_TYPE_INFO(kind, isroot, vlen) \
|
||||||
@@ -387,10 +387,10 @@ union
|
|||||||
#define CTF_V2_TYPE_TO_INDEX(id) ((id) & CTF_MAX_PTYPE)
|
#define CTF_V2_TYPE_TO_INDEX(id) ((id) & CTF_MAX_PTYPE)
|
||||||
#define CTF_V2_INDEX_TO_TYPE(id, child) ((child) ? ((id) | (CTF_MAX_PTYPE+1)) : (id))
|
#define CTF_V2_INDEX_TO_TYPE(id, child) ((child) ? ((id) | (CTF_MAX_PTYPE+1)) : (id))
|
||||||
|
|
||||||
# define CTF_V1_TYPE_ISPARENT(fp, id) ((id) <= CTF_MAX_PTYPE_V1)
|
#define CTF_V1_TYPE_ISPARENT(fp, id) ((id) <= CTF_MAX_PTYPE_V1)
|
||||||
# define CTF_V1_TYPE_ISCHILD(fp, id) ((id) > CTF_MAX_PTYPE_V1)
|
#define CTF_V1_TYPE_ISCHILD(fp, id) ((id) > CTF_MAX_PTYPE_V1)
|
||||||
# define CTF_V1_TYPE_TO_INDEX(id) ((id) & CTF_MAX_PTYPE_V1)
|
#define CTF_V1_TYPE_TO_INDEX(id) ((id) & CTF_MAX_PTYPE_V1)
|
||||||
# define CTF_V1_INDEX_TO_TYPE(id, child) ((child) ? ((id) | (CTF_MAX_PTYPE_V1+1)) : (id))
|
#define CTF_V1_INDEX_TO_TYPE(id, child) ((child) ? ((id) | (CTF_MAX_PTYPE_V1+1)) : (id))
|
||||||
|
|
||||||
/* Valid for both V1 and V2. */
|
/* Valid for both V1 and V2. */
|
||||||
#define CTF_TYPE_LSIZE(cttp) \
|
#define CTF_TYPE_LSIZE(cttp) \
|
||||||
|
|||||||
Reference in New Issue
Block a user