You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
../src/arm/sysv.S:156:37: error: non-private labels cannot appear between .cfi_startproc / .cfi_endproc pairs
.globl ffi_call_SYSV; ; .align 3; ; ffi_call_SYSV:
^
../src/arm/sysv.S:141:2: error: previous .cfi_startproc was here
.cfi_startproc
^
For unknown reasons, this error doesn't seem to trigger on Linux targets, as mentioned in https://reviews.llvm.org/D155245#4657075. However the overall sentiment seems to be that this construct, having one CFI region cover two global functions, is invalid.
The text was updated successfully, but these errors were encountered:
It also seems that cfi_startproc could be moved below the label as well, testing seems to indicate that it's fine and we can just work around it. TBH in all other code ive looked at using CFI directives (which isn't much), its always below the label FWIW.
The ARM assembly, in particular https://github.com/libffi/libffi/blob/master/src/arm/sysv.S#L139-L213 (the sequence of
ffi_call_VFP
followed byffi_call_SYSV
) fails to compile for Windows/ARM with the very latest Clang (the latest nightly since today).The breaking change in Clang is this commit: https://reviews.llvm.org/D155245
Compiling fails with an error like this:
For unknown reasons, this error doesn't seem to trigger on Linux targets, as mentioned in https://reviews.llvm.org/D155245#4657075. However the overall sentiment seems to be that this construct, having one CFI region cover two global functions, is invalid.
The text was updated successfully, but these errors were encountered: