On Fri, 2011-01-07 at 09:14 -0600, Kumar Gala wrote: > On Jan 3, 2011, at 3:47 PM, Wolfgang Denk wrote: > > > Dear York Sun, > > > > In message <1294089991.24386.58.ca...@oslab-l1> you wrote: > >> > >>> Hm... I have no idea whish sort of "buggy code" you are referring to > >>> here, but in this case we shoul start and fix that buggy code, right? > >> > >> Making a buffer in a function's stack and make use of it out of the > >> scope, that's the buggy code I am referring. > > > > That is bad indeed, and needs to be fixed. > > Where is that happening? > > >>> You fail to explain why we should change anything when you "don't need > >>> more than 128 characters for hwconfig" in the first place? > >> > >> I don't need more than 128 characters. However, the stack is trashed by > >> other functions. I have to push the stack deeper to keep the content > >> unchanged. I am not happy with it. > > > > Now I understand what you mean. > > > > But we do not need a bigger buffer, or store another copy of the whole > > content of the "hwconfig" variable - we just need room to for the > > return value of hwconfig_parse(), which usually should be (much) > > smaller than the content of the "hwconfig" variable. > > I agree with WD, I'm confused. Can you provide the hwconfig string you are > using that has issues with 128 but works at 256. > > - k
fsl_ddr:ctlr_intlv=cacheline,bank_intlv=cs0_cs1_cs2_cs3,ecc=off,addr_hash=false With the buffer size 128, the sub function gets "ctlr_intlv=cacheline,bank_intlv=cs0_". It is not because the buffer is not enough, but the stack has been trashed. I have debug log if you need it. York _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot