mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-29 10:30:46 +00:00
Avoid undefined behaviour with signed expressions
PR 17453 bfd/ * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types. (EIGHT_GAZILLION): Delete. binutils/ * dwarf.c (read_leb128): Avoid signed overflow. (read_debug_line_header): Likewise. gas/ * config/tc-i386.c (fits_in_signed_long): Use unsigned param and expression to avoid signed overflow. (fits_in_signed_byte, fits_in_unsigned_byte, fits_in_unsigned_word, fits_in_signed_word, fits_in_unsigned_long): Similarly. * expr.c (operand <'-'>): Avoid signed overflow. * read.c (s_comm_internal): Likewise.
This commit is contained in:
@@ -2309,7 +2309,7 @@ relax_align (register relax_addressT address, /* Address now. */
|
||||
relax_addressT mask;
|
||||
relax_addressT new_address;
|
||||
|
||||
mask = ~((~0) << alignment);
|
||||
mask = ~((relax_addressT) ~0 << alignment);
|
||||
new_address = (address + mask) & (~mask);
|
||||
#ifdef LINKER_RELAXING_SHRINKS_ONLY
|
||||
if (linkrelax)
|
||||
|
||||
Reference in New Issue
Block a user