int bfd_get_arch_size (bfd *abfd) { if (abfd->xvec->flavour == bfd_target_elf_flavour) return get_elf_backend_data (abfd)->s->arch_size; return bfd_arch_bits_per_address (abfd) > 32 ? 64 : 32; }
static bfd_boolean is32bit (bfd *abfd) { if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) { const struct elf_backend_data *bed = get_elf_backend_data (abfd); return bed->s->elfclass == ELFCLASS32; } /* For non-ELF targets, use architecture information. */ return bfd_arch_bits_per_address (abfd) <= 32; }
void showStats() { (void)printf("Filename: %s\n\n", bfd_get_filename(abfd)); (void)printf("File's target: %s\n", bfd_get_target(abfd)); (void)printf("File's endianess: "); if (bfd_little_endian(abfd)) (void)printf("little endian\n"); else (void)printf("big endian\n"); (void)printf("Bits per byte on file's arch: %u bits\n", bfd_arch_bits_per_byte(abfd)); (void)printf("Bits per address on file's arch: %u bits\n\n", bfd_arch_bits_per_address(abfd)); (void)printf("Start address: %p\n", (void *)bfd_get_start_address(abfd)); }