On Mon, Jun 21, 2010 at 23:35, Song, Barry wrote:
>From: Mike Frysinger [mailto:[email protected]]
>>On Sun, Jun 20, 2010 at 22:27, Song, Barry wrote:
>>> If the string is not in L1, how could helloworld can be
>>> printed in application by argv[1].
>>
>>because argv[1] is not the same thing as argv[1][...].  there is no
>>requirement that the strings themselves be placed on the stack, only
>>the pointers to the strings.
>
> The fix was following the origin procedure. I have given a definite reply at 
> the first time that the current pointer and content are both in L1.
> If you want to place contents to RAM, there will be a new little task.

see, i dont think that's true.  i just booted up 2007R1.1 and it shows
argv/envp on the stack, but not the string contents

2007R1.1:
&str    : 0xffb00f28
 str    : 0x5f3984 (Hello world!)
&argv   : 0xffb00f38
 argv   : 0xffb00f84
&argv[0]: 0xffb00f84
 argv[0]: 0x5f7f9c (/helloworld)
&envp   : 0x5f452c
 envp   : 0xffb00f8c
&envp[0]: 0xffb00f8c
 envp[0]: 0x5f7fa8 (HOME=/)

current trunk:
&str    : 0xffb00f28
 str    : 0x262b9a0 (Hello world!)
&argv   : 0xffb00f38
 argv   : 0xffb00f84
&argv[0]: 0xffb00f84
 argv[0]: 0xffb00fa0 (/helloworld)
&envp   : 0x262c548
 envp   : 0xffb00f8c
&envp[0]: 0xffb00f8c
 envp[0]: 0xffb00fac (TERM=linux)

so i dont know why you think older versions placed their strings on
the stack when older versions dont actually do that
-mike
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to