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
The error from DiagnoseCHERIPtr() in SemaCast.cpp raises duplicate warnings to -Wcast-align, but only for hybrid, and they can't be disabled via a command line argument. Instead, hybrid code has to use extra workaround casts to defeat the warning (e.g. the extra intermediate cast to void * when casting the Elf_Addr *where to uintcap_t * in the R_MORELLO_RELATIVE handling in CheriBSD's rtld).
The fact that the error is hybrid only seems really odd. I'm not sure if that behavior is intentional, but it is disabled if the pointers being cast between are both capabilities which means it never triggers for purecap, only for hybrid.
The text was updated successfully, but these errors were encountered:
The error from DiagnoseCHERIPtr() in SemaCast.cpp raises duplicate warnings to -Wcast-align, but only for hybrid, and they can't be disabled via a command line argument. Instead, hybrid code has to use extra workaround casts to defeat the warning (e.g. the extra intermediate cast to
void *
when casting theElf_Addr *where
touintcap_t *
in theR_MORELLO_RELATIVE
handling in CheriBSD's rtld).The fact that the error is hybrid only seems really odd. I'm not sure if that behavior is intentional, but it is disabled if the pointers being cast between are both capabilities which means it never triggers for purecap, only for hybrid.
The text was updated successfully, but these errors were encountered: