CTSRD-CHERI / cheri-exercises

Learning exercises for CHERI
https://ctsrd-cheri.github.io/cheri-exercises/
Other
18 stars 10 forks source link

Emulated TLS no longer required for emulated purecap code on Morello. #50

Closed rwatson closed 2 years ago

rwatson commented 2 years ago

With the recent shift to a proper thread-local storage ABI for Morello purecap code, ccc no longer needs to request emulated TLS.

jrtc27 commented 2 years ago

Well the varargs ABI difference still exists, so printf calls will still be broken. If you want to hard-code the new ABI you can, though https://github.com/CTSRD-CHERI/cheribsd-ports/blob/main/devel/llvm-base/files/wrapper.sh.in has the logic to copy for detecting which version to use.

rwatson commented 2 years ago

Well the varargs ABI difference still exists, so printf calls will still be broken. If you want to hard-code the new ABI you can, though https://github.com/CTSRD-CHERI/cheribsd-ports/blob/main/devel/llvm-base/files/wrapper.sh.in has the logic to copy for detecting which version to use.

Change made.

jrtc27 commented 2 years ago

Hybrid still needs it too, it changes how capabilities are passed as variadic arguments there

bsdjhb commented 2 years ago

I fixed it to use var-args on morello hybrid as well, so should be good to go now.

jrtc27 commented 2 years ago

Seems fine to me now so long as we don't care about supporting systems with the old ABI

bsdjhb commented 2 years ago

I think we probably don't care about those systems at this point TBH.

rwatson commented 2 years ago

Agreed. I think our policy should probably be that we don’t support pre-22.05 releases at this point.