On Wed, Oct 15, 2014 at 10:40:12AM +0200, Pavel Machek wrote: > Hi! > > > First, we have a compatibility problem here. GCC assumes that puts() > > will add a newline character after the string; U-Boot puts() does NOT > > do this. So the GCC auto-converted printf()s will all be wrong, as > > they are missing the newline. [1] > > > [1] One might argue that this is a bug in U-Boot and should be fixed, > > but that is another topic. > > I believe we should fix that, yes. > > I did quick grep, > > pavel@duo:~/wagabuibui/u-boot$ grep -ri puts . | wc -l > 4287 > > and that is probably too much to change in one go. So what about this?
I'm thinking, now that we know that with $(CC) -ffreestanding printf is not converted to puts, we should (a) globally change puts("no newline") to printf (b) fix puts behavior to conform to standards and correct puts("newline\n") to puts("newline"). And then let people use whatever of the print functions they want, while we sort out making people use debug(...) / error(...) more and come up with a clever output scheme like we talked about in person. -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot