
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@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@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@chromium.org Tested on firefly: Tested-by: Simon Glass sjg@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