search for: emitsymbolvalue

Displaying 7 results from an estimated 7 matches for "emitsymbolvalue".

2016 Aug 05
2
XRay: Demo on x86_64/Linux almost done; some questions.
..._map", ELF::SHT_PROGBITS, ELF::SHF_ALLOC | ELF::SHF_GROUP | ELF::SHF_MERGE, 0, CurrentFnSym->getName()); auto PrevSection = OutStreamer->getCurrentSectionOnly(); OutStreamer->SwitchSection(Section); for (const auto &Sled : Sleds) { OutStreamer->EmitSymbolValue(Sled.Sled, 8); OutStreamer->EmitSymbolValue(CurrentFnSym, 8); auto Kind = static_cast<uint8_t>(Sled.Kind); OutStreamer->EmitBytes( StringRef(reinterpret_cast<const char *>(&Kind), 1)); OutStreamer->EmitBytes( StringRef(reinterpret...
2017 Jan 20
4
16-bit bytes for AsmPrinter/DWARF
...implementation of the DWARF debugging format is not very good at distinguishing between target-sized bytes (which is the more common use) and 8-bit-bytes. The DWARF standard itself seems not very good in this regard, actually. So we have had to hack our way around this. I.e., at some call-sites of EmitSymbolValue(), EmitLabelDifference(), EmitIntValue() and EmitLabelReference(), an 8-bit-byte-sized argument has had to be converted to target-byte-size (which is extra hacky for odd numbers of eight-bit-bytes). We've been thinking about what a good upstream fix would look like, and believe that perhaps co...
2017 Nov 28
3
storing MBB MCSymbol in custom section
...ed my own custom section to be added at the end into a binary upon compilation which contains address of all basic blocks. As the final address of the basic block is not known until link time, I collect the MCSymbol* Symbol Values per BB in a temp array and at the in the custom section and emit it (emitSymbolValue) into my section within EmitEndOfAsmFile() I have found people looking at slightly different uses of the basic block address but running into the same problem as me when compiling. $clang calc_pi.c -o calc_pi fatal error: error in backend: Undefined temporary symbol However when only compiling (i...
2016 Aug 04
2
XRay: Demo on x86_64/Linux almost done; some questions.
> On 4 Aug 2016, at 06:27, Serge Rogatch <serge.rogatch at gmail.com> wrote: > > Hi Dean, > > I have a question about the following piece of code in compiler-rt/trunk/lib/xray/xray_trampoline_x86.S : > movq _ZN6__xray19XRayPatchedFunctionE(%rip), %rax > testq %rax, %rax > je .Ltmp0 > > // assume that %r10d has the function id. > movl %r10d,
2016 Aug 08
2
XRay: Demo on x86_64/Linux almost done; some questions.
...LOC | ELF::SHF_GROUP | ELF::SHF_MERGE, 0, > > CurrentFnSym->getName()); > > auto PrevSection = OutStreamer->getCurrentSectionOnly(); > > OutStreamer->SwitchSection(Section); > > for (const auto &Sled : Sleds) { > > OutStreamer->EmitSymbolValue(Sled.Sled, 8); > > OutStreamer->EmitSymbolValue(CurrentFnSym, 8); > > auto Kind = static_cast<uint8_t>(Sled.Kind); > > OutStreamer->EmitBytes( > > StringRef(reinterpret_cast<const char *>(&Kind), 1)); > > OutStrea...
2011 Mar 10
3
[LLVMdev] Detrimental optimization for reducing relocations.
...contains this code: -------------------------------------------------------------------------------- // If the section in question will end up with an address of 0 anyway, we can // just emit an absolute reference to save a relocation. if (Section.isBaseAddressKnownZero()) { OutStreamer.EmitSymbolValue(Label, 4, 0/*AddrSpace*/); return; } // Otherwise, emit it as a label difference from the start of the section. EmitLabelDifference(Label, SectionLabel, 4); } -------------------------------------------------------------------------------- isBaseAddrfessKnownZero() only returns true for...
2018 Jul 16
2
Collect all possible return address and write in a new section
Hi I try to implement a coarse-grained CFI in LLVM (CFI = Contorl Flow Integrity) I want to collect all address after call instructions address after a call equals to a valid return site in coarse-grained CFI I want to add a new section and write all the possible return address in the new section (and then, add the integrity check) I have some quetions: (1) Which part of LLVM code should