aboutsummaryrefslogtreecommitdiff
path: root/binutils/bucomm.c
AgeCommit message (Collapse)AuthorFilesLines
2017-06-26Produce a consistent warning message when attempting to run a tool on a ↵Nick Clifton1-0/+2
directory. PR binutils/21659 * bucomm.c (get_file_size): Explicitly warn if the file is a directory.
2017-04-26Fix invocation of stat() on a NULL pointer.Nick Clifton1-0/+3
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.
2017-01-02Update year range in copyright notice of all files.Alan Modra1-1/+1
2016-07-16Don't include libbfd.h outside of bfd, part 5Alan Modra1-150/+162
A rewrite of the code in bucomm.c supporting objdump -i, to use bfd_iterate_over_targets rather than accessing bfd_target_vector directly. Calculates widest arch string rather than using an out of date constant. Stashes info from the first display of valid target/arch combinations for use in second tabular display. binutils/ * bucomm.c: Don't include libbfd.h. (endian_string, display_target_list): Delete forward declaration. (display_info_table, display_target_tables): Likewise. (LONGEST_ARCH): Delete. (struct display_target): New. (do_display_target): New function. (display_target_list, display_info): Rewrite functions. (display_info_table): Delete. (do_info_size, do_info_header, do_info_row): New functions.
2016-07-16Don't include libbfd.h outside of bfd, part 1Alan Modra1-8/+1
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.
2016-06-14Set my_archive for thin archivesAlan Modra1-1/+2
LTO plugin support in plugin_maybe_claim wants to close the IR bfd after replacing it with the recompiled object, but can't do so for archive elements due to various pointers that access the archive bfd. Thin archives have the same problem. They too cannot have their element bfds closed. PR ld/20241 bfd/ * archive.c (open_nested_file): Set my_archive. * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name for thin archives. * bfdio.c (bfd_tell): Don't adjust origin for thin archives. (bfd_seek): Likewise. * bfdwin.c (bfd_get_file_window): Likewise. * cache.c (cache_bmmap): Likewise. (bfd_cache_lookup_worker): Don't look in my_archive for thin archives. * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for thin archives. * plugin.c (try_claim): Likewise. * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of file within thin archive, not the archive. binutils/ * bucomm.c (bfd_get_archive_filename): Return file name within thin archive. ld/ * ldmain.c (add_archive_element): Just print file name of file within thin archives. * ldmisc.c (vfinfo): Likewise. * plugin.c (plugin_object_p): Open file within thin archives. (plugin_maybe_claim): Expand comment.
2016-01-01Copyright update for binutilsAlan Modra1-1/+1
2015-08-12Remove trailing spaces in binutilsH.J. Lu1-4/+4
2015-01-02ChangeLog rotatation and copyright year updateAlan Modra1-1/+1
2014-11-18Fixes a seg-fault when displaying the time data for a corrupt archive.Nick Clifton1-2/+6
PR binutuls/17605 * bucomm.c (print_arelt_descr): Check for ctime returning NULL.
2014-11-06Prevent archive memebers with illegal pathnames from being extracted from an ↵Nick Clifton1-0/+26
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.
2014-03-05Update copyright yearsAlan Modra1-3/+1
2014-01-07remove VA_* from binutilsTom Tromey1-9/+11
This removes the last uses of the obsolete VA_* macros from binutils. All the binutils and bfd changes were tested by rebuilding. I didn't rebuild the gas change but I think it is obviously correct. 2014-01-07 Tom Tromey <tromey@redhat.com> * elf32-xtensa.c (vsprint_msg): Don't use old VA_* compatibility wrappers. 2014-01-07 Tom Tromey <tromey@redhat.com> * bucomm.c (fatal, non_fatal): Replace obsolete VA_* macros with stdarg macros. * dlltool.c (inform): Replace obsolete VA_* macros with stdarg macros. * dllwrap.c (inform, warn): Replace obsolete VA_* macros with stdarg macros. 2014-01-07 Tom Tromey <tromey@redhat.com> * config/tc-tic30.c (debug): Avoid old VA_* compatibility wrappers.
2012-06-29 PR binutils/14302Nick Clifton1-2/+4
* 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').
2012-02-09 * sysdep.h: Include sys/stat.h here.Alan Modra1-2/+1
* 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.
2011-10-132011-10-13 Nick Clifton <nickc@redhat.com>Nick Clifton1-4/+4
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.
2011-03-25 * bucomm.c (make_tempname): Stop memory leak.Nick Clifton1-1/+4
ICVS: ----------------------------------------------------------------------
2011-01-06 * bucomm.c (get_file_size): Check for negative sizes and issue aNick Clifton1-1/+4
warning message if encountered.
2010-10-05 * bucomm.c (bfd_nonfatal, bfd_nonfatal_message): Don't clobber errno.Alan Modra1-2/+2
2010-10-05 * bucomm.c (bfd_nonfatal): Flush stdout before output to stderr.Alan Modra1-5/+13
(bfd_nonfatal_message, report, list_matching_formats): Likewise. (list_supported_targets): Tidy. * objdump.c (free_only_list): Formatting. (slurp_dynamic_symtab): Non-zero exit status for "not a dynamic object". (update_source_path): Delete redundant check for NULL filename. (disassemble_bytes): Error if disassemble_fn returns a value that won't increment address. (disassemble_data): Don't capitalize error message. (read_section_stabs): Likewise. (main): Return non-zero exit status on bad options.
2009-12-11Add -Wshadow to the gcc command line options used when compiling the binutils.Nick Clifton1-6/+6
Fix up all warnings generated by the addition of this switch.
2009-11-08binutils/Jan Kratochvil1-1/+1
* bucomm.c (get_file_size): Update comment for the error return value.
2009-09-10 Updated soruces in binutils/* to compile cleanly with -Wc++-compat.Nick Clifton1-8/+9
* binutils/addr2line.c (slurp_symtab): Fix casts. Introduce variable minisyms to avoid aliasing varning. * binutils/ar.c: Add casts. (normalize): Use name del instead of delete. (display_target_list,display_info_table): Change loop counter variable a to int. * binutils/bucomm.c: Add casts. * binutils/debug.c: Update function to use new names. (struct debug_baseclass): Rename member from virtual to is_virtual. (struct debug_type_s,struct debug_field_s,struct debug_baseclass_s,struct debug_method_s,struct debug_method_variant_s,struct debug_type_s): Rename struct from avoid name collision. * /binutils/debug.h: Use new struct names. * binutils/dwarf.c: Add casts. (free_debug_memory): Change loop counter variable a to int. * binutils/ieee.c: Add casts. (enum ieee_var_kind): Move to top level. (ieee_class_baseclass): Rename parameter virtual to is_virtual. (ieee_class_method_var): Rename variable virtual to is_virtual. * binutils/nm.c: Add casts. * binutils/objcopy.c: Add casts. (copy_archive): Rename variable delete to del. * binutils/objdump.c: Add casts. (dump_dwarf_section): Change loop counter variable i to int. * binutils/prdbg.c: Add casts. (pr_class_baseclass,tg_class_baseclass): Rename parameters virtual to is_virtual. * binutils/readelf.c: Add casts. (struct ia64_unw_table_entry,struct hppa_unw_table_entry): Move to top level. * binutils/size.c: Add casts. * binutils/stabs.c (parse_stab_type, parse_stab_range_type) (parse_stab_cpp_abbrev): Rename parameter from typename to type_name. (parse_stab_baseclasses): Rename variable virtual to is_virtual. * binutils/strings.c: Add casts. * binutils/wrstabs.c (stab_class_baseclass): Rename parameter virtual to is_virtual.
2009-09-02update copyright datesAlan Modra1-1/+1
2009-06-272009-06-27 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-1/+1
PR binutils/10321 * bucomm.c (get_file_size): Return -1 on error. * objcopy.c (copy_file): Report empty file.
2009-01-29 PR 9798Alan Modra1-3/+3
* bucomm.c (bfd_nonfatal_message): Use bfd_get_archive_filename. (bfd_get_archive_filename): Constify param. * bucomm.h (bfd_get_archive_filename): Update prototype. * objcopy.c (RETURN_NONFATAL): Delete. (copy_unknown_object): Don't call bfd_get_archive_filename for bfd_nonfatal_message filename, instead just pass bfd. (copy_object): Likewise. (copy_archive, copy_file): Likewise. Expand RETURN_NONFATAL. On bfd_close errors, do not pass the bfd to bfd_nonfatal_message. (setup_bfd_headers): Fix error message.
2008-01-09PR binutils/55326Nick Clifton1-2/+4
* bucomm.c (list_supported_architectures): Free architecture list after use. * windres.c (set_endianess): Likewise. * windmc.c (set_endianess): Likewise.
2007-08-30 * bucomm.c (bfd_nonfatal_message): New.Nathan Sidwell1-0/+46
* bucomm.h (bfd_nonfatal_message): Declare. * objcopy.c (RETURN_NONFATAL): Take BFD not NAME, use bfd_nonfatal_message. (copy_unknown_object): Adjust bfd_nonfatal and RETURN_NONFATAL calls, or replace with bfd_nonfatal_message calls as appropriate. (copy_object, copy_archive, copy_file, setup_section, copy_section, write_debugging_info): Likewise.
2007-07-05Change sources over to using GPLv3Nick Clifton1-1/+1
2007-04-26bfd/Alan Modra1-2/+3
Many files: Include sysdep.h before bfd.h. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. binutils/ * bucumm.h: Split off host dependencies to.. * sysdep.h: ..here. Many files: Include sysdep.h. Remove duplicate headers and reorder. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. ld/ Many files: Include sysdep.h first. Remove duplicate headers. * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. opcodes/ * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. * ns32k-dis.c: Include sysdep.h first.
2007-03-15bfd/H.J. Lu1-1/+0
2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (bfdver.h): Substitute report_bugs_to. Also create doc/bfdver.texi. * Makefile.in: Regenerated. * configure.in (--with-bugurl): New option. * configure: Regenerated. * version.h (REPORT_BUGS_TO): New. binutils/ 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. * Makefile.in: Regenerated. * bucomm.c: Don't include bfdver.h. * objdump.c: Likewise. * version.c: Likewise. * bucomm.h: Include bfdver.h. * configure.in (--with-bugurl): Removed. * configure: Regenerated. * doc/Makefile.am (binutils_TEXINFOS): Removed. (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc. (TEXI2DVI): Likewise. (config.texi): Removed. (MOSTLYCLEANFILES): Remove config.texi. * doc/Makefile.in: Regenerated. * doc/binutils.texi: Include bfdver.texi instead of config.texi. gas/ 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. * Makefile.in: Regenerated. * configure.in (--with-bugurl): Removed. * configure: Regenerated. * doc/Makefile.am (as_TEXINFOS): Remove gasver.texi. (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc. (TEXI2DVI): Likewise. (gasver.texi): Removed. (MOSTLYCLEANFILES): Remove gasver.texi. (as.1): Don't depend on gasver.texi. * doc/Makefile.in: Regenerated. * doc/as.texi: Include bfdver.texi instead of gasver.texi. gprof/ 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. * Makefile.in: Regenerated. * configure.in (--with-bugurl): Removed. * configure: Regenerated. ld/ 2007-03-15 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (ld_TEXINFOS): Remove ldver.texi. (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc. (TEXI2DVI): Likewise. (REPORT_BUGS_TO): Removed. (INCLUDES): Remove -DREPORT_BUGS_TO. (ldver.texi): Likewise. (ld.1): Don't depend on ldver.texi. (MOSTLYCLEANFILES): Remove ldver.texi. * Makefile.in: Regenerated. * configure.in (--with-bugurl): Removed. * configure: Regenerated. * lexsup.c: Include bfdver.h. * ld.texinfo: Include bfdver.texi instead of ldver.texi.
2007-01-112007-01-11 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-2/+2
* bucomm.c (template_in_dir): Fix typo.
2007-01-10 * bucomm.h (make_tempdir): Declare independently of HAVE_MKDTEMP.Alan Modra1-66/+58
* bucomm.c (template_in_dir): New function, split out from.. (make_tempname): ..here. Open the file with O_EXCL if !HAVE_MKSTEMP. (make_tempdir): Use template_in_dir. Handle directory creation when !HAVE_MKDTEMP. * objcopy.c (MKDIR): Don't define. (copy_archive): Use make_tempdir when !HAVE_MKDTEMP too. Fix error message.
2006-10-13PR binutils/2876Nick Clifton1-3/+60
* configure.in: Check for the mkstemp and mkdtemp functions. * configure: Regenerate. * config.in (HAVE_MKDTEMP): New potential define. (MAKE_MKSTEMP): Likewise. * bucomm.c (make_tempname): Use mkstemp if it is available. * make_tempdir): New function: Create a temporary directory using mkdtemp, if it is available. * bucomm.h (make_tempdir): New prototype. * objcopy.c (copy_archive): Use make_tempdir if it is available. (strip_main): Produce an warning message if a temporary file could not be (copy_main): Likewise. * ar.c (write_archive): Likewise.
2006-03-13 * bucomm.c (display_target_list): Make local variable `a' to be ofBen Elliston1-4/+4
type enum bfd_architecture. Thus no need to cast enums to int. (display_info_table): Likewise.
2005-06-142005-06-14 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-0/+36
PR 995 * ar.c (BUFSIZE): Moved to ... * bucomm.h (BUFSIZE): Here. * bucomm.c: Include <assert.h>. (bfd_get_archive_filename): New. * bucomm.h (bfd_get_archive_filename): New. * objcopy.c (copy_unknown_object): New. (copy_object): Use bfd_get_archive_filename when reporting input error. Don't call fatal on unknown arch. (copy_archive): Call copy_unknown_object on unknown format or arch.
2005-05-08Update FSF addressNick Clifton1-2/+2
2005-04-292005-04-29 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-1/+1
* bucomm.c: Undo the last change. * bucomm.h: Likewise.
2005-04-29 * ar.c (mri_mode): Make static.Ben Elliston1-1/+1
* arsup.c (obfd, real_name, outfile): Likewise. * binemul.c (ar_emul_create): Remove unused function. (ar_emul_default_create): Likewise. * binemul.h (ar_emul_create): Remove declaration. (ar_emul_default_create): Likewise. (struct bin_emulation_xfer_struct): Remove ar_create member. * bucomm.c (report): Make static. * bucomm.h (report): Remove declaration. * cxxfilt.c (mbuffer): Make static. (main): Use unsigned ints for some loop control variables. * readelf.c: Make many global variables static. * size.c (berkeley_format): Make static. (long_options): Likewise. * emul_aix.c (bin_aix_emulation): Remove ar_emul_default_create structure initialiser. (bin_aix5_emulation): Likewise. * emul_vanilla.c (bin_vanilla_emulation): Likewise.
2003-11-07Use consistent error messages for missing files.Nick Clifton1-0/+25
Detect directories where an ordinary file is expected.
2003-09-14 * addr2line.c: Convert to ISO C90 prototypes, change PTR, removeAndreas Jaeger1-37/+19
unneeded (void *) casts. * ar.c: Likewise. * arlex.l: Likewise. * arparse.y: Likewise. * arsup.c: Likewise. * binemul.c: Likewise. * binemul.h: Likewise. * bucomm.c: Likewise. * bucomm.h: Likewise. * budbg.h: Likewise. * budemang.c: Likewise. * budemang.h: Likewise. * coffdump.c: Likewise. * coffgrok.c: Likewise. * cxxfilt.c: Likewise. * debug.c: Likewise. * debug.h: Likewise. * deflex.l: Likewise. * dlltool.c: Likewise. * dlltool.h: Likewise. * dllwrap.c: Likewise. * emul_aix.c: Likewise. * filemode.c: Likewise. * ieee.c: Likewise. * nlmconv.c: Likewise. * nlmconv.h: Likewise. * nlmheader.y: Likewise. * nm.c: Likewise. * prdbg.c: Likewise. * rclex.l: Likewise. * rcparse.y: Likewise. * rdcoff.c: Likewise. * rddbg.c: Likewise. * rename.c: Likewise. * resbin.c: Likewise. * rescoff.c: Likewise. * resrc.c: Likewise. * size.c: Likewise. * srconv.c: Likewise. * stabs.c: Likewise. * strings.c: Likewise. * sysdump.c: Likewise. * sysinfo.y: Likewise. * syslex.l: Likewise. * unwind-ia64.c: Likewise. * unwind-ia64.h: Likewise. * version.c: Likewise. * windres.c: Likewise. * windres.h: Likewise. * winduni.c: Likewise. * wrstabs.c: Likewise.
2003-03-24Move display_info() function into bucomm.cNick Clifton1-2/+205
2002-11-30s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. SimplifyAlan Modra1-2/+2
comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
2002-10-15 * bucomm.c (list_supported_targets): Use bfd_target_list.Alan Modra1-4/+6
2002-06-08 * bucomm.c: Replace CONST with const.Alan Modra1-5/+5
* nm.c: Likewise. * objdump.c: Likewise.
2002-05-19 * addr2line.c: Fix formatting.Kazu Hirata1-1/+1
* ar.c: Likewise. * arsup.c: Likewise. * arsup.h: Likewise. * binemul.c: Likewise. * binemul.h: Likewise. * bucomm.c: Likewise. * coffdump.c: Likewise. * coffgrok.c: Likewise. * coffgrok.h: Likewise.
2001-11-292001-11-29 H.J. Lu <hjl@gnu.org>H.J. Lu1-5/+2
* bucomm.c (make_tempname): Revert the changes made on 2001-11-14 and 2001-11-12. They won't work with directories.
2001-11-14Replace use of mkstemp with mkstemps, provided by libiberty.Nick Clifton1-2/+5
2001-11-12Use mkstemp in place of mktemp.Nick Clifton1-2/+2
2001-09-26 * bucomm.c (fatal): Define using VPARAMS, VA_OPEN, VA_FIXEDARG,Alan Modra1-37/+8
VA_CLOSE. (non_fatal): Likewise. * objdump.c (objdump_sprintf): Likewise. * readelf.c (error): Likewise. (warn): Likewise.