search for: elffile

Displaying 12 results from an estimated 12 matches for "elffile".

2015 Jun 15
2
[LLVMdev] [lld] How do I prevent .note sections from being eliminated?
...put .note section, take a look at > ARMExidxSection, MipsReginfoSection, MipsOptionsSection classes. If > you need to copy sections from input to output, use SDataSection (from > Hexagon) as a reference point. > Hi Simon, Thanks for the reply. I have a few more follow up questions. ELFFile::handleSectionWithNoSymbols() returns false for SHT_NOTE. This means that ELFFile::createAtoms() never creates an atom for .note sections. It seems like even if I use something like SDataSection, then I will still need to modify ELFFIle::handleSectionWithNoSymbols(). What is the best way to do th...
2014 Mar 06
2
[LLVMdev] [lld] Relocation reading refactoring
...locationReference(const Elf_Sym &symbol, const Elf_Rela &rai); ELFReference<ELFT> * createRelocationReference(const Elf_Sym &symbol, const Elf_Rel &ri, ArrayRef<uint8_t> content); 2. Override one or both these methods in the <target name>ELFFile class. B: ===== 1. Create new class `ELFRelocationReader` and factor out `ELFReference` creation into the methods of this class. 2. Add new virtual function `createRelocationReader` to the `ELFFile` to create an instance of the `ELFRelocationReader`. 3. Subclass `ELFRelocationReader` and implement...
2014 Feb 26
2
[LLVMdev] [lld] Relocation reading refactoring
Hi, Thanks for the explanation. If I understand you properly you suggest to move relocation parsing to the class with the following interface. Right? Who will be user of this class? If it is still only ELFFile class, what benefits will we get from separation of this logic? template <class ELFT> class ELFRelocationReader { public: ELFRelocationReader(.....); // Returns all created references. ReferenceRangeT getAllReferences(); // Returns references for specified section/symbol. Referen...
2015 Jun 13
2
[LLVMdev] [lld] How do I prevent .note sections from being eliminated?
Hi, I'm working on an AMDGPU target for lld, and I'm trying to link a single .o file with a .note section, but the .note section is missing from the resulting a.out file. How can I control which sections get copied over to the executable? Is there a target hook to implement? Thanks, Tom
2015 Jan 12
2
[LLVMdev] [lld] ARM/Thumb atom forming
...humb instructions > have zero bit of st_value field set (see 4.5.3). > General ELF Reference says that st_value holds virtual address offset > from the beginning of the section > for executable files and shared objects (see Chapter 4 - Symbol Values). > > When atoms are created in ELFFile::createAtoms, their content size and > content data, and their addresses are formed using st_value. > Since st_value has zero bit set for symbols addressing Thumb > instructions, corresponding atoms' addresses are always > one byte ahead of real values. > Content size and, theref...
2017 Dec 05
2
[LLD] Slow callstacks in gdb
...s. > > When building with gcc 6.2.1 and linking with lld trunk, I get a link error: > > bin-lld/ld: error: lib/libse.a(file1.cpp.o): unaligned data That means that file1.cpp.o has an invalid sh_offset. Can you post a readelf -SW of it? How is it being created? The error is from ELF.h: ELFFile<ELFT>::getSectionContentsAsArray. Cheers, Rafael
2019 Mar 06
3
RFC: Adding "minidump" support to obj2yaml
...re referring to sections in regular object files, which have things like relocations, symbol lists, etc., and minidump streams have none of those. Therefore I'm leaning towards the option of just implementing this as a standalone MinidumpFile class. This would be kind of similar to the existing ELFFile class, only there wouldn't be an ELFObjectFile sitting on top of that. Please let me know what do you think, pavel
2017 Dec 02
2
[LLD] Slow callstacks in gdb
Martin Richtarsky <s at martinien.de> writes: > Rafael Avila de Espindola wrote : >>> Maybe gdb needs to fall back to slower line number resolution because >>> e.g. >>> low and high bounds cannot be retrieved and debug_line_address is 0? >> >> It is hard to know without a reproducible. I tried gdb on clang itself >> build with both clang and
2007 Nov 08
3
[LLVMdev] Newbie JITter
...->getTargetData())); Passes.add(createVerifierPass()); switch (target->addPassesToEmitFile(Passes, std::cout, TargetMachine::AssemblyFile, false)) { default: assert(0 && "Invalid file model!"); return 1; case FileModel::MachOFile: case FileModel::ElfFile: case FileModel::Error: std::cerr << "target does not support generation of this file type!\n"; return 1; case FileModel::AsmFile: break; } MachineCodeEmitter *MCE = 0; if (target->addPassesToEmitFileFinish(Passes, MCE, false)) { std::cerr <<...
2015 May 07
2
[LLVMdev] [lld] Wrong references for C++ COMDAT groups
Looks like it is also not working on x86_64, using clang/lld I am seeing a segmentation fault: Dump of assembler code for function _Z4funcj: 0x0000000000400590 <+0>: push %rbp 0x0000000000400591 <+1>: push %rbx 0x0000000000400592 <+2>: push %rax 0x0000000000400593 <+3>: mov %edi,%ebp 0x0000000000400595 <+5>: pop %rdx 0x0000000000400596
2014 Feb 26
2
[LLVMdev] [lld] Relocation reading refactoring
...from the ELFObjectFile? I considered to customize the relocation reading for MIPS targets and my first idea was to factor out ELFReference creation into a couple of virtual functions. The first one is for Elf_Rel, the second one is for Elf_Rela. Then I planned to override these functions in the MipsELFFile class. But it looks like you have more profound idea. Could you share it? Thanks. -- Simon
2007 Nov 09
0
[LLVMdev] Newbie JITter
...d(createVerifierPass()); > > switch (target->addPassesToEmitFile(Passes, std::cout, > TargetMachine::AssemblyFile, false)) { > default: > assert(0 && "Invalid file model!"); > return 1; > case FileModel::MachOFile: > case FileModel::ElfFile: > case FileModel::Error: > std::cerr << "target does not support generation of this file > type!\n"; > return 1; > case FileModel::AsmFile: > break; > } > > MachineCodeEmitter *MCE = 0; > if (target->addPassesToEmitFileFin...