Skip to content

Commit 16edcca

Browse files
committed
Workaround of broken unwind info
1 parent 127d98c commit 16edcca

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

src/coreclr/vm/amd64/CachedInterfaceDispatchCoreCLR.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ LEAF_ENTRY RhpVTableOffsetDispatch, _TEXT
2323
// to get the address in the vtable chunk list of what we want to dereference
2424
#ifdef TARGET_APPLE
2525
// Apple's linker has issues which break unwind info if
26-
// an ALTERNATE_ENTRY is present in the middle of a function see https://github.com/dotnet/runtime/pull/114982#discussion_r2083272768
26+
// an ALTERNATE_ENTRY is present in the middle of a function see https://github.com/dotnet/runtime/issues/119005
2727
.cfi_endproc
2828
#endif
2929
ALTERNATE_ENTRY RhpVTableOffsetDispatchAVLocation

src/coreclr/vm/amd64/patchedcode.S

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@
2020
//
2121
.macro WRITE_BARRIER_ENTRY name
2222
#if defined(__APPLE__)
23-
.text
23+
// .cfi_startproc/.cfi_endproc is workaround for https://github.com/dotnet/runtime/issues/119005
24+
.cfi_endproc
2425
.p2align 4
2526
.alt_entry C_FUNC(\name)
2627
.private_extern C_FUNC(\name)
2728
C_FUNC(\name):
29+
.cfi_startproc
2830
#else
2931
LEAF_ENTRY \name, _TEXT
3032
#endif
@@ -36,9 +38,12 @@ C_FUNC(\name):
3638
//
3739
.macro WRITE_BARRIER_END name
3840
#if defined(__APPLE__)
41+
// .cfi_startproc/.cfi_endproc is workaround for https://github.com/dotnet/runtime/issues/119005
42+
.cfi_endproc
3943
.alt_entry C_FUNC(\name\()_End)
4044
.private_extern C_FUNC(\name\()_End)
4145
C_FUNC(\name\()_End):
46+
.cfi_startproc
4247
// make sure this symbol gets its own address
4348
nop
4449
#else

src/coreclr/vm/arm64/patchedcode.S

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@
2020
//
2121
.macro WRITE_BARRIER_ENTRY name
2222
#if defined(__APPLE__)
23-
.text
23+
// .cfi_startproc/.cfi_endproc is workaround for https://github.com/dotnet/runtime/issues/119005
24+
.cfi_endproc
2425
.p2align 2
2526
.alt_entry C_FUNC(\name)
2627
.private_extern C_FUNC(\name)
2728
C_FUNC(\name):
29+
.cfi_startproc
2830
#else
2931
LEAF_ENTRY \name, _TEXT
3032
#endif
@@ -36,9 +38,12 @@ C_FUNC(\name):
3638
//
3739
.macro WRITE_BARRIER_END name
3840
#if defined(__APPLE__)
41+
// .cfi_startproc/.cfi_endproc is workaround for https://github.com/dotnet/runtime/issues/119005
42+
.cfi_endproc
3943
.alt_entry C_FUNC(\name\()_End)
4044
.private_extern C_FUNC(\name\()_End)
4145
C_FUNC(\name\()_End):
46+
.cfi_startproc
4247
// make sure this symbol gets its own address
4348
nop
4449
#else

0 commit comments

Comments
 (0)