On Mon, Apr 17, 2023, Aaron Lewis wrote: > On Thu, Mar 23, 2023, Sean Christopherson wrote: > > > +static char *number(char *str, long num, int base, int size, int precision, > > > + int type) > > > > Do we actually need a custom number()? I.e. can we sub in a libc equivalent? > > That would reduce the craziness of this file by more than a few degrees. > > Yeah, I think we need it. One of the biggest problems I'm trying to avoid > here is the use of LIBC in a guest. Using it always seems to end poorly > because guests generally don't set up AVX-512 or a TLS segmet, nor should > they have to. Calling into LIBC seems to require both of them too often, > so it seems like it's better to just avoid it. True, we'd probably end up in a world of hurt. I was going to suggest copy+pasting from a different source, e.g. musl, in the hopes of reducing the crazy by a degree, but after looking at the musl source, that's a terrible idea :-) And copying from the kernel has the advantage of keeping any bugs/quirks that users may be expecting and/or relying on.