Showing with 757 additions and 5 deletions.
  1. +1 −0 mak/MANIFEST
  2. +1 −0 mak/SRCS
  3. +3 −5 src/core/sys/unwind.d
  4. +752 −0 src/rt/dwarfeh.d
1 change: 1 addition & 0 deletions mak/MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,7 @@ MANIFEST=\
src\rt\deh_win32.d \
src\rt\deh_win64_posix.d \
src\rt\dmain2.d \
src\rt\dwarfeh.d \
src\rt\dylib_fixes.c \
src\rt\invariant.d \
src\rt\lifetime.d \
Expand Down
1 change: 1 addition & 0 deletions mak/SRCS
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ SRCS=\
src\rt\deh_win32.d \
src\rt\deh_win64_posix.d \
src\rt\dmain2.d \
src\rt\dwarfeh.d \
src\rt\invariant.d \
src\rt\lifetime.d \
src\rt\llmath.d \
Expand Down
8 changes: 3 additions & 5 deletions src/core/sys/unwind.d
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ alias uintptr_t _Unwind_Internal_Ptr;
alias ulong _Unwind_Exception_Class;

alias uintptr_t _uleb128_t;
alias intptr_t sleb128_t;
alias intptr_t _sleb128_t;

alias int _Unwind_Reason_Code;
enum
Expand Down Expand Up @@ -50,7 +50,7 @@ alias _Unwind_Exception_Cleanup_Fn = void function(

struct _Unwind_Exception
{
_Unwind_Exception_Class exception_class;
align(8) _Unwind_Exception_Class exception_class;
_Unwind_Exception_Cleanup_Fn exception_cleanup;
_Unwind_Word private_1;
_Unwind_Word private_2;
Expand Down Expand Up @@ -100,9 +100,7 @@ version (X68_64)

_Unwind_Ptr _Unwind_GetTextRelBase(_Unwind_Context* context)
{
import core.stdc.stdlib;
abort();
return 0;
assert(0);
}
}
else
Expand Down
Loading