Page MenuHomeFreeBSD

contrib/ck: keep dcas parameters thin under bounds-safety
AcceptedPublic

Authored by abhijeetsharma2002_gmail.com on Wed, Aug 19, 12:03 PM.
Tags
None
Referenced Files
F170417953: D58986.diff
Fri, Sep 4, 6:00 PM
F170388226: D58986.id184353.diff
Fri, Sep 4, 2:20 PM
Unknown Object (File)
Thu, Sep 3, 8:06 PM
Unknown Object (File)
Thu, Sep 3, 7:02 AM
Unknown Object (File)
Wed, Sep 2, 3:32 PM
Unknown Object (File)
Wed, Sep 2, 12:58 PM
Unknown Object (File)
Mon, Aug 31, 8:57 PM
Unknown Object (File)
Mon, Aug 31, 3:49 PM
Subscribers

Details

Summary

Under -fbounds-safety a uint64_t [2] parameter becomes a bounds-carrying
pointer, which cannot be an inline assembly operand. Plain uint64_t * is
identical in C and carries no bound. Vendor declarations stay in the
#else for the next CK import.

Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 75739
Build 72622: arc lint + arc unit

Event Timeline

sys/contrib/ck/include/gcc/aarch64/ck_pr_llsc.h
42

Wouldn’t this work?

sys/contrib/ck/include/gcc/aarch64/ck_pr_llsc.h
42

Hey, unfortunately not. The issue is that any pointer with bounds cannot be used with inline assembly.

This revision is now accepted and ready to land.Sat, Sep 5, 12:15 AM