aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-strings/llvm-strings.cpp
AgeCommit message (Collapse)AuthorFilesLines
2019-06-21[binutils] Add response file option to help and docsJames Henderson1-0/+3
Many LLVM-based tools already support response files (i.e. files containing a list of options, specified with '@'). This change simply updates the documentation and help text for some of these tools to include it. I haven't attempted to fix all tools, just a selection that I am interested in. I've taken the opportunity to add some tests for --help behaviour, where they were missing. We could expand these tests, but I don't think that's within scope of this patch. This fixes https://bugs.llvm.org/show_bug.cgi?id=42233 and https://bugs.llvm.org/show_bug.cgi?id=42236. Reviewed by: grimar, MaskRay, jkorous Differential Revision: https://reviews.llvm.org/D63597 llvm-svn: 364036
2019-01-19Update the file headers across all of the LLVM projects in the monorepoChandler Carruth1-4/+3
to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
2018-11-09[llvm-strings] Fix whitespaces to match strings output.Jordan Rupprecht1-5/+5
Summary: The current implementation prepends a space on every line, making it difficult to compare against GNU strings. The space appears to have come from handling --radix in rL292707. The space is for making sure there's a space between the radix and the value; however the space is still emitted even when there is no radix. This change fixes that so the space is only emitted when there is a radix. Reviewers: jhenderson Reviewed By: jhenderson Subscribers: llvm-commits, compnerd Differential Revision: https://reviews.llvm.org/D54238 llvm-svn: 346529
2018-10-24Fix llvm-strings crash for negative char valuesJames Henderson1-1/+1
On Windows at least, llvm-strings was crashing if it encountered bytes that mapped to negative chars, as it was passing these into std::isgraph and std::isblank functions, resulting in undefined behaviour. On debug builds using MSVC, these functions verfiy that the value passed in is representable as an unsigned char. Since the char is promoted to an int, a value greater than 127 would turn into a negative integer value, and fail the check. Using the llvm::isPrint function is sufficient to solve the issue. Reviewed by: ruiu, mstorsjo Differential Revision: https://reviews.llvm.org/D53509 llvm-svn: 345137
2018-04-13Define InitLLVM to do common initialization all at once.Rui Ueyama1-4/+2
We have a few functions that virtually all command wants to run on process startup/shutdown. This patch adds InitLLVM class to do that all at once, so that we don't need to copy-n-paste boilerplate code to each llvm command's main() function. Differential Revision: https://reviews.llvm.org/D45602 llvm-svn: 330046
2017-11-14[llvm-strings] Add support for the -a/--all optionsMartin Storsjo1-0/+6
They don't actually change nay behaviour, as llvm-strings currently checks the whole object without looking at individual sections anyway. This allows using llvm-strings in a context that explicitly passes the -a option. Differential Revision: https://reviews.llvm.org/D40020 llvm-svn: 318185
2017-01-21llvm-strings: remove default for -Wcovered-switch-defaultSaleem Abdulrasool1-1/+0
Fix the -Werror build by removing the unnecessary default case in the covered switch. NFC llvm-svn: 292708
2017-01-21llvm-strings: add support for `-t`Saleem Abdulrasool1-5/+30
Allow printing the file content offset via the `-t` or `--radix` option. llvm-svn: 292707
2016-11-15llvm-strings: support the `-n` optionSaleem Abdulrasool1-3/+13
Permit specifying the match length (the `-n` or `--bytes` option). The deprecated `-[length]` form is not supported as an option. This allows the strings tool to display only the specified length strings rather than the hardcoded default length of >= 4. llvm-svn: 286914
2016-11-14Revert "Revert "llvm-strings: support printing the filename""Saleem Abdulrasool1-4/+17
Change the dynamic files to static in the hope that it will actually fix the transient errors that Ive been unable to reproduce. llvm-svn: 286891
2016-11-14Revert "llvm-strings: support printing the filename"Renato Golin1-17/+4
Also, Revert "test: remove the archive before modifying it" Revert "test: explicitly use gnu format" This reverts commits r286778, r286729 and r286767, as they are randomly failing on many bots (AArch64, x86_64). llvm-svn: 286820
2016-11-13llvm-strings: support printing the filenameSaleem Abdulrasool1-4/+17
This adds support for the `-f` or `--print-file-name` option for strings. llvm-svn: 286767
2016-11-12llvm-strings: trivialise logic until we support more optionsSaleem Abdulrasool1-66/+10
Until we have handling for ignoring unloaded sections, simplify the logic to the point of triviality. This fixes the scanning of archives, particularly when embedded in archives. llvm-svn: 286727
2016-11-12llvm-strings: ensure that the last string is correctly printedSaleem Abdulrasool1-2/+4
We would ignore the last string that appeared if the file ended with a printable character. Ensure that we get the last string. llvm-svn: 286706
2016-11-11Fix build failure, update llvm-strings for the new Error APIMehdi Amini1-1/+1
llvm-svn: 286563
2016-11-11llvm-strings: explicitly include cctypeSaleem Abdulrasool1-1/+2
Include the cctype header to try to fix windows bots. llvm-svn: 286558
2016-11-11llvm-strings: introduce basic strings toolSaleem Abdulrasool1-0/+120
This is a replacement to binutils' string tool. It prints strings found in a binary (object file, executable, or archive library). It is rather bare and not functionally equivalent, however, it lays the groundwork necessary for the strings tool, enabling iterative development of features to reach feature parity. llvm-svn: 286556