On 29/6/2022 4:30 pm, Sebastian Huber wrote: > Update #4670. > --- > cpukit/include/rtems/score/io.h | 4 + > cpukit/include/rtems/test-info.h | 6 ++ > cpukit/libtest/testgcovdumpinfo.c | 66 ++++++++++++++ > cpukit/score/src/iogcovdumpinfo.c | 101 +++++++++++++++++++++ > cpukit/score/src/iogcovdumpinfobase64.c | 111 ++++++++++++++++++++++++ > spec/build/cpukit/librtemscpu.yml | 2 + > spec/build/cpukit/librtemstest.yml | 1 + > testsuites/validation/tc-terminate.c | 3 +- > 8 files changed, 293 insertions(+), 1 deletion(-) > create mode 100644 cpukit/libtest/testgcovdumpinfo.c > create mode 100644 cpukit/score/src/iogcovdumpinfo.c > create mode 100644 cpukit/score/src/iogcovdumpinfobase64.c > > diff --git a/cpukit/include/rtems/score/io.h b/cpukit/include/rtems/score/io.h > index 106418f185..097cb9bdfe 100644 > --- a/cpukit/include/rtems/score/io.h > +++ b/cpukit/include/rtems/score/io.h > @@ -141,6 +141,10 @@ int _IO_Base64url( > */ > void _IO_Relax( void ); > > +void _IO_Gcov_dump_info( IO_Put_char put_char, void *arg ); > + > +void _IO_Gcov_dump_info_base64( IO_Put_char put_char, void *arg ); > +
Why just a per char interface? Given this is in the score a buffer plus length interface would make more sense? It would make the interface more efficient. The per char could be a convenience function version of the buffer and length call for those use cases than want it, ie .... > +static void _IO_Gcov_dump( const void *data, unsigned length, void *arg ) > +{ > + IO_Gcov_context *ctx; > + IO_Put_char put_char; > + void *ctx_arg; > + const char *in; > + const void *end; > + > + ctx = arg; > + in = data; > + end = in + length; > + put_char = ctx->put_char; > + ctx_arg = ctx->arg; > + > + while ( in != end ) { > + ( *put_char )( *in, ctx_arg ); > + ++in; > + } > +} Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel