aboutsummaryrefslogtreecommitdiff
path: root/binutils/strings.c
AgeCommit message (Collapse)AuthorFilesLines
2016-01-01Copyright update for binutilsAlan Modra1-1/+1
2015-09-10Adds an option to the strings program to specify a separator between the ↵Erik Ackermann1-2/+19
emitted pieces of text. * strings.c: Add -s/--output-separator option to specify custom separator string. * NEWS: Mention the new feature. * doc/binutils.text (strings): Document the new command line option.
2015-08-12Remove trailing spaces in binutilsH.J. Lu1-3/+3
2015-01-21Fix memory access violations triggered by running strip on fuzzed binaries.Nick Clifton1-0/+1
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.
2015-01-02ChangeLog rotatation and copyright year updateAlan Modra1-1/+1
2014-12-11Use autoconf check for long long in binutilsAlan Modra1-12/+12
Also fix a place where %lld was wrongly used to print a dwarf_vma. * configure.ac: Check for long long and sizes of long long and long. * elfcomm.h (HOST_WIDEST_INT): Test HAVE_LONG_LONG in place of __STDC_VERSION__ and __GNUC__. * strings.c (print_strings): Likewise. * dwarf.c (DWARF_VMA_FMT, DWARF_VMA_FMT_LONG): Likewise. (read_debug_line_header): Use dwarf_vmatoa to print warning. * configure: Regenerate. * config.in: Regenerate.
2014-10-31In response to a public outcry the strings program now defaults to using theNick Clifton1-5/+26
--all option which displays text from anywhere in the input file(s). The default used to be --data, which only displays text from loadable data sections, but this requires the use of the BFD library. Since the BFD library almost certainly still contains buffer overrun and/or memory corruption bugs, and since the strings program is often used to examine malicious code, it was decided that the --data option option represents a possible security risk. * strings.c: Add new command line option --data to only scan the initialized, loadable data secions of binaries. Choose the default behaviour of --all or --data based upon a configure option. * doc/binutils.texi (strings): Update documentation. Include description of why the --data option might be unsafe. * configure.ac: Add new option --disable-default-strings-all which restores the old behaviour of strings using --data by default. If the option is not used make strings use --all by default. * NEWS: Mention the new behaviour of strings. * configure: Regenerate. * config.in: Regenerate.
2014-06-26This adds the ability to the strings program to display strings that contain ↵Erik Akermann1-2/+18
\n and \r characters. * strings.c: Add -w/--include-all-whitespace option to include any whitespace character in the displayed strings. * NEWS: Mention the new feature. * doc/binutils.texi (strings): Document the new command line option.
2014-03-05Update copyright yearsAlan Modra1-3/+1
2013-03-06 * strings.c (get_char): Dispense with buf[]. Instead shiftAlan Modra1-19/+6
chars into big-endian value and byte-swap later if little-endian. Don't EOF check value read from object.
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-03-25 * strings.c (print_strings): Plug memory leak.Nick Clifton1-2/+6
2009-11-11binutils/Jan Kratochvil1-24/+11
* configure.in: Stop checking for fopen64 and stat64. * strings.c (file_off, file_open, statbuf, file_stat): Remove. (strings_file): Change file_off to file_ptr, file_open to fopen, statbuf to struct stat and file_stat to stat. (get_char): Change parameter type file_off * to file_ptr *. (print_strings): Change parameter and variable `start' type file_off to file_ptr. * configure: Regenerate. * config.in: Regenerate.
2009-09-10 Updated soruces in binutils/* to compile cleanly with -Wc++-compat.Nick Clifton1-1/+1
* 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-06-04 * strings.c (main): Delay parsing of decimal digits.Alan Modra1-3/+8
2009-04-01 PR 9972Nick Clifton1-2/+4
* doc/binutils.texi (strings): Document the -V alias for the --version option. * strings.c (usage): Likewise.
2008-11-26 * strings.c (main): New variable `s'. Have string_min parsingJan Kratochvil1-2/+7
call fatal for invalid input strings.
2008-08-25 * sysdep.h: Include "binary-io.h".Alan Modra1-14/+0
(O_BINARY): Don't define here. * bin2c.c (O_BINARY, O_TEXT, SET_BINARY): Don't define here. * strings.c: Likewise. (main): Remove #ifdef SET_BINARY. * Makefile.am: Run "make dep-am" * Makefile.in: Regenerate.
2008-04-28 PR binutils/6449Nick Clifton1-6/+1
* objdump.c (slurp_file): Open the file in binary mode. * ar.c: Remove conditional definition of O_BINARY. * bin2.c: Likewise. * rename.c: Likewise. * strings.c: Likewise. * sysdep.h: Add conditional definition of O_BINARY.
2008-02-15 PR binutils/5713Nick Clifton1-57/+6
* strings.c (integer_arg): Delete function. (string_min): Initialise to 4. (main): Use strtoul to parse integer arguments. Move check for an invalid string length to after all the arguments have been parsed. (usage): Use indentation to indicate that -<n> is a another form of the --bytes= command line option.
2008-02-082008-02-08 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-1/+1
PR binutils/5713 * strings.c (main): Set string_min to 4 if it is <= 0.
2008-01-25Add mingw I64 support for printing long and long long valuesNick Clifton1-4/+22
2007-10-24 * strings.c (print_strings): Don't use %L, use %ll in printfAlan Modra1-12/+6
format strings.
2007-07-05Change sources over to using GPLv3Nick Clifton1-1/+1
2007-04-26bfd/Alan Modra1-6/+2
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-02-17top level:Joseph Myers1-2/+2
2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * configure.ac (TOPLEVEL_CONFIGURE_ARGUMENTS): Fix quoting. * configure: Regenerate. bfd: 2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * configure.in (--with-pkgversion): New option. * configure: Regenerate. * Makefile.am (bfdver.h): Substitute for @bfd_version_package@. * Makefile.in: Regenerate. * version.h (BFD_VERSION_STRING): Define using @bfd_version_package@. bfd/doc: 2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * Makefile.in: Regenerate. binutils: 2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * configure.in (--with-bugurl): New option. * configure: Regenerate. * Makefile.am (REPORT_BUGS_TO): Define. (INCLUDES): Define REPORT_BUGS_TO. Regenerate dependencies. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * bucomm.h: Remove include of bin-bugs.h. * addr2line.c (usage): Don't print empty REPORT_BUGS_TO. * ar.c (usage): Pass s to list_supported_targets. Don't print empty REPORT_BUGS_TO. * coffdump.c (show_usage): Don't print empty REPORT_BUGS_TO. * cxxfilt.c (usage): Print bug url when giving help. * dlltool.c (usage): Likewise. * dllwrap.c (usage): Likewise. * nlmconv.c (show_usage): Don't print empty REPORT_BUGS_TO. * nm.c (usage): Likewise. * objcopy.c (copy_usage, strip_usage): Likewise. * objdump.c (usage): Likewise. * readelf.c ((usage): Likewise. Add STREAM argument. Adjust callers. * size.c (usage): Don't print empty REPORT_BUGS_TO. * srconv.c (show_usage): Likewise. * strings.c (usage): Likewise. * sysdymp.c (show_usage): Likewise. * windres.c (usage): Likewise. gas: 2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * configure.in (--with-bugurl): New option. * configure: Regenerate. * dep-in.sed: Remove bin-bugs.h. * Makefile.am (REPORT_BUGS_TO): Define. (INCLUDES): Define REPORT_BUGS_TO. (DEP_INCLUDES): Likewise. ($(OBJS)): No longer depend on bin-bugs.h. * Makefile.in: Regenerate. * doc/Makefile.in: Regenerate. * as.c (show_usage): Don't print empty REPORT_BUGS_TO. * as.h: Remove include of bin-bugs.h. gprof: 2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * configure.in (--with-pkgversion, --with-bugurl): New options. * configure: Regenerate. * Makefile.am (PKGVERSION, REPORT_BUGS_TO): Define. (INCLUDES): Define PKGVERSION and REPORT_BUGS_TO. Regenerate dependencies. * Makefile.in: Regenerate. * gprof.c (usage): Don't print empty REPORT_BUGS_TO. (main): Include PKGVERSION in version output. * gprof.h: Remove include of bin-bugs.h. include: 2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * bin-bugs.h: Remove. ld: 2007-02-17 Mark Mitchell <mark@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com Joseph Myers <joseph@codesourcery.com> * configure.in (--with-bugurl): New option. * configure: Regenerate. * Makefile.am (REPORT_BUGS_TO): Define. (INCLUDES): Define REPORT_BUGS_TO. Regenerate dependencies. * Makefile.in: Regenerate. * ld.h: Remove include of bin-bugs.h. * lexsup.c (help): Don't print empty REPORT_BUGS_TO.
2006-09-262006-09-26 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu1-1/+1
PR binutils/3257 * strings.c (main): Handle "-T format".
2006-07-06PR binutils/2879Nick Clifton1-1/+2
* doc/binutils.texi: Document -T shorthand for --target switch. * strings.c: Update comment to include -T option.
2005-10-03 * addr2line.c (usage): Document @file.Mark Mitchell1-0/+1
* ar.c (usage): Likewise. * coffdump (usage): Likewise. * cxxfilt.c (usage): Likewise. * dlltool.c (usage): Likewise. * dllwrap.c (usage): Likewise. * nlmconv.c (usage): Likewise. * nm.c (usage): Likewise. * objcopy.c (usage): Likewise. * objdump.c (usage): Likewise. * readelf.c (usage): Likewise. * size.c (usage): Likeise. * srconv.c (usage): Likewise. * strings.c (usage): Likewise. * windres.c (usage): Likewise. * doc/binutils.texi: Add section on common options.
2005-09-30 * addr2line.c (main): Likewise.Mark Mitchell1-0/+3
* ar.c (main): Likewise. * coffdump.c (main): Likewise. * cxxfilt.c (main): Likewise. * dlltool.c (main): Likewise. * dllwrap.c (main): Likewise. * nlmconv.c (main): Likewise. * nm.c (main): Likewise. * objcopy.c (main): Likewise. * objdump.c (main): Likewise. * readelf.c (main): Likewise. * size.c (main): Likeiwse. * srcconv.c (main): Likewise. * strings.c (main): Likewise. * sysdump.c (main): Likewise. * sysinfo.c (main): Likewise. * windres.c (main): Likewise. * ldmain.c (main): Use expandargv. * gprof.c (main): Use expandargv. * as.c (main): Use expandargv.
2005-07-05Add check to avoid corrupt input files whose section sizes are greater thanNick Clifton1-17/+66
the size of the input file.
2005-06-03Patch from Steve Ellcey for hpux build failure.Jim Wilson1-1/+6
* configure.in: Check for getc_unlocked prototype. * configure: Regenerate. * config.in: Regenerate. * strings.c (get_char): Only call getc_unlocked if we have seen a prototype.
2005-05-08Update FSF addressNick Clifton1-2/+2
2004-10-18strings.c (usage): Place radix values for -t option into the correct order.Nick Clifton1-1/+1
objcopy.c (add_redefine_syms_file): Change error messages to use <filename>:<linenumber>: format for easier parsing by automatic tools. srconv.c (show_usage): Fix spelling typo. windres.c (format_from_filename): Suggest the use of -J instead of -I if the file type cannot be determined.
2004-10-18strings.c: Include <sys/stat.h>.Nick Clifton1-0/+1
2004-10-13 * strings.c (statbuf): New typedef.Jakub Jelinek1-2/+18
(file_stat): Define. (strings_object_file): Avoid using get_file_size, instead do the checks here, using file_stat. * configure.in (HAVE_STAT64): New test. * configure: Rebuilt. * config.in: Rebuilt.
2004-06-15 * objcopy.c (copy_section): Use bfd_get_section_size instead ofAlan Modra1-1/+1
_raw_size or bfd_get_section_size_before_reloc. Don't set reloc_done. (compare_section_lma): Likewise. * addr2line.c (find_address_in_section): Likewise. * coffgrok.c (do_sections_p1): Likewise. * dlltool.c (scan_drectve_symbols): Likewise. * nlmconv.c (main): Likewise. (copy_sections): Likewise. (powerpc_mangle_relocs): Likewise. * objdump.c (disassemble_section): Likewise. * prdbg.c (find_address_in_section): Likewise. * size.c (berkeley_sum): Likewise. * srconv.c (wr_ob): Likewise. * strings.c (strings_a_section): Likewise.
2004-04-14 * strings.c (print_strings): Cast file_off to unsigned long inAlan Modra1-3/+4
printf arg list.
2003-11-07Use consistent error messages for missing files.Nick Clifton1-0/+3
Detect directories where an ordinary file is expected.
2003-09-14 * addr2line.c: Convert to ISO C90 prototypes, change PTR, removeAndreas Jaeger1-47/+20
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.
2002-12-23Add support for 'S' encoding to strings - display 8-bit characters.Nick Clifton1-26/+27
2002-11-30s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. SimplifyAlan Modra1-47/+53
comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
2002-05-25 * arlex.l: Use #include "" instead of <> for local header files.Alan Modra1-1/+1
* coffdump.c: Likewise. * coffgrok.c: Likewise. * nlmconv.c: Likewise. * nlmheader.y: Likewise. * srconv.c: Likewise. * strings.c: Likewise. * sysdump.c: Likewise. * unwind-ia64.h: Likewise. * windres.h: Likewise. * winduni.h: Likewise.
2002-01-23Tidy up formatting of --help output.Nick Clifton1-8/+19
2001-12-18 * addr2line.c (main): Protoype.Thiemo Seufer1-0/+2
* ar.c (main): Protoype. * nm.c (main): Protoype. * objcopy.c (main): Protoype. * objdump.c (main): Protoype. * size.c (main): Protoype. * strings.c (main): Protoype. * gasp.c (main): Protoype.
2001-12-04 * config.bfd: Remove trailing blanks.Thiemo Seufer1-1/+1
* elf32-mips.c (gprel16_with_gp): Remove superfluous casts. * strings.c (get_char): Initialize value. * config/tc-mips.c (mips_cpreturn_offset): Better comment. (load_register): Better error message. Cast away signedness mismatches. Add casts needed for varargs. (load_address): Replace checks of HAVE_64BIT_ADDRESS with dbl. Remove superfluous casts. (macro): Cast away signedness mismatches. Remove superfluous casts. (s_cpload): Fix wrong comment. (s_mips_weakext): Standardize output message. (get_number): Likewise.
2001-12-04 * strings.c: Include config.h before bfd.h.Jakub Jelinek1-13/+58
(file_off): New type. (file_open): Define. (print_strings): Use file_off instead of file_ptr. Print addresses which don't fit into long correctly. (get_char): Use file_off instead of file_ptr. Use getc_unlocked if available. (strings_file): Use file_off instead of file_ptr. Use file_open. * configure.in: Check for getc_unlocked. Check for fopen64 and whether _LARGEFILE64_SOURCE needs to be defined for it. * configure: Rebuilt. * config.h.in: Rebuilt.
2001-09-24 * nlmconv.c: Fix warnings about unused attributes and functionAndreas Jaeger1-0/+2
prototypes. * strings.c: Add prototype for get_char.
2001-09-19Locale changes from Bruno Haible <haible@clisp.cons.org>.H.J. Lu1-10/+3
2001-09-14Add new command line option '--encoding' to stringsNick Clifton1-37/+117