search for: sf_exported

Displaying 6 results from an estimated 6 matches for "sf_exported".

2016 Jan 24
2
SF_Exported vs SF_Hidden
Hi Rui, Rafael, Kevin, Nick, In r258665 I added a line to set the SF_Exported flag in COFFObjectFile - the JIT needs this flag to distinguish exported symbols from non-exported ones. In the process of trying to write a test case for that, a couple of questions came up: (1) Previously COFF wasn't setting either SF_Exported or SF_Hidden. What is the linker using to build...
2016 Jan 25
2
SF_Exported vs SF_Hidden
...t files carry a special section, .drectve, which contains additional flags that the linker takes under consideration. __declspec(dllexport) is typically implemented by adding a /EXPORT entry for a particular symbol in there (e.g. /EXPORT:_foo). Ok. > > (2) Is there any situation where 'SF_Exported' isn't just the inverse of 'SF_Hidden'? Can we get rid of one or the other of those flags? > I don't believe so. Normal static functions will have local binding but default visibility. Such a function would be neither hidden nor exported. Something feels not-quite-right ab...
2017 Feb 06
3
Kaleidoscope tutorial: comments, corrections and Windows support
..."CompileLayer.findSymbolIn(H, Name, false)" in "KaleidoscopeJIT::findMangledSymbol" to also allow non-exported symbols. I fixed it by changing "COFFObjectFile::getSymbolFlags" in llvm-src/lib/Object/COFFObjectFile.cpp to additionally OR SymbolRef::SF_Exported to Result: > uint32_t COFFObjectFile::getSymbolFlags(DataRefImpl Ref) const { > COFFSymbolRef Symb = getCOFFSymbol(Ref); > uint32_t Result = SymbolRef::SF_None; > > if (Symb.isExternal() || Symb.isWeakExternal()) > Result |= SymbolRef::SF_Global | SymbolRef::SF_Exported...
2016 May 20
0
External function resolution: MCJIT vs ORC JIT
...d to be sacrificed to > get this to work on Windows? I don't build on Windows myself, so I'm not certain. I know there are people using ORC on Windows though, and evidently at least simple code works. I only know of one big gotcha, which is that COFF files don't properly handle the SF_Exported symbol flag, so whenever you go searching for a symbol in the JIT on windows you have to call findSymbol with ExportedSymbolsOnly=false. Other than that I don't think usage should differ too much between platforms. On the feature support side: the JIT linker for Windows (RuntimeDyldCOFF) is le...
2016 May 22
1
External function resolution: MCJIT vs ORC JIT
...be sacrificed to get this to work on Windows? > > I don't build on Windows myself, so I'm not certain. I know there are people using ORC on Windows though, and evidently at least simple code works. I only know of one big gotcha, which is that COFF files don't properly handle the SF_Exported symbol flag, so whenever you go searching for a symbol in the JIT on windows you have to call findSymbol with ExportedSymbolsOnly=false. Other than that I don't think usage should differ too much between platforms. > > On the feature support side: the JIT linker for Windows (RuntimeDyldC...
2016 May 19
2
External function resolution: MCJIT vs ORC JIT
Thanks so much! This seems to do the trick. I would have spun my wheels for a long time before discovering all of this, wow. Do I even want to know what additional chickens need to be sacrificed to get this to work on Windows? -- lg > On May 18, 2016, at 1:52 PM, Lang Hames <lhames at gmail.com> wrote: > > Hi Larry, > > You're basically there, but you're hitting