Skip to content

Commit e5974fd

Browse files
ibuclawdlang-bot
authored andcommitted
spec/abi.dd: ELF and Mach-O targets now use DWARF EH
Only Win64 targets still use the DigitalMars EH tables support code.
1 parent cb4ac13 commit e5974fd

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

spec/abi.dd

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -864,16 +864,22 @@ foo(a1, a2, a3, ..., an);
864864

865865
$(H2 $(LNAME2 exception_handling, Exception Handling))
866866

867-
$(H3 $(LNAME2 windows_eh, Windows))
867+
$(H3 $(LNAME2 windows_eh, Windows 32 bit))
868868

869869
$(P Conforms to the Microsoft Windows Structured Exception Handling
870870
conventions.
871871
)
872872

873873
$(H3 $(LNAME2 ninux_fbsd_osx_eh, Linux$(COMMA) FreeBSD and OS X))
874874

875+
$(P Conforms to the DWARF $(LPAREN)debugging with attributed record
876+
formats$(RPAREN) Exception Handling conventions.
877+
)
878+
879+
$(H3 $(LNAME2 win64_eh, Windows 64 bit))
880+
875881
$(P Uses static address range/handler tables.
876-
It is not compatible with the ELF/Mach-O exception handling tables.
882+
It is not compatible with the MSVC x64 exception handling tables.
877883
The stack is walked assuming it uses the EBP/RBP stack frame
878884
convention. The EBP/RBP convention must be used for every
879885
function that has an associated EH (Exception Handler) table.
@@ -896,7 +902,8 @@ $(H2 $(LNAME2 exception_handling, Exception Handling))
896902

897903
$(TABLE2 EH Table Segment,
898904
$(THEAD Operating System, Segment Name)
899-
$(TROW Windows, $(D FI))
905+
$(TROW Win32, $(D FI))
906+
$(TROW Win64, $(D ._deh$B))
900907
$(TROW Linux, $(D .deh_eh))
901908
$(TROW FreeBSD, $(D .deh_eh))
902909
$(TROW OS X, $(ARGS $(D __deh_eh), $(D __DATA)))

0 commit comments

Comments
 (0)