| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 184362
|
|
|
|
|
|
|
|
|
| |
This is a basic implementation - we still don't have any support (that I
know of) for dumping DWARF expressions in a meaningful way, so the
location information itself is just printed as a sequence of bytes as we
do elsewhere.
llvm-svn: 184361
|
|
|
|
|
|
|
|
| |
In ELF (as in MachO), not all relocations point to symbols. Represent this
properly by using a symbol_iterator instead of a SymbolRef. Update llvm-readobj
ELF's dumper to handle relocatios without symbols.
llvm-svn: 183284
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For COFF and MachO, sections semantically have relocations that apply to them.
That is not the case on ELF.
In relocatable objects (.o), a section with relocations in ELF has offsets to
another section where the relocations should be applied.
In dynamic objects and executables, relocations don't have an offset, they have
a virtual address. The section sh_info may or may not point to another section,
but that is not actually used for resolving the relocations.
This patch exposes that in the ObjectFile API. It has the following advantages:
* Most (all?) clients can handle this more efficiently. They will normally walk
all relocations, so doing an effort to iterate in a particular order doesn't
save time.
* llvm-readobj now prints relocations in the same way the native readelf does.
* probably most important, relocations that don't point to any section are now
visible. This is the case of relocations in the rela.dyn section. See the
updated relocation-executable.test for example.
llvm-svn: 182908
|
|
|
|
| |
llvm-svn: 182901
|
|
|
|
| |
llvm-svn: 181510
|
|
|
|
| |
llvm-svn: 181248
|
|
|
|
| |
llvm-svn: 181247
|
|
|
|
| |
llvm-svn: 181224
|
|
|
|
|
|
|
|
|
|
| |
getRelocationAddress is for dynamic libraries and executables,
getRelocationOffset for relocatable objects.
Mark the getRelocationAddress of COFF and MachO as not implemented yet. Add a
test of ELF's. llvm-readobj -r now prints the same values as readelf -r.
llvm-svn: 180259
|
|
|
|
|
|
|
| |
This makes llvm-dwarfdump and llvm-symbolizer understand
debug info sections compressed by ld.gold linker.
llvm-svn: 180088
|
|
|
|
| |
llvm-svn: 180013
|
|
|
|
| |
llvm-svn: 179682
|
|
|
|
|
|
|
| |
Moves one DWARF-specific header to include/llvm/DebugInfo from lib/.
Add a short unittest for r179095.
llvm-svn: 179678
|
|
|
|
|
|
| |
expose it in the header file.
llvm-svn: 179272
|
|
|
|
|
|
| |
same as DW_FORM_addr in DWARF2, and is 4/8 bytes on 32/64-bit DWARF starting from DWARF3. Adding a test for this is a huge pain - generating and uploading pre-built binary with DWARF3 debug info is way too ugly, and writing fine-grained unittests for DebugInfo is impossible, as it doesn't expose any headers in include/llvm. That said, I'm going to choose the second approach and submit the patch exposing DebugInfo headers for review soon enough.
llvm-svn: 179095
|
|
|
|
| |
llvm-svn: 179023
|
|
|
|
|
|
|
|
|
| |
a relocation across sections. Do this for DW_AT_stmt list in the
skeleton CU and check the relocations in the debug_info section.
Add a FIXME for multiple CUs.
llvm-svn: 178969
|
|
|
|
| |
llvm-svn: 177620
|
|
|
|
|
|
|
|
| |
member variable.
Patch by Kai <kai@redstar.de>
llvm-svn: 177575
|
|
|
|
|
|
|
| |
convey that it's a INOUT argument.
Also, if parsing of entry instructions fails, don't push the entry.
llvm-svn: 175847
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to lib/DebugInfo, with dumping in llvm-dwarfdump. This patch adds
initial ability to parse and dump CFA instructions contained in
entries.
To keep it manageable, the patch omits some more advanced capabilities
(accounted in TODOs):
* Parsing of instructions with BLOCK arguments (expression lists)
* Dumping of actual instruction arguments (currently only names are
dumped). This is quite tricky since the dumper has to effectively
"interpret" the instructions.
llvm-svn: 175820
|
|
|
|
|
|
| |
linkage.
llvm-svn: 175264
|
|
|
|
| |
llvm-svn: 174976
|
|
|
|
|
|
|
|
|
| |
but missed a couple
of lines which weren't being explicitly looked at and were printing incorrect results. These
values clearly must lie within 32 bits, so the casts are definitely safe.
llvm-svn: 174717
|
|
|
|
|
|
| |
Excuse me, I could not test it locally.
llvm-svn: 174614
|
|
|
|
|
|
| |
hosts.
llvm-svn: 174602
|
|
|
|
|
| |
FIXME: Are they really truncated to i32 from i64 unconditionally?
llvm-svn: 174574
|
|
|
|
| |
llvm-svn: 174515
|
|
|
|
|
|
| |
initialization is one of the reasons I consider -werror to be shoddy.
llvm-svn: 174485
|
|
|
|
| |
llvm-svn: 174483
|
|
|
|
| |
llvm-svn: 174473
|
|
|
|
| |
llvm-svn: 174465
|
|
|
|
| |
llvm-svn: 174463
|
|
|
|
| |
llvm-svn: 173552
|
|
|
|
|
|
| |
function allows a caller to obtain a table of line information for a function using the function's address and size.
llvm-svn: 173537
|
|
|
|
| |
llvm-svn: 173518
|
|
|
|
|
|
| |
and, in the case of ELF files, using symbol addresses when available for relocations to the .debug_info section. Also extending the llvm-rtdyld tool to add the ability to dump line number information for testing purposes.
llvm-svn: 173517
|
|
|
|
|
|
|
| |
Flags for dumping specific DWARF sections added in lib/DebugInfo and
llvm-dwarfdump.
llvm-svn: 173480
|
|
|
|
|
|
|
|
|
| |
changing both the string of the dwo_name to be correct and the type of
the statement list.
Testcases all around.
llvm-svn: 172699
|
|
|
|
|
|
|
| |
emitting the dwarf32 version of DW_FORM_sec_offset and correct
disassembler support.
llvm-svn: 172698
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
using the DW_FORM_GNU_addr_index and a separate .debug_addr section which
stays in the executable and is fully linked.
Sneak in two other small changes:
a) Print out the debug_str_offsets.dwo section.
b) Change form we're expecting the entries in the debug_str_offsets.dwo
section to take from ULEB128 to U32.
Add tests for all of this in the fission-cu.ll test.
llvm-svn: 172578
|
|
|
|
|
|
| |
test/DebugInfo/member-pointers.ll would not fail in targetting BE any more.
llvm-svn: 171943
|
|
|
|
| |
llvm-svn: 171804
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
proposal. This leaves the strings in the skeleton die as strp,
but in all dwo files they're accessed now via DW_FORM_GNU_str_index.
Add support for dumping these sections and modify the fission-cu.ll
testcase to have the correct strings and form. Fix a small bug
in the fixed form sizes routine that involved out of array accesses
for the table and add a FIXME in the extractFast routine to fix
this up.
llvm-svn: 171779
|
|
|
|
| |
llvm-svn: 171689
|
|
|
|
| |
llvm-svn: 171487
|
|
|
|
|
|
|
|
|
|
|
|
| |
sections for debug info. These are some of the dwo sections from the
DWARF5 split debug info proposal. Update the fission-cu.ll testcase
to show what we should be able to dump more of now.
Work in progress: Ultimately the relocations will be gone for the
dwo section and the strings will be a different form (as well as
the rest of the sections will be included).
llvm-svn: 171428
|
|
|
|
|
|
|
|
| |
information doesn't return an addend for Rel relocations. Go ahead
and use this information to fix relocation handling inside dwarfdump
for 32-bit ELF REL.
llvm-svn: 171126
|
|
|
|
|
|
|
| |
Now that we don't merge section and segment names, we don't need to skip the
segment name to get to the section name.
llvm-svn: 170839
|