On 2/2/26 12:20, John Baldwin wrote:
The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=f7144a9c4a11214a71a3091ce1b232a8243b83ea

commit f7144a9c4a11214a71a3091ce1b232a8243b83ea
Author:     John Baldwin <[email protected]>
AuthorDate: 2026-02-02 17:19:51 +0000
Commit:     John Baldwin <[email protected]>
CommitDate: 2026-02-02 17:19:51 +0000

     sdt: Use the "cc" operand modifier for the address of probes for GCC 15+
This is required for GCC on RISC-V. The GCC 15 docs claim that "cc" is
     similar to "c" except that it "tries harder".
NB: I have not yet found a way to make the DTrace probes compile on
     RISC-V with older versions of GCC.
Reviewed by: markj
     Differential Revision:  https://reviews.freebsd.org/D54964

Once I land an update to the freebsd-gccXX ports to support %#b with printf(9)
(in review at https://reviews.freebsd.org/D55016 if any ports person wants to
review), RISC-V kernels and worlds can be built with GCC 15.

GCC 14 and earlier can't compile SDT probes. :(

Also, Someone(tm) should document # support for %b in printf(9).  It would also
be really great if we could document %r and %y in printf(9) as well.

%y prints signed hex values, so printf("%y", -1) is output as "-0x1".

%r uses a custom radix defined in a global 'radix' variable (I think this is
really only for DDB), and if "+" is passed it assumes the argument is signed
rather than unsigned.  (This last part is a bit of a hack really.  Probably
we should use separate letters for signed vs unsigned.  Or maybe stop
using %r.)

--
John Baldwin


Reply via email to