Age | Commit message (Collapse) | Author | Files | Lines |
|
This converts some of the macros that access struct bfd fields to
inline functions.
bfd/
* archive.c (bfd_generic_archive_p): Use bfd_set_thin_archive.
* bfd-in.h (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
(bfd_get_target, bfd_get_flavour, bfd_family_coff, bfd_big_endian),
(bfd_little_endian, bfd_header_big_endian, bfd_header_little_endian),
(bfd_get_file_flags, bfd_applicable_file_flags),
(bfd_applicable_section_flags, bfd_has_map, bfd_is_thin_archive),
(bfd_valid_reloc_types, bfd_usrdata, bfd_get_start_address),
(bfd_get_symcount, bfd_get_outsymbols, bfd_count_sections),
(bfd_get_dynamic_symcount, bfd_get_symbol_leading_char): Delete.
* bfd/bfd.c (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
(bfd_get_file_flags, bfd_get_start_address, bfd_get_symcount),
(bfd_get_dynamic_symcount, bfd_get_outsymbols, bfd_count_sections),
(bfd_has_map, bfd_is_thin_archive, bfd_set_thin_archive),
(bfd_usrdata, bfd_set_usrdata): New inline functions.
* targets.c (bfd_get_target, bfd_get_flavour),
(bfd_applicable_file_flags, bfd_family_coff, bfd_big_endian),
(bfd_little_endian, bfd_header_big_endian),
(bfd_header_little_endian, bfd_applicable_section_flags),
(bfd_get_symbol_leading_char): New inline functions.
* bfd-in2.h: Regenerate.
binutils/
* ar.c (write_archive): Use bfd_set_thin_archive.
gdb/
* gdb_bfd.c (gdb_bfd_ref, gdb_bfd_unref): Use bfd_set_usrdata.
* dwarf2read.c (dwarf2_read_gdb_index, dwarf2_read_debug_names),
(read_indirect_string_from_dwz): Use bfd accessor.
* dwarf2read.h (struct dwz_file <filename>): Likewise.
* machoread.c (macho_symfile_read_all_oso): Likewise.
* solib.c (solib_bfd_open): Likewise.
ld/
* ldelf.c (ldelf_after_open, ldelf_place_orphan
* ldlang.c (walk_wild_file, lang_process): Use bfd_usrdata.
(load_symbols, ldlang_add_file): Use bfd_set_usrdata.
* ldmain.c (add_archive_element): Use bfd_usrdata.
* ldlang.h (bfd_input_just_syms): New inline function.
* emultempl/aarch64elf.em (build_section_lists): Use it.
* emultempl/mmo.em (mmo_place_orphan): Likewise.
* emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
* emultempl/pep.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
* emultempl/ppc64elf.em (build_section_lists): Likewise.
sim/
* ppc/emul_generic.c (emul_add_tree_options): Delete old bfd code.
|
|
after dash prefixed options.
PR 13256
* ar.c (decode_options): Restart option scanning if no operation
is detected and argument remain to be scanned.
|
|
|
|
This patch performs a run-time test that a shared libbfd.so has been
compiled with the same size bfd_vma as that of apps using the library.
On a 32-bit host it is easily possible to have one libbfd.so compiled
to support 64-bit targets (or configured with --enable-64-bit-bfd)
while another only supports 32-bit targets. The two libraries will
have differently sized bfd_vma types, and if the wrong one is loaded
all sorts of weird behaviour might be seen.
bfd/
PR 23534
* init.c (BFD_INIT_MAGIC): Define.
(bfd_init): Return BFD_INIT_MAGIC.
bfd-in2.h: Regenerate.
binutils/
PR 23534
* addr2line.c (main): Exit with fatal error if bfd_init
returns an unexpected value.
* ar.c (main): Likewise.
* dlltool.c (identify_dll_for_implib): Likewise.
* nm.c (main): Likewise.
* objcopy.c (main): Likewise.
* objdump.c (main): Likewise.
* size.c (main): Likewise.
* strings.c (main): Likewise.
* windmc.c (main): Likewise.
* windres.c (main): Likewise.
gas/
PR 23534
* as.c (main): Exit with fatal error if bfd_init returns an
unexpected value.
ld/
PR 23534
* ldmain.c (main): Exit with fatal error if bfd_init returns
an unexpected value.
|
|
archive.
PR 23107
* ar.c (display_offsets): New variable.
(usage): Add description of 'O' operator.
(decode_option): Handle 'O' operator.
(print_descr): Pass display_offsets to print_arelt_descr.
* arsup.c: Update call to printy_arelt_descr.
* objdump.c: Likewise.
* bucomm.c (print_arelt_descr): If offsets parameter is true then
display offset of archive element within the archive.
* bucomm.h: Update prototype for print_arelt_descr.
* doc/binutils.texi: Update description of ar command.
* NEWS: Mention the new feature.
* testsuite/binutils-all/ar.exp: Add text of new feature.
|
|
|
|
PR 22449
* ar.c (write_archive): Free the temporary file name.
|
|
so that a complaint is not issued in MRI mode.
PR 21433
* ar.c (main): Skip check for no files on the command line when
running in MRI mode.
|
|
PR binutils/21407
* bucomm.c (get_file_size): Return -1 if file_name is NULL.
* ar.c (main): Fail with usage() invocation if no file names are
provided.
|
|
PR 21418
* ar.c (main): Check -a, -b, -i and -N args are given.
|
|
PR 21417
* ar.c (main): Check that an archive file is given after options.
|
|
|
|
Some messing with plugin code in order to not need arelt_size in
ld code. File descriptor handling in ld/plugin.c is tidied too,
simply duping the open fd rather than opening the file again.
bfd/
* elflink.c: Include plugin-api.h.
* plugin.c (bfd_plugin_open_input): New function, extracted from..
(try_claim): ..here.
* plugin.h: Don't include bfd.h.
(bfd_plugin_open_input): Declare.
binutils/
* ar.c: Include plugin-api.h.
* nm.c: Likewise.
ld/
* plugin.c: Don't include libbfd.h. Include plugin-api.h
before bfd/plugin.h.
(plugin_object_p): Use bfd_plugin_open_input.
|
|
Make BFD_ALIGN available to objcopy. Fix assertions. Don't use
bfd_log2 in ppc32elf.em or bfd_malloc in xtensaelf.em and bucomm.c.
bfd/
* libbfd-in.h (BFD_ALIGN): Move to..
* bfd-in.h: ..here.
* elf32-ppc.h (struct ppc_elf_params): Add pagesize.
* elf32-ppc.c (default_params): Adjust init.
(ppc_elf_link_params): Set pagesize_p2.
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
binutils/
* ar.c: Don't include libbfd.h.
* objcopy.c: Likewise.
* bucomm.c (bfd_get_archive_filename): Use xmalloc rather than
bfd_malloc.
gas/
* config/bfin-parse.y: Don't include libbfd.h.
* config/tc-bfin.c: Likewise.
* config/tc-rl78.c: Likewise.
* config/tc-rx.c: Likewise.
* config/tc-metag.c: Likewise.
(create_dspreg_htabs, create_scond_htab): Use gas_assert not BFD_ASSERT.
* Makefile.am: Update dependencies.
* Makefile.in: Regenerate.
ld/
* ldlang.c: Don't include libbfd.h.
* emultempl/nds32elf.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/ppc32elf.em: Likewise.
(pagesize): Delete.
(params): Update init.
(ppc_after_open_output): Use params.pagesize. Don't call bfd_log2.
(PARSE_AND_LIST_ARGS_CASES): Use params.pagesize.
* emultempl/sh64elf.em: Don't include libbfd.h.
(after_allocation): Use ASSERT, not BFD_ASSERT.
* emultempl/xtensaelf.em: Don't include libbfd.h.
(replace_insn_sec_with_prop_sec): Use xmalloc, not bfd_malloc.
* Makefile.am: Update dependencies.
* Makefile.in: Regenerate.
|
|
Many more places use abfd->my_archive rather than bfd_my_archive (abfd),
so let's make the code consistently use the first idiom.
bfd/
* bfd-in.h (bfd_my_archive): Delete.
* bfd-in2.h: Regenerate.
binutils/
* ar.c: Expand uses of bfd_my_archive.
* size.c: Likewise.
ld/
* ldlang.c: Expand uses of bfd_my_archive.
* ldmain.c: Likewise.
* ldmisc.c: Likewise.
* plugin.c: Likewise.
|
|
|
|
|
|
* ar.c (extract_file): Free cbuf if the path is invalid.
|
|
PR binutils/17512
* coffcode.h (coff_set_arch_mach_hook): Check return value from
bfd_malloc.
(coff_slurp_line_table): Return FALSE if the line number
information was corrupt.
(coff_slurp_symbol_table): Return FALSE if the symbol information
was corrupt.
* mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Always
initialise the fields of the dyld_info structure.
(bfd_mach_o_build_exec_seg_command): Replace assertion with an
error message and a return value.
(bfd_mach_o_layout_commands): Change the function to boolean.
Return FALSE if the function fails.
(bfd_mach_o_build_commands): Fail if bfd_mach_o_layout_commands
fails.
(bfd_mach_o_read_command): Fail if an unrecognised command is
encountered.
* peXXigen.c (_bfd_XXi_swap_aouthdr_in): Set bfd_error if the
read fails.
(slurp_symtab): Check the return from bfd_malloc.
(_bfd_XX_bfd_copy_private_bfd_data_common): Fail if the copy
encountered an error.
(_bfd_XXi_final_link_postscript): Fail if a section could not be
copied.
* peicode.h (pe_bfd_object_p): Fail if the header could not be
swapped in.
* tekhex.c (first_phase): Fail if the section is too big.
* versados.c (struct esdid): Add content_size field.
(process_otr): Use and check the new field.
(versados_get_section_contents): Check that the section exists and
that the requested data is available.
PR binutils/17512
* addr2line.c (main): Call bfd_set_error_program_name.
* ar.c (main): Likewise.
* coffdump.c (main): Likewise.
* cxxfilt.c (main): Likewise.
* dlltool.c (main): Likewise.
* nlmconv.c (main): Likewise.
* nm.c (main): Likewise.
* objdump.c (main): Likewise.
* size.c (main): Likewise.
* srconv.c (main): Likewise.
* strings.c (main): Likewise.
* sysdump.c (main): Likewise.
* windmc.c (main): Likewise.
* windres.c (main): Likewise.
* objcopy.c (main): Likewise.
(copy_relocations_in_section): Check for relocs without associated
symbol pointers.
|
|
|
|
archive.
PR binutils/17552, binutils/17533
* bucomm.c (is_valid_archive_path): New function. Returns false
for absolute pathnames and pathnames that include /../.
* bucomm.h (is_valid_archive_path): Add prototype.
* ar.c (extract_file): Use new function to check for valid
pathnames when extracting files from an archive.
* objcopy.c (copy_archive): Likewise.
* doc/binutils.texi: Update documentation to mention the
limitation on pathname of archive members.
|
|
lib/bfd-plugins directory
and have it loaded by default (as long as the --target option isn't used).
PR binutils/14698
ar.c: Set plugin_target early if plugins are supported.
nm.c: Likewise.
|
|
|
|
reading from an mri script.
* ar.c (main): Set the default deterministic mode when reading
from an mri script.
|
|
* ar.c (map_over_members): Correctly handle multiple same-name
entries on the command line and in the archive.
|
|
* config/tc-i386-intel.c (i386_intel_operand): Fixed signed vs
unsigned comparison.
|
|
* ar.c (open_inarch): Fail on attempts to convert a normal archive
to a thin archive or vice versa.
* elfcomm.c (make_qualified_name): Handle corrupted thin
archives.
* readelf.c (process_archive): Likewise.
* doc/binutils.texi: Clarify documentation describing thin
archives.
* archive.c (_bfd_get_elt_at_filepos): Prevent an infinite loop
accessing a corrupt nested archive.
|
|
* objcopy.c (deterministic): Make int rather than bfd_boolean,
initialize to -1.
(strip_options, copy_options): Add -U/--disable-deterministic-archives.
(default_deterministic): New function.
(strip_main, copy_main): Handle -U. Call default_deterministic.
(copy_usage, strip_usage): Describe -U. Cite whether -D or -U is
the default based on DEFAULT_AR_DETERMINISTIC.
* doc/binutils.texi (objcopy, strip): Describe -U and effect of
configure options on -D.
* ar.c (default_deterministic): Comment fix.
|
|
* bucomm.c (print_arelt_descr): Correctly report the archive size
field (for 'ar tv').
* ar.c (print_contents): Use correct types for archive element
sizes (for 'ar p').
(extract_file): Likewise (for 'ar x').
|
|
* ar.c: Don't include headers already included by sysdep.h.
* bucomm.c: Likewise.
* budbg.h: Likewise.
* dlltool.h: Likewise.
* elfedit.c: Likewise.
* nlmconv.c: Likewise.
* objcopy.c: Likewise.
* objdump.c: Likewise.
* objdump.h: Likewise.
* readelf.c: Likewise.
* rename.c: Likewise.
* resrc.c: Likewise.
* strings.c: Likewise.
* windres.c: Likewise.
* od-macho.c: Ensure #include sysdep.h is first.
* od-xcoff.c: Likewise.
* dllwrap.c: Remove alloca pragma handled by sysdep.h, and
remove duplicate headers.
* dlltool.c: Likewise and ensure #include sysdep.h is first.
|
|
* ar.c (ranlib_main): Process --plugin option.
* doc/binutils.texi: Document --plugin support for ranlib.
|
|
argument. Set DEFAULT_AR_DETERMINISTIC to 1 or 0 accordingly.
* configure: Regenerated.
* config.in: Regenerated.
* ar.c (deterministic): Initialize to -1.
(decode_options, ranlib_main): Grok U option.
(usage, ranlib_usage): Mention U; say for D and U which is the default.
(default_deterministic): New function.
(ranlib_main): Call it.
(main): Likewise. Make newer_only && deterministic error
non-fatal if it was just DEFAULT_AR_DETERMINISTIC and not the D option.
* doc/binutils.texi (ar cmdline, ranlib): Document U modifier and
--enable-deterministic-archives behavior.
|
|
(ranlib_main): Parse -D.
(ranlib_touch): Set BFD_DETERMINISTIC_OUTPUT under -D.
* doc/binutils.texi (ranlib): Describe -D, and also --help/-h/-H.
|
|
2011-10-16 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/13278
* ar.c (open_inarch): Set the target from the the first object
on the list only if it isn't set.
|
|
Fixes to aid translation:
* addr2line.c (translate_address): Add comments describing context
of a couple of printf statements.
* ar.c (write_archive): Allow translation of error message.
* bucomm.c (endian_string): Allow translation of strings.
(display_target_list): Allow translation.
* coffdump.c (dump_coff_type): Allow translation of output.
(dump_coff_where): Likewise.
(dump_coff_symbol): Likewise.
(dump_coff_scope): Likewise.
(dump_coff_sfile): Likewise.
(dump_coff_section): Likewise.
(coff_dump): Likewise.
* dlltool (def_version): Allow translation of output.
(run): Likewise.
* dllwrap.c (run): Allow translation of output.
* dwarf.c (print_dwarf_vma): Allow translation of output.
(process_extended_line_op): Remove spurious translation.
Add translation for strings that can be translated.
(decode_location_exression): Allow translation of output.
(read_and_display_attr_value): Allow translation of output.
* readelf.c (slurp_rela_relocs): Add translation for error
messages when failing to get data.
(slurp_rel_relocs): Likewise.
(get_32bit_elf_symbols): Likewise.
(get_64bit_elf_symbols): Likewise.
(dump_ia64_vms_dynamic_relocs): Replace abbreviation with full
word.
(process_relocs): Remove spurious translation.
(decode_tic6x_unwind_bytecode): Likewise.
(process_version_section): Improve error messages.
(process_mips_specific): Likewise.
(print_gnu_note): Remove spurious translation.
(print_stapsdt_note): Likewise.
(get_ia64_vms_note_type): Likewise.
* sysdump.c (getCHARS): Allow translation.
(fillup): Allow translation of output.
(getone): Likewise.
(must): Likewise.
(derived_type): Likewise.
* doc/binutils.doc (addr2line): Extend description of command line
options.
* po/binutils.pot: Regenerate.
|
|
* ar.c (main): When asked to move members in an archive that is
being created, ignore the move request.
|
|
Revert the following change
Michael Snyder <msnyder@vmware.com>
* ar.c (move_members): Plug memory leak.
(delete_members): Plug memory leak.
|
|
|
|
|
|
|
|
* ar.c (ranlib_main): Init arg_index properly.
(usage): Describe --target.
|
|
(usage): Correct help strings.
(decode_options): Correct getopt_long short options. Remove
duplicate non-handled option message.
(main): Don't handle -M specially.
|
|
(decode_options): Handle the --target option.
(open_inarch): Check for plugin's target, default to --target
(replace_members): Use generic `target'.
|
|
(show_version): Likewise.
(show_help): Likewise.
(long_options): Likewise.
(usage): Fix help string argument order.
(decode_options): New.
(ranlib_main): Use getopt_long.
(main): Use decode_options.
|
|
(ranlib_usage): New
(ranlib_main): New
|
|
* dwarf.c (process_extended_line_op): Likewise.
(process_debug_info): Likwise.
(display_debug_lines_raw): Likewise.
(display_debug_lines_decoded): Likewise.
(display_debug_abbrev): Likewise.
* readelf.c (process_file_header): Likewise.
(GET_OP): Likewise.
(decode_arm_unwind): Likewise.
(process_mips_specific): Likewise.
* resrc.c (run_cmd): Likewise.
(rcparse_warning): Likewise.
* objdump.c (dump_headers): Don't print "Pg".
|
|
* ar.c (usage): Revert previous change. Describe how 's' can be
used as a command letter.
* doc/binutils.texi (ar cmdline): Describe how 's' can be used as
a command letter.
|
|
* ar.c (usage): Remove spurious 's' from list of accepted command
letters.
|
|
2010-09-15 H.J. Lu <hongjiu.lu@intel.com>
* ar.c (plugin_target): New.
(main): Set plugin_target to "plugin" for --plugin.
(open_inarch): Initialize target to plugin_target.
(replace_members): Pass plugin_target to ar_emul_replace
and ar_emul_append.
* binemul.h (ar_emul_append): Add a target argument.
(ar_emul_default_append): Likewise.
(ar_emul_replace): Likewise.
(ar_emul_default_replace): Likewise.
(bin_emulation_xfer_struct): Add a target argument to
ar_append and ar_replace.
* binemul.c (ar_emul_append): Updated. Pass target to bfd_openr.
(do_ar_emul_default_append): Likewise.
(ar_emul_default_append): Likewise.
(ar_emul_replace): Likewise.
(ar_emul_default_replace): Likewise.
|
|
* ar.c (main): Use lbasename.
(normalize): Ditto.
* objdump.c (update_source_path): Ditto.
|