#
d37fe9ac |
| 16-Dec-2015 |
Reid Kleckner <rnk@google.com> |
[llvm-readobj] Simplify usage of -codeview flag
llvm-svn: 255790
|
#
e66b73fb |
| 05-Dec-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] report_error() does not return, so we can simplify.
llvm-svn: 254868
|
#
1eb9234f |
| 04-Dec-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] reportError() never returns. Mark with the correct attribute.
llvm-svn: 254752
|
Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1 |
|
#
7a96942a |
| 05-Nov-2015 |
Kevin Enderby <enderby@apple.com> |
Reapply r250906 with many suggested updates from Rafael Espindola. The needed lld matching changes to be submitted immediately next, but this revision will cause lld failures with this alone which is
Reapply r250906 with many suggested updates from Rafael Espindola. The needed lld matching changes to be submitted immediately next, but this revision will cause lld failures with this alone which is expected.
This removes the eating of the error in Archive::Child::getSize() when the characters in the size field in the archive header for the member is not a number. To do this we have all of the needed methods return ErrorOr to push them up until we get out of lib. Then the tools and can handle the error in whatever way is appropriate for that tool.
So the solution is to plumb all the ErrorOr stuff through everything that touches archives. This include its iterators as one can create an Archive object but the first or any other Child object may fail to be created due to a bad size field in its header.
Thanks to Lang Hames on the changes making child_iterator contain an ErrorOr<Child> instead of a Child and the needed changes to ErrorOr.h to add operator overloading for * and -> .
We don’t want to use llvm_unreachable() as it calls abort() and is produces a “crash” and using report_fatal_error() to move the error checking will cause the program to stop, neither of which are really correct in library code. There are still some uses of these that should be cleaned up in this library code for other than the size field.
The test cases use archives with text files so one can see the non-digit character, in this case a ‘%’, in the size field.
These changes will require corresponding changes to the lld project. That will be committed immediately after this change. But this revision will cause lld failures with this alone which is expected.
llvm-svn: 252192
show more ...
|
#
da9dd050 |
| 21-Oct-2015 |
Kevin Enderby <enderby@apple.com> |
Backing out commit r250906 as it broke lld.
llvm-svn: 250908
|
#
e3bf4fd5 |
| 21-Oct-2015 |
Kevin Enderby <enderby@apple.com> |
This removes the eating of the error in Archive::Child::getSize() when the characters in the size field in the archive header for the member is not a number. To do this we have all of the needed met
This removes the eating of the error in Archive::Child::getSize() when the characters in the size field in the archive header for the member is not a number. To do this we have all of the needed methods return ErrorOr to push them up until we get out of lib. Then the tools and can handle the error in whatever way is appropriate for that tool.
So the solution is to plumb all the ErrorOr stuff through everything that touches archives. This include its iterators as one can create an Archive object but the first or any other Child object may fail to be created due to a bad size field in its header.
Thanks to Lang Hames on the changes making child_iterator contain an ErrorOr<Child> instead of a Child and the needed changes to ErrorOr.h to add operator overloading for * and -> .
We don’t want to use llvm_unreachable() as it calls abort() and is produces a “crash” and using report_fatal_error() to move the error checking will cause the program to stop, neither of which are really correct in library code. There are still some uses of these that should be cleaned up in this library code for other than the size field.
Also corrected the code where the size gets us to the “at the end of the archive” which is OK but past the end of the archive will return object_error::parse_failed now.
The test cases use archives with text files so one can see the non-digit character, in this case a ‘%’, in the size field.
llvm-svn: 250906
show more ...
|
#
4f05f32b |
| 16-Oct-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] Teach ELFDumper about symbol versioning.
Differential Revision: http://reviews.llvm.org/D13824
llvm-svn: 250575
|
#
496fb2f0 |
| 14-Oct-2015 |
Igor Kudrin <ikudrin.dev@gmail.com> |
[llvm-readobj/ELF] Print GNU Hash section
Add a new command line switch, -gnu-hash-table, to print the content of that section.
Differential Revision: http://reviews.llvm.org/D13696
llvm-svn: 2502
[llvm-readobj/ELF] Print GNU Hash section
Add a new command line switch, -gnu-hash-table, to print the content of that section.
Differential Revision: http://reviews.llvm.org/D13696
llvm-svn: 250291
show more ...
|
#
096cda11 |
| 17-Sep-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] Fix another "time of check to time of use bug".
It seems there's more copy-paste between tools than needed.
llvm-svn: 247954
|
#
9a429b76 |
| 09-Sep-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] MachO -- dump LinkerOptions load command.
Example output:
Linker Options { Size: 32 Count: 2 Strings [ Value: -framework Value: Cocoa ] }
There were only two tests u
[llvm-readobj] MachO -- dump LinkerOptions load command.
Example output:
Linker Options { Size: 32 Count: 2 Strings [ Value: -framework Value: Cocoa ] }
There were only two tests using this -- so I converted them as part of this commit rather than separately.
Differential Revision: http://reviews.llvm.org/D12702
llvm-svn: 247106
show more ...
|
#
4410b22c |
| 03-Sep-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] Dump MachO indirect symbols.
Example output:
File: <stdin> Format: Mach-O 32-bit i386 Arch: i386 AddressSize: 32bit Indirect Symbols {
Number: 3 Symbols [ Entry { Entry Index:
[llvm-readobj] Dump MachO indirect symbols.
Example output:
File: <stdin> Format: Mach-O 32-bit i386 Arch: i386 AddressSize: 32bit Indirect Symbols {
Number: 3 Symbols [ Entry { Entry Index: 0 Symbol Index: 0x4 } Entry { Entry Index: 1 Symbol Index: 0x0 } Entry { Entry Index: 2 Symbol Index: 0x1 } ] }
Differential Revision: http://reviews.llvm.org/D12570
llvm-svn: 246789
show more ...
|
#
d1f09968 |
| 02-Sep-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] MachO: Dump segment command.
Example output:
File: <stdin> Format: Mach-O arm Arch: arm AddressSize: 32bit Segment { Cmd: LC_SEGMENT Name: Size: 260 vmaddr: 0x0 vmsize: 0x1
[llvm-readobj] MachO: Dump segment command.
Example output:
File: <stdin> Format: Mach-O arm Arch: arm AddressSize: 32bit Segment { Cmd: LC_SEGMENT Name: Size: 260 vmaddr: 0x0 vmsize: 0x10 fileoff: 408 filesize: 408 maxprot: rwx initprot: rwx nsects: 3 flags: 0x0 }
Differential Revision: http://reviews.llvm.org/D12542
llvm-svn: 246665
show more ...
|
#
35eebe13 |
| 31-Aug-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] Dump MachO Dysymtab command.
Example output:
File: <stdin> Format: Mach-O 64-bit x86-64 Arch: x86_64 AddressSize: 64bit Dysymtab {
ilocalsym: 0 nlocalsym: 6 iextdefsym: 6 nextdefsym
[llvm-readobj] Dump MachO Dysymtab command.
Example output:
File: <stdin> Format: Mach-O 64-bit x86-64 Arch: x86_64 AddressSize: 64bit Dysymtab {
ilocalsym: 0 nlocalsym: 6 iextdefsym: 6 nextdefsym: 2 iundefsym: 8 nundefsym: 0 tocoff: 0 ntoc: 0 modtaboff: 0 nmodtab: 0 extrefsymoff: 0 nextrefsyms: 0 indirectsymoff: 0 nindirectsyms: 0 extreloff: 0 nextrel: 0 locreloff: 0 nlocrel: 0
}
Differential Revision: http://reviews.llvm.org/D12496
llvm-svn: 246474
show more ...
|
#
1e12fc44 |
| 31-Aug-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] Add pair of missing braces.
This fixes a regression introduced in r246151.
llvm-svn: 246453
|
#
93210891 |
| 28-Aug-2015 |
Rui Ueyama <ruiu@google.com> |
llvm-readobj: Dump more info for COFF import libraries.
This patch teaches llvm-readobj to print out COFF import file header fields.
llvm-svn: 246291
|
#
71ba9bdd |
| 28-Aug-2015 |
Rui Ueyama <ruiu@google.com> |
Re-apply r246276 - Object: Teach llvm-ar to create symbol table for COFF short import files
This patch includes a fix for a llvm-readobj test. With this patch, the tool does no longer print out COF
Re-apply r246276 - Object: Teach llvm-ar to create symbol table for COFF short import files
This patch includes a fix for a llvm-readobj test. With this patch, the tool does no longer print out COFF headers for the short import file, but that's probably desirable because the header for the short import file is dummy.
llvm-svn: 246283
show more ...
|
Revision tags: llvmorg-3.7.0 |
|
#
976f4da0 |
| 27-Aug-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] Add support for dumping MachO min version load command.
Example output: File: <stdin> Format: Mach-O arm Arch: arm AddressSize: 32bit MinVersion { Cmd: LC_VERSION_MIN_IPHONEOS Siz
[llvm-readobj] Add support for dumping MachO min version load command.
Example output: File: <stdin> Format: Mach-O arm Arch: arm AddressSize: 32bit MinVersion { Cmd: LC_VERSION_MIN_IPHONEOS Size: 16 Version: 99.8.7 SDK: n/a }
Differential Revision: http://reviews.llvm.org/D12373
llvm-svn: 246151
show more ...
|
Revision tags: llvmorg-3.7.0-rc4 |
|
#
07e7acb6 |
| 21-Aug-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] Add support for MachO DataInCodeDataCommand.
Example output:
File: <stdin> Format: Mach-O arm Arch: arm AddressSize: 32bit DataInCode { Data offset: 300 Data size: 32 Data Regi
[llvm-readobj] Add support for MachO DataInCodeDataCommand.
Example output:
File: <stdin> Format: Mach-O arm Arch: arm AddressSize: 32bit DataInCode { Data offset: 300 Data size: 32 Data Regions [ DICE { Index: 0 Offset: 0 Length: 4 Kind: 1 } DICE { Index: 1 Offset: 4 Length: 4 Kind: 4 } DICE { Index: 2 Offset: 8 Length: 2 Kind: 3 } DICE { Index: 3 Offset: 10 Length: 1 Kind: 2 } ] }
Differential Revision: http://reviews.llvm.org/D12084
llvm-svn: 245732
show more ...
|
Revision tags: llvmorg-3.7.0-rc3, studio-1.4 |
|
#
db8803b0 |
| 07-Aug-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-readobj] Convert to range-loops.
llvm-svn: 244300
|
#
8b3b09fd |
| 06-Aug-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move to llvm-readobj code that is only used there.
lld might end up using a small part of this, but it will be in a much refactored form. For now this unblocks avoiding the full section scan in the
Move to llvm-readobj code that is only used there.
lld might end up using a small part of this, but it will be in a much refactored form. For now this unblocks avoiding the full section scan in the ELFFile constructor.
This also has a (very small) error handling improvement.
llvm-svn: 244282
show more ...
|
Revision tags: llvmorg-3.7.0-rc2 |
|
#
cd1b6dbc |
| 24-Jul-2015 |
Davide Italiano <davide@freebsd.org> |
[llvm-reaobj] Display COFF-specific sections/tables only if the object is COFF.
Just skip them otherwise.
llvm-svn: 243086
|
#
33e746f2 |
| 21-Jul-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify printing the soname. NFC.
llvm-svn: 242786
|
#
aa62fc09 |
| 20-Jul-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove duplicated code.
Both ELFObjectFile and ELFFile had an implementation of getLoadName.
llvm-svn: 242725
|
#
00ddb141 |
| 20-Jul-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
llvm-readobj: Handle invalid references to the string table.
llvm-svn: 242658
|
#
fb3acd62 |
| 20-Jul-2015 |
Rafael Espindola <rafael.espindola@gmail.com> |
llvm-readobj: call exit(1) on error.
llvm-readobj exists for testing llvm. We can safely stop the program the first time we know the input in corrupted.
This is in preparation for making it handle
llvm-readobj: call exit(1) on error.
llvm-readobj exists for testing llvm. We can safely stop the program the first time we know the input in corrupted.
This is in preparation for making it handle a few more broken files.
llvm-svn: 242656
show more ...
|