Browse Source

PR26458 UBSAN: elf32-i386.c:3615 left shift of negative value

Happens when poking symbol index -2 into r_info.  (The index is
updated before writing out to file.)

	PR 26458
	* elf/common.h (ELF32_R_INFO): Cast symbol index to unsigned.
gdb-10-branch
Alan Modra 6 years ago
parent
commit
1673aff569
  1. 5
      include/ChangeLog
  2. 2
      include/elf/common.h

5
include/ChangeLog

@ -1,3 +1,8 @@
2020-08-26 Alan Modra <amodra@gmail.com>
PR 26458
* elf/common.h (ELF32_R_INFO): Cast symbol index to unsigned.
2020-08-24 Cooper Qu <cooper.qu@linux.alibaba.com>
* opcode/csky.h (CSKYV2_ISA_10E60): New.

2
include/elf/common.h

@ -942,7 +942,7 @@
#define ELF32_R_SYM(i) ((i) >> 8)
#define ELF32_R_TYPE(i) ((i) & 0xff)
#define ELF32_R_INFO(s,t) (((s) << 8) + ((t) & 0xff))
#define ELF32_R_INFO(s,t) (((unsigned) (s) << 8) + ((t) & 0xff))
#define ELF64_R_SYM(i) ((i) >> 32)
#define ELF64_R_TYPE(i) ((i) & 0xffffffff)

Loading…
Cancel
Save