Re: [PATCH] Emulate clock and other stubs on nvptx

Corinna Vinschen <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <YR4w3/+ysctZx6/[email protected]>
Hi Roger,

On Aug 18 17:43, Roger Sayle wrote:
> 
> Please be gentle, this is my first patch to newlib.
> 
> This patch to the libc/machine/nvptx port of newlib implements an
> approximation of "clock" and provides some additional stub routines.
> These changes not only reduce the number of (link) failures in the GCC
> testsuite when targeting nvptx-none, but also allow the NIST scimark4
> benchmark to compile and run without modification.
> 
> newlib already contains support for backends to provide their own
> clock implementations via -DCLOCK_PROVIDED.  That functionality is
> used here to return an approximate elapsed time based on the NVidia
> GPU's clock64 cycle counter.  Although not great, this is better than
> the current behaviour of link error from the unresolved symbol
> _times_r.
> 
> The other part of the patch is to add a small number of stub functions
> to nvptx's misc.c.  Adding isatty, for example, resolves linking
> problems in libc from the dependency in __smakebuf_r, and the sync
> stub, for example, fixes the failure with GCC's
> testsuite/gfortran.dg/ISO_Fortran_binding_14.f90 [which simply tests
> that gfortran can call a/any C function].
> 
> Hopefully, these changes are acceptable.  If so, if someone could
> please commit

They are, but your patch submission is a bit weird and more work to
apply than necessary.

Please commit your patches to your local git repo, including a nice
commit message, create a git patch file via `git format-patch' and send
it via `git send-email --to="newlib@..." to this mailing list.  Note
that providing Makefile.in is nice, but you don't *have* to provide
Makefile.in.  We'll regenerate that as required.

Another point:  Given the HW support for a monotonic clock tick,
wouldn't it make more sense to implement clock_gettime() with support
for CLOCK_REALTIME and CLOCK_MONOTONIC, and implement clock() by calling
clock_gettime()?


Thanks,
Corinna
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.