forked from Imagelibrary/binutils-gdb
* dwarf.c (byte_get_little_endian): Handle size of 3.
(byte_get_big_endian): Likewise. * readelf.c (byte_put_little_endian): Likewise. (byte_put_big_endian): Likewise. (is_24bit_abs_reloc): New function. (is_none_reloc): Formatting. (apply_relocations): Use is_24bit_abs_reloc. Handle pj and xtensa reloc peculiarity.
This commit is contained in:
@@ -72,6 +72,11 @@ byte_get_little_endian (unsigned char *field, int size)
|
||||
return ((unsigned int) (field[0]))
|
||||
| (((unsigned int) (field[1])) << 8);
|
||||
|
||||
case 3:
|
||||
return ((unsigned long) (field[0]))
|
||||
| (((unsigned long) (field[1])) << 8)
|
||||
| (((unsigned long) (field[2])) << 16);
|
||||
|
||||
case 4:
|
||||
return ((unsigned long) (field[0]))
|
||||
| (((unsigned long) (field[1])) << 8)
|
||||
@@ -114,6 +119,11 @@ byte_get_big_endian (unsigned char *field, int size)
|
||||
case 2:
|
||||
return ((unsigned int) (field[1])) | (((int) (field[0])) << 8);
|
||||
|
||||
case 3:
|
||||
return ((unsigned long) (field[2]))
|
||||
| (((unsigned long) (field[1])) << 8)
|
||||
| (((unsigned long) (field[0])) << 16);
|
||||
|
||||
case 4:
|
||||
return ((unsigned long) (field[3]))
|
||||
| (((unsigned long) (field[2])) << 8)
|
||||
|
||||
Reference in New Issue
Block a user