Make sure that argv[] argument pointers are not modified.The hush shell dynamically allocates (and re-allocates) memory for theargument strings in the "char *argv[]" argument vector passed tocomm
Make sure that argv[] argument pointers are not modified.The hush shell dynamically allocates (and re-allocates) memory for theargument strings in the "char *argv[]" argument vector passed tocommands. Any code that modifies these pointers will cause seriouscorruption of the malloc data structures and crash U-Boot, so makesure the compiler can check that no such modifications are being doneby changing the code into "char * const argv[]".This modification is the result of debugging a strange crash causedafter adding a new command, which used the following argumentprocessing code which has been working perfectly fine in all Unixsystems since version 6 - but not so in U-Boot:int main (int argc, char **argv){ while (--argc > 0 && **++argv == '-') {/* ====> */ while (*++*argv) { switch (**argv) { case 'd': debug++; break; ... default: usage (); } } } ...}The line marked "====>" will corrupt the malloc data structures andusually cause U-Boot to crash when the next command gets executed bythe shell. With the modification, the compiler will prevent this withan error: increment of read-only location '*argv'N.B.: The code above can be trivially rewritten like this: while (--argc > 0 && **++argv == '-') { char *arg = *argv; while (*++arg) { switch (*arg) { ...Signed-off-by: Wolfgang Denk <wd@denx.de>Acked-by: Mike Frysinger <vapier@gentoo.org>
show more ...
Make *printf() return "int" instead of "void"Change the return type of the *printf() functions to the standard"int"; no changes are needed but returning the already availablelength count.This w
Make *printf() return "int" instead of "void"Change the return type of the *printf() functions to the standard"int"; no changes are needed but returning the already availablelength count.This will save a few additional strlen() calls later...Signed-off-by: Wolfgang Denk <wd@denx.de>
Move arch/ppc to arch/powerpcAs discussed on the list, move "arch/ppc" to "arch/powerpc" tobetter match the Linux directory structure.Please note that this patch also changes the "ppc" target in
Move arch/ppc to arch/powerpcAs discussed on the list, move "arch/ppc" to "arch/powerpc" tobetter match the Linux directory structure.Please note that this patch also changes the "ppc" target inMAKEALL to "powerpc" to match this new infrastructure. But "ppc"is kept as an alias for now, to not break compatibility withscripts using this name.Signed-off-by: Stefan Roese <sr@denx.de>Acked-by: Wolfgang Denk <wd@denx.de>Acked-by: Detlev Zundel <dzu@denx.de>Acked-by: Kim Phillips <kim.phillips@freescale.com>Cc: Peter Tyser <ptyser@xes-inc.com>Cc: Anatolij Gustschin <agust@denx.de>
Rename lib_generic/ to lib/Now that the other architecture-specific lib directories have beenmoved out of the top-level directory there's not much reason to have the'_generic' suffix on the commo
Rename lib_generic/ to lib/Now that the other architecture-specific lib directories have beenmoved out of the top-level directory there's not much reason to have the'_generic' suffix on the common lib directory.Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Move lib_$ARCH directories to arch/$ARCH/libAlso move lib_$ARCH/config.mk to arch/$ARCH/config.mkThis change is intended to clean up the top-level directory structureand more closely mimic Linux
Move lib_$ARCH directories to arch/$ARCH/libAlso move lib_$ARCH/config.mk to arch/$ARCH/config.mkThis change is intended to clean up the top-level directory structureand more closely mimic Linux's directory organization.Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Generic udelay() with watchdog supportAccording to the PPC reference implementation the udelay() function isresponsible for resetting the watchdog timer as frequently as needed.Most other archite
Generic udelay() with watchdog supportAccording to the PPC reference implementation the udelay() function isresponsible for resetting the watchdog timer as frequently as needed.Most other architectures do not meet that requirement, so long-runningoperations might result in a watchdog reset.This patch adds a generic udelay() function which takes care ofresetting the watchdog before calling an architecture-specific__udelay().Signed-off-by: Ingo van Lil <inguin@gmx.de>
ABI: fix build problems due to now needed div64 routine.Signed-off-by: Wolfgang Denk <wd@denx.de>
Move api_examples to examples/apiAlso add a rule to remove demo.bin which was previously leftoverafter a "make clean"Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
12