This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: Commit: Tidy up readelf's use of boolean values
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Nick Clifton <nickc at redhat dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Fri, 24 Feb 2017 09:36:11 -0800
- Subject: Re: Commit: Tidy up readelf's use of boolean values
- Authentication-results: sourceware.org; auth=none
- References: <874lzjy7af.fsf@redhat.com>
On Fri, Feb 24, 2017 at 6:47 AM, Nick Clifton <nickc@redhat.com> wrote:
> Hi Guys,
>
> I have been meaning to tidy up readelf's use of boolean values for a
> long time now, and I finally gotten the time to do so. The attached
> patch basically does two things:
>
> * Replaces an "int" type with "bfd_boolean" when the variable
> is being used as a boolean value.
>
> * Inverts the logic of some of the higher level functions so
> that now all boolean functions return TRUE upon success and
> FALSE upon failure.
>
> Tested, with no regressions, on lots of different targets.
>
> Cheers
> Nick
>
> binutils/ChangeLog
> 2017-02-24 Nick Clifton <nickc@redhat.com>
>
> * readelf.c (show_name, do_dynamic, do_syms, do_dyn_syms,
> (do_reloc, do_sections, do_section_groups, do_section_details,
> (do_segments, do_unwind, do_using_dynamic, do_header, do_dump,
> (do_version, do_histogram, do_debugging, do_arch, do_notes,
> (do_archive_index, is_32bit_elf, decompress_dumps): Use
> bfd_boolean type.
> (parse_args): Treat the do_* variables as booleans.
> (print_vma): Return an unsigned int.
> (print_symbol): Change width parameter to signed int.
> (is_ia64_vms): Change return type to bfd_boolean.
> (guess_is_rela): Likewise.
> (slurp_rela_relocs): Likewise.
> (slurp_rel_relocs): Likewise.
> (dump_relocations): Likewise.
> (process_file_header): Likewise.
> (get_program_headers): Likewise.
> (process_program_headers): Likewise.
> (process_section_headers): Likewise.
> (process_section_groups): Likewise.
> (dump_ia64_vms_dynamic_fixups): Likewise.
> (dump_ia64_vms_dynamic_relocs): Likewise.
> (process_ia64_vms_dynamic_relocs): Likewise.
> (process_relocs): Likewise.
> (dump_ia64_unwind): Likewise.
> (ia64_process_unwind): Likewise.
> (dump_hppa_unwind): Likewise.
> (slurp_hppa_unwind_table): Likewise.
> (hppa_process_unwind): Likewise.
> (decode_arm_unwind_bytecode): Likewise.
> (decode_tic6x_unwind_bytecode): Likewise.
> (decode_arm_unwind): Likewise.
> (dump_arm_unwind): Likewise.
> (arm_process_unwind): Likewise.
> (process_unwind): Likewise.
> (get_32bit_dynamic_section): Likewise.
> (get_64bit_dynamic_section): Likewise.
> (process_dynamic_section): Likewise.
> (process_version_sections): Likewise.
> (process_symbol_table): Likewise.
> (process_syminfo): Likewise.
> (apply_relocations): Likewise.
> (disassemble_section): Likewise.
> (dump_section_as_strings): Likewise.
> (dump_section_as_bytes): Likewise.
> (load_specific_debug_section): Likewise.
> (load_debug_section): Likewise.
> (display_debug_section): Likewise.
> (process_section_contents): Likewise.
> (process_attributes): Likewise.
> (process_nds32_specific): Likewise.
> (process_gnu_liblist): Likewise.
> (print_core_note): Likewise.
> (print_gnu_note): Likewise.
> (print_v850_note): Likewise.
> (process_netbsd_elf_note): Likewise.
> (print_stapsdt_note): Likewise.
> (print_ia64_vms_note): Likewise.
> (process_note): Likewise.
> (process_notes_at): Likewise.
> (process_corefile_note_segments): Likewise.
> (process_v850_notes): Likewise.
> (process_note_sections): Likewise.
> (process_notes): Likewise.
> (process_arch_specific): Likewise.
> (get_file_header): Likewise.
> (process_object): Likewise.
> (process_archive): Likewise.
> (process_file): Likewise.
> (section_subset): Make static.
> (get_mips_reg_size): Return a signed integer.
> (process_object): Reverse the logic of the return value.
> (process_archive): Likewise.
> (process_file): Likewise.
>
I got
UNRESOLVED: objcopy (ELF group)
UNRESOLVED: objcopy (ELF group)
UNRESOLVED: objcopy (ELF group)
UNRESOLVED: objcopy (ELF group)
on Linux/x86. The difference is the extra
There is no dynamic section in this file.
from readelf -a.
--
H.J.