[U-Boot] [PATCH 5/7] lib: split out strtoxxxx functions out of vsprintf.c

Sjoerd Simons sjoerd.simons at collabora.co.uk
Tue Dec 8 08:30:26 CET 2015


On Mon, 2015-12-07 at 17:39 -0700, Simon Glass wrote:
> Hi Sjoerd,
> 
> On 4 December 2015 at 15:27, Sjoerd Simons
> <sjoerd.simons at collabora.co.uk> wrote:
> > To allow the various string to number conversion functions to be
> > used
> > when using tiny-printf,split them out into their own file which
> > gets
> > build regardless of what printf implementation is used.
> > 
> > Signed-off-by: Sjoerd Simons <sjoerd.simons at collabora.co.uk>
> > ---
> > 
> >  lib/Makefile   |   6 +-
> >  lib/strto.c    | 174
> > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >  lib/vsprintf.c | 164 -------------------------------------------
> > ----------
> >  3 files changed, 177 insertions(+), 167 deletions(-)
> >  create mode 100644 lib/strto.c
> > 
> 
> Acked-by: Simon Glass <sjg at chromium.org>
> Tested on firefly:
> Tested-by: Simon Glass <sjg at chromium.org>
> 
> > diff --git a/lib/Makefile b/lib/Makefile
> > index ae84833..dd36f25 100644
> > --- a/lib/Makefile
> > +++ b/lib/Makefile
> > @@ -85,13 +85,13 @@ obj-$(CONFIG_LIB_RAND) += rand.o
> >  ifdef CONFIG_SPL_BUILD
> >  # SPL U-Boot may use full-printf, tiny-printf or none at all
> >  ifdef CONFIG_USE_TINY_PRINTF
> > -obj-$(CONFIG_SPL_SERIAL_SUPPORT) += tiny-printf.o panic.o
> > +obj-$(CONFIG_SPL_SERIAL_SUPPORT) += tiny-printf.o panic.o strto.o
> >  else
> > -obj-$(CONFIG_SPL_SERIAL_SUPPORT) += vsprintf.o panic.o
> > +obj-$(CONFIG_SPL_SERIAL_SUPPORT) += vsprintf.o panic.o strto.o
> >  endif
> >  else
> >  # Main U-Boot always uses the full printf support
> > -obj-y += vsprintf.o panic.o
> > +obj-y += vsprintf.o panic.o strto.o
> >  endif
> 
> Can you just add this outside all the ifdef stuff:
> 
> obj-y += strto.o

Same as with panic, it wasn't build before on SPLs without serial
support so i kept that behaviour. Though as I don't think any of the
strto functions depending on print functionality always building it may
make sense.

> >  subdir-ccflags-$(CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED) += -O2
> > diff --git a/lib/strto.c b/lib/strto.c
> > new file mode 100644
> > index 0000000..a6c0157
> > --- /dev/null
> > +++ b/lib/strto.c
> > @@ -0,0 +1,174 @@
> > +/*
> > + *  linux/lib/vsprintf.c
> > + *
> > + *  Copyright (C) 1991, 1992  Linus Torvalds
> > + */
> > +
> > +/* vsprintf.c -- Lars Wirzenius & Linus Torvalds. */
> > +/*
> > + * Wirzenius wrote this portably, Torvalds fucked it up :-)
> > + */
> 
> Please check this code came from Linux. Probably it did, just want to
> make sure. The comment does not inspire confidence that it works!

See my reply to the previous patch :). the strtoxxx are more clearly
derived from Linux. And yeah, the linux code has the same copyright
header, but apparently it works for them... :p

> > +
> > +#include <common.h>
> > +#include <errno.h>
> > +#include <linux/ctype.h>
> > +
> 
> [snip]
> 
> Regards,
> Simon

-- 
Sjoerd Simons
Collabora Ltd.


More information about the U-Boot mailing list