search for: __cxxframehandler3

Displaying 20 results from an estimated 23 matches for "__cxxframehandler3".

2015 May 18
2
[LLVMdev] RFC: New EH representation for MSVC compatibility
On Mon, May 18, 2015 at 11:48 AM, Steve Cheng <steve.ckp at gmail.com> wrote: > On 2015-05-18 13:32:54 -0400, Reid Kleckner said: > >> >> Right, doing our own personality function is possible, but still has half >> the challenge of using __CxxFrameHandler3, and introduces a new runtime >> dependency that isn't there currently. Given that it won't save that much >> work, I'd rather not introduce a dependency that wasn't there before. >> >> The reason it's still hard is that you have to split the main functio...
2014 Nov 24
1
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
...; preds = %if.then br label %if.end ; From 'entry' invoke of Middle constructor ; outer needs post-catch cleanup lpad: ; preds = %if.end, %entry %2 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) cleanup catch i8* bitcast (i8** @_ZTIi to i8*) %3 = extractvalue { i8*, i32 } %2, 0 store i8* %3, i8** %exn.slot %4 = extractvalue { i8*, i32 } %2, 1 store i32 %4, i32* %ehselector.slot ; No pre-catch cleanup for this landingpad br label %catch.dispatch ; Fr...
2015 May 18
2
[LLVMdev] RFC: New EH representation for MSVC compatibility
...ry/catch > blocks. The custom personality function does have to be supplied as part of > the run-time, but as a frontend implementor I'm prepared to have to write a > run-time anyway. > Right, doing our own personality function is possible, but still has half the challenge of using __CxxFrameHandler3, and introduces a new runtime dependency that isn't there currently. Given that it won't save that much work, I'd rather not introduce a dependency that wasn't there before. The reason it's still hard is that you have to split the main function up into more than one subfunction...
2010 Aug 02
4
CoJ2 Server with Wine on Linux Debian 5.0
Hi guys, i'm trying to set up a server for Call of Juarez 2 Multiplayer on my Debian root. i installed the game with wine, installation worked. But now i cannot get the game startet. Is there anybody who knows how 2? The errorcode i get is: [start command (running as root)= wine CoJ2Game_x86_ds.exe] Code: fixme:actctx:parse_depend_manifests Could not find dependent assembly
2015 Jan 26
2
[LLVMdev] RFC: Native Windows C++ exception handling
...om personality function and the libc++abi library. There are also LLVM clients, such as ldc, that provide Windows exception handling similar to what I am proposing by providing their own custom personality function. However, what I would like is to support Windows C++ exception handling using the __CxxFrameHandler3 function provided by the native Windows runtime library. Some of the primary challenges in supporting native Windows C++ exception handling are: 1. Catch and unwind handlers are called in a different frame context than the original function in which they are defined. 2. Windows exception handlin...
2015 Jan 27
2
[LLVMdev] RFC: Native Windows C++ exception handling
...estv.unwind.1 helper just calls ~Inner(), but not ~Outer. That’s actually intentional. The thing to keep in mind is that all of the landing pads are going to be effectively removed by the time the final object image is generated. They are just there to facilitate the table generation, and in the __CxxFrameHandler3 case they don’t mean quite the same thing that they mean elsewhere. (Maybe that’s an argument for using a different construct.) There’s also a good chance that I’m being inconsistent in how I chose to represent catch clauses versus cleanup clauses. In the case you refer to, if an exception throw...
2011 Oct 12
2
Error when trying to run DivX player
I successfully installed DivX player 6.6 using wine. But when I try to open the player, I get the following errors. Code: err:module:find_forwarded_export function not found for forward 'msvcrt.__CxxFrameHandler3' used by L"C:\\windows\\system32\\msvcr80.dll". If you are using builtin L"msvcr80.dll", try using the native one instead. err:module:find_forwarded_export function not found for forward 'msvcrt._vswprintf' used by L"C:\\windows\\system32\\msvcr80.dll". If...
2015 Mar 05
2
[LLVMdev] Making llvm.eh.actions work
llvm.eh.actions is basically a sequenced list of actions to take when an invoke throws to the landing pad containing the actions call. The prototype is just 'i8* llvm.eh.actions(...)', but it needs some structure. LLVM IR supports three types of actions: cleanup, catch, and filter. __CxxFrameHandler3 doesn't support filters, so it isn't really relevant here. Catch actions need three pieces of information: 1. The typeinfo to catch. This can be null for catch-all handlers. 2. The alloca that the exception object is stored into. This can be null if there is no catch parameter. 3. The hand...
2015 May 15
8
[LLVMdev] RFC: New EH representation for MSVC compatibility
...rval tables that express the nesting levels of various source constructs like destructors, try ranges, catch ranges, etc. When you rinse your program through LLVM IR today, this structure is what gets lost. New information ------------------------- Recently, we have discovered that the tables for __CxxFrameHandler3 have the additional constraint that the EH states assigned to a catch body must immediately follow the state numbers assigned to the try body. The natural scoping rules of C++ make it so that doing this numbering at the source level is trivial, but once we go to LLVM IR CFG soup, scopes are gone. I...
2015 Feb 03
4
[LLVMdev] RFC: Replace __cxa_begin_catch/__cxa_end_catch with intrinsics
> On Feb 2, 2015, at 4:53 PM, Reid Kleckner <rnk at google.com> wrote: > This seems reasonable to me. Adding John explicitly… Thanks, Reid. Andy, I understand why Windows EH needs custom lowering here, and using intrinsics seems like a fine approach, but I don’t understand why you’re proposing changing the Itanium code generation pattern. There’s no reason for backends to have
2018 Mar 20
2
lld/lto/win32 crash on DIE code
...pects either pointer to a filter > function or null in first operand, while you're passing pointer to structure: > > catchpad within %80 [{i8*, i8*}* anon..., ...] > > ________________________________________ I used the wrong exception method name, using the regular one now (__CxxFrameHandler3). Also tested it in latest clean llvm/debug and crashes how I get it locally too. https://www.dropbox.com/s/n3e2eystps9qvwx/repro.tar?dl=0 > lld.exe!HandleAbort(int Sig) Line 411 C++ Symbols loaded. ucrtbased.dll!raise(int signum) Line 541 C++ Symbols loaded. ucrtbased.dll!abort() Li...
2015 May 18
4
[LLVMdev] New EH representation for MSVC compatibility
On Fri, May 15, 2015 at 5:27 PM, Kaylor, Andrew <andrew.kaylor at intel.com> wrote: > I like the way this sorts out with regard to funclet code generation. > It feels very natural for Windows EH, though obviously not as natural for > non-Windows targets and I think it is likely to block some optimizations > that are currently possible with those targets. > Right, it will
2015 May 13
4
[LLVMdev] Extending AsmPrinterHandler
(background) The CoreCLR expects a JIT to produce a MSIL bytecode offset to code offset mapping annotated with a few extra bits denoting if it’s prolog/epilog, or it’s a call, or if there’s operands remaining on the MSIL virtual stack in some cases. Our initial prototype has the MSIL offset stashed in the line number field. We could stash the extra bits in the column info but that’s starting to
2018 Mar 20
0
lld/lto/win32 crash on DIE code
This one triggers an assertion in calculateSEHStateNumbers due to weird catchpad instruction in @_island_debug_invoke and many other functions. The code expects either pointer to a filter function or null in first operand, while you're passing pointer to structure: catchpad within %80 [{i8*, i8*}* anon..., ...] ________________________________________ От: Carlo Kok <ck at
2018 Mar 21
0
lld/lto/win32 crash on DIE code
...expects either pointer to a filter > function or null in first operand, while you're passing pointer to structure: > > catchpad within %80 [{i8*, i8*}* anon..., ...] > > ________________________________________ I used the wrong exception method name, using the regular one now (__CxxFrameHandler3). Also tested it in latest clean llvm/debug and crashes how I get it locally too. https://www.dropbox.com/s/n3e2eystps9qvwx/repro.tar?dl=0 > lld.exe!HandleAbort(int Sig) Line 411 C++ Symbols loaded. ucrtbased.dll!raise(int signum) Line 541 C++ Symbols loaded....
2018 Mar 20
2
lld/lto/win32 crash on DIE code
Op 16-3-2018 om 20:16 schreef Evgeny Leviant: > Hello Carlo, > > I tried your reproducer and faced different problem from one you described > (I'm using MacOS Sierra and lld built from trunk on Mar, 15). The crash happens > when SelectionDAGBuilder::lowerInvokable tries to access EH info of this function: > >
2014 Dec 19
5
[LLVMdev] Windows EH support
Hi Reid, I'm trying to get a "big picture" view of everything that needs to be done for clang and llvm to support SEH and C++ exception handling for the "msvc" environment. I've put together a list, including work in progress, but I'm guessing that I've missed some details. Can you look this over and tell me if it matches your idea of what needs to be done?
2009 Jul 06
4
Can't start YencPowerpost
Hi there, when I try to start the application i got this: Code: fixme:system:SetProcessDPIAware stub! fixme:dwmapi:DwmIsCompositionEnabled 0x33cf94 fixme:iphlpapi:NotifyAddrChange (Handle 0x2eae918, overlapped 0x2eae920): stub 0[19dd00]: nsNativeModuleLoader::LoadModule("C:\windows\gecko\0.9.1\wine_gecko\xul.dll") - Symbol NSGetModule not found 0[19dd00]:
2015 Feb 11
2
[LLVMdev] RFC: Native Windows C++ exception handling
These are exactly the sorts of code transformations we want to allow by delaying the outlining until later. By keeping such code inlined in the parent function until after optimization, we enable a lot of core optimizations like SROA. For example, we should be able to completely eliminate wrappers like unique_ptr that would otherwise stay around due to the pointer escaped to the destructor call
2015 Feb 11
2
[LLVMdev] RFC: Native Windows C++ exception handling
...t; store i32 %a, i32* %a.addr, align 4 store i32 %b, i32* %b.addr, align 4 invoke void @_Z11maybe_throwv() to label %invoke.cont unwind label %lpad lpad: ; preds = %entry %4 = landingpad { i8*, i32 } personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) catch i8* bitcast (i8** @_ZTIi to i8*) catch i8* bitcast (i8** @_ZTIf to i8*) %5 = extractvalue { i8*, i32 } %4, 0 store i8* %5, i8** %exn.slot %6 = extractvalue { i8*, i32 } %4, 1 store i32 %6, i32* %ehselector.slot %2 = load i32* %a.addr, align 4 %3 = load...