Commit Graph

16 Commits

Author SHA1 Message Date
Chandler Carruth
6b547686c5 Update the file headers across all of the LLVM projects in the monorepo
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351636 91177308-0d34-0410-b5e6-96231b3b80d8
2019-01-19 08:50:56 +00:00
Jordan Rupprecht
1070226071 [llvm-strings] Fix whitespaces to match strings output.
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@346529 91177308-0d34-0410-b5e6-96231b3b80d8
2018-11-09 18:03:21 +00:00
James Henderson
306868b91c Fix llvm-strings crash for negative char values
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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@345137 91177308-0d34-0410-b5e6-96231b3b80d8
2018-10-24 13:16:16 +00:00
Rui Ueyama
0b9d56a30e Define InitLLVM to do common initialization all at once.
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330046 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-13 18:26:06 +00:00
Martin Storsjo
ba2da13128 [llvm-strings] Add support for the -a/--all options
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@318185 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-14 19:58:36 +00:00
Saleem Abdulrasool
4c5684d092 llvm-strings: remove default for -Wcovered-switch-default
Fix the -Werror build by removing the unnecessary default case in the
covered switch.  NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292708 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:52:29 +00:00
Saleem Abdulrasool
6d72920b21 llvm-strings: add support for -t
Allow printing the file content offset via the `-t` or `--radix` option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292707 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-21 02:36:28 +00:00
Saleem Abdulrasool
fe23a5c29f llvm-strings: support the -n option
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286914 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-15 00:43:52 +00:00
Saleem Abdulrasool
4da3d72a9b Revert "Revert "llvm-strings: support printing the filename""
Change the dynamic files to static in the hope that it will actually fix the
transient errors that Ive been unable to reproduce.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286891 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 21:10:41 +00:00
Renato Golin
bdeedc78d8 Revert "llvm-strings: support printing the filename"
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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286820 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-14 13:09:24 +00:00
Saleem Abdulrasool
c99852c60e llvm-strings: support printing the filename
This adds support for the `-f` or `--print-file-name` option for strings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286767 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-13 19:07:48 +00:00
Saleem Abdulrasool
98825db755 llvm-strings: trivialise logic until we support more options
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286727 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12 18:37:04 +00:00
Saleem Abdulrasool
421c744b29 llvm-strings: ensure that the last string is correctly printed
We would ignore the last string that appeared if the file ended with a printable
character.  Ensure that we get the last string.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286706 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-12 03:39:21 +00:00
Mehdi Amini
274b04e1a0 Fix build failure, update llvm-strings for the new Error API
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286563 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11 04:50:18 +00:00
Saleem Abdulrasool
ca29721046 llvm-strings: explicitly include cctype
Include the cctype header to try to fix windows bots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286558 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11 04:00:59 +00:00
Saleem Abdulrasool
6a1b55e1ea llvm-strings: introduce basic strings tool
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286556 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-11 03:44:12 +00:00