History log of /llvm-project/llvm/tools/llvm-readobj/llvm-readobj.cpp (Results 176 – 200 of 258)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


1234567891011