search for: getsectionloadaddress

Displaying 11 results from an estimated 11 matches for "getsectionloadaddress".

2015 Jul 23
2
[LLVMdev] LoadedObjectInfo::getSectionLoadAddress
Hi Lang, LoadedObjectInfo::getSectionLoadAddress takes StringRef as an arg. That breaks if the object file has multiple sections with the same name. I made a change to add an overload that takes a SectionRef&. Can you please take a look? https://github.com/erozenfeld/llvm/commit/65f635e426bdc8e80a29ed370a78f0c0a282f265 Thanks, Eugene -----...
2015 Jul 23
0
[LLVMdev] LoadedObjectInfo::getSectionLoadAddress
On Wed, Jul 22, 2015 at 9:41 PM, Eugene Rozenfeld <Eugene.Rozenfeld at microsoft.com> wrote: > Hi Lang, > > > > LoadedObjectInfo::getSectionLoadAddress takes StringRef as an arg. That > breaks if the object file has multiple sections with the same name. I made a > change to add an overload that takes a SectionRef&. Can you please take a > look? > > > > https://github.com/erozenfeld/llvm/commit/65f635e426bdc8e80a29ed370a78f...
2015 Jul 23
1
[LLVMdev] LoadedObjectInfo::getSectionLoadAddress
...1474 Eugene -----Original Message----- From: Meador Inge [mailto:meadori at gmail.com] Sent: Thursday, July 23, 2015 8:45 AM To: Eugene Rozenfeld <Eugene.Rozenfeld at microsoft.com> Cc: Lang Hames <lhames at gmail.com>; llvmdev at cs.uiuc.edu Subject: Re: [LLVMdev] LoadedObjectInfo::getSectionLoadAddress On Wed, Jul 22, 2015 at 9:41 PM, Eugene Rozenfeld <Eugene.Rozenfeld at microsoft.com> wrote: > Hi Lang, > > > > LoadedObjectInfo::getSectionLoadAddress takes StringRef as an arg. > That breaks if the object file has multiple sections with the same > name. I made a cha...
2015 Jun 26
2
[LLVMdev] ORC and relocations
...ntries may have been added to the relocation list. i = ExternalSymbolRelocations.find(Name); } else { // We found the symbol in our global table. It was probably in a // Module that we loaded previously. const auto &SymInfo = Loc->second; Addr = getSectionLoadAddress(SymInfo.getSectionID()) + SymInfo.getOffset(); } if (Addr) { DEBUG(dbgs() << "Resolving relocations Name: " << Name << "\t" << format("0x%lx", Addr) << "\n"); // This list may...
2015 Jun 30
2
[LLVMdev] ORC and relocations
...ntries may have been added to the relocation list. i = ExternalSymbolRelocations.find(Name); } else { // We found the symbol in our global table. It was probably in a // Module that we loaded previously. const auto &SymInfo = Loc->second; Addr = getSectionLoadAddress(SymInfo.getSectionID()) + SymInfo.getOffset(); } // FIXME: Implement error handling that doesn't kill the host program! if (!Addr) { report_fatal_error("Program used external function '" + Name + "' whic...
2015 Jun 24
3
[LLVMdev] ORC and relocations
Hello, I'm working on LLILC (a jit for the CoreCLR built on ORC), in particular, on using LLILC as an ngen jit. I would like to have an ability to be notified of relocations that ObjectLinkingLayer is applying and to be able to tell the linking layer not to resolve certain relocations for external symbols (so that the client can do some custom resolutions later). The only way I found of
2015 Jul 23
2
[LLVMdev] ORC and relocations
...ntries may have been added to the relocation list. i = ExternalSymbolRelocations.find(Name); } else { // We found the symbol in our global table. It was probably in a // Module that we loaded previously. const auto &SymInfo = Loc->second; Addr = getSectionLoadAddress(SymInfo.getSectionID()) + SymInfo.getOffset(); } // FIXME: Implement error handling that doesn't kill the host program! if (!Addr) { report_fatal_error("Program used external function '" + Name + "' whic...
2015 Jul 23
0
[LLVMdev] ORC and relocations
...i = ExternalSymbolRelocations.find(Name); > > } else { > > // We found the symbol in our global table. It was probably in a > > // Module that we loaded previously. > > const auto &SymInfo = Loc->second; > > Addr = getSectionLoadAddress(SymInfo.getSectionID()) + > > SymInfo.getOffset(); > > } > > > > > // FIXME: Implement error handling that doesn't kill the host program! > > if (!Addr) { > > report_fatal_error("Program used external function '&...
2015 Jul 23
2
[LLVMdev] ORC and relocations
...ntries may have been added to the relocation list. i = ExternalSymbolRelocations.find(Name); } else { // We found the symbol in our global table. It was probably in a // Module that we loaded previously. const auto &SymInfo = Loc->second; Addr = getSectionLoadAddress(SymInfo.getSectionID()) + SymInfo.getOffset(); } // FIXME: Implement error handling that doesn't kill the host program! if (!Addr) { report_fatal_error("Program used external function '" + Name + "' whic...
2015 Jul 24
0
[LLVMdev] ORC and relocations
...i = ExternalSymbolRelocations.find(Name); > > } else { > > // We found the symbol in our global table. It was probably in a > > // Module that we loaded previously. > > const auto &SymInfo = Loc->second; > > Addr = getSectionLoadAddress(SymInfo.getSectionID()) + > > SymInfo.getOffset(); > > } > > > > > // FIXME: Implement error handling that doesn't kill the host program! > > if (!Addr) { > > report_fatal_error("Program used external function '&...
2015 Jan 26
2
[LLVMdev] [llvm] r188726 - Adding PIC support for ELF on x86_64 platforms
...if (GOTSectionID == 0) { + return 0; + } + + size_t GOTEntrySize = getGOTEntrySize(); + + // Find the matching entry in our vector. + int GOTIndex = -1; + uint64_t SymbolOffset = 0; + for (int i = 0, e = GOTEntries.size(); i != e; ++i) { + if (GOTEntries[i].SymbolName == 0) { + if (getSectionLoadAddress(GOTEntries[i].SectionID) == LoadAddress && + GOTEntries[i].Offset == Offset) { + GOTIndex = i; + SymbolOffset = GOTEntries[i].Offset; + break; + } + } else { + // GOT entries for external symbols use the addend as the address when + // the ext...