Wolfgang Denk wrote: > Dear Simon Kagstrom, > > In message <20090720214252.b0b6e832e...@gemini.denx.de> I wrote: >> Dear Simon Kagstrom, >> >> In message <20090707155927.78e75...@marrow.netinsight.se> you wrote: >>> Signed-off-by: Simon Kagstrom <simon.kagst...@netinsight.net> >>> --- >>> lib_generic/vsprintf.c | 7 +------ >>> 1 files changed, 1 insertions(+), 6 deletions(-) >> Applied, thanks. > > Sorry, I had to back out your patch. as it is causing compile problems: > > -> ./MAKEALL voiceblue > Configuring for voiceblue board... > vsprintf.c: In function 'put_dec': > vsprintf.c:237: warning: comparison of distinct pointer types lacks a cast > vsprintf.c:237: warning: right shift count >= width of type > vsprintf.c:237: warning: passing argument 1 of '__div64_32' from incompatible > pointer type > text data bss dec hex filename > 142099 5196 23304 170599 29a67 ./u-boot > > Please fix and resubmit.
:( This is because do_div() in div64.h only likes a 64bit value as first parameter. So something like --- a/lib_generic/vsprintf.c +++ b/lib_generic/vsprintf.c @@ -22,18 +22,19 @@ extern int do_reset (cmd_tbl_t *cmdtp, i #endif #ifdef CONFIG_SYS_64BIT_VSPRINTF +#include <div64.h> # define NUM_TYPE long long #else # define NUM_TYPE long -#endif -#define noinline __attribute__((noinline)) - #define do_div(n, base) ({ \ unsigned int __res; \ __res = ((unsigned NUM_TYPE) n) % base; \ n = ((unsigned NUM_TYPE) n) / base; \ __res; \ }) +#endif +#define noinline __attribute__((noinline)) + would do the trick. I don't know any clean way how to do this, though. Best regards Dirk _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot