- if (sizeof (elf_vma) == 8)
- return ((elf_vma) (field[0]))
- | (((elf_vma) (field[1])) << 8)
- | (((elf_vma) (field[2])) << 16)
- | (((elf_vma) (field[3])) << 24)
- | (((elf_vma) (field[4])) << 32)
- | (((elf_vma) (field[5])) << 40)
- | (((elf_vma) (field[6])) << 48)
- | (((elf_vma) (field[7])) << 56);
- else if (sizeof (elf_vma) == 4)
- /* We want to extract data from an 8 byte wide field and
- place it into a 4 byte wide field. Since this is a little
- endian source we can just use the 4 byte extraction code. */
- return ((unsigned long) (field[0]))
- | (((unsigned long) (field[1])) << 8)
- | (((unsigned long) (field[2])) << 16)
- | (((unsigned long) (field[3])) << 24);
- /* Fall through. */
+ return ((uint64_t) field[0]
+ | ((uint64_t) field[1] << 8)
+ | ((uint64_t) field[2] << 16)
+ | ((uint64_t) field[3] << 24)
+ | ((uint64_t) field[4] << 32)
+ | ((uint64_t) field[5] << 40)
+ | ((uint64_t) field[6] << 48)
+ | ((uint64_t) field[7] << 56));