Example: const2.c

up: index
prev: const1a.c
next: const2a.c

    #include <inttypes.h>
    #include <stdio.h>
    #include "capprint.h"
    
    const int v = 42;
    
    int main()
    {
        fprintf(stderr,"%" PTR_FMT "\n", sptr((void*)&v));
    }

Experimental data (what does this mean?)

cerberus-cheri-no-pnvi
cerberus-cheri-revocation-no-pnvi
cerberus-cheri-cornucopia-no-pnvi
 (@disabled, 0xfffff24c [rwRW,0xfffff24c-0xfffff250])
 
cerberus-cheri
cerberus-cheri-revocation
cerberus-cheri-cornucopia
 (@17, 0xfffff24c [rwRW,0xfffff24c-0xfffff250])
 
clang-riscv-O3-bounds-conservative 0x10078c [rR,0x10078c-0x100790]
 
clang-riscv-O0-bounds-conservative
clang-riscv-O0-bounds-references-only
clang-riscv-O0-bounds-subobject-safe
clang-riscv-O3-bounds-subobject-safe
clang-riscv-O0-bounds-aggressive
clang-riscv-O0-bounds-very-aggressive
clang-riscv-O0-bounds-everywhere-unsafe
 0x100708 [rR,0x100708-0x10070c]
 
clang-morello-O3-bounds-conservative 0x100954 [rR,0x100954-0x100958]
 
clang-morello-O0-bounds-conservative
clang-morello-O0-bounds-references-only
clang-morello-O0-bounds-subobject-safe
clang-morello-O3-bounds-subobject-safe
clang-morello-O0-bounds-aggressive
clang-morello-O0-bounds-very-aggressive
clang-morello-O0-bounds-everywhere-unsafe
 0x1008e8 [rR,0x1008e8-0x1008ec]
 
gcc-morello-O3 0x415cd4 [rR,0x415cd4-0x415cd8]
 
gcc-morello-O0 0x41615c [rR,0x41615c-0x416160]