This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I am building the following system: crosstool-0.28-rc31 binutils-2.14 gcc-3.3.3 glibc-2.3.2 linux-2.4.18 I want this system to be safe for Japanese command-line arguments, but it is not. I am compiling my linux-2.4.18 with NLS default codepage UTF8. When I telnet into the target (using a UTF-8 clean terminal) and run mkdir 新しいフォルダ ... the busybox command complains about a syntax error. The above command is not a syntax error on my workstation, which is stock Fedora Core 2. I figured maybe the shell on my target is not UTF8 clean (strange that it would matter, since UTF8 fits so cleanly into the null-terminated-string world). So to bypass the shell, I typed this program into a file: int main () { execl ("/bin/mkdir", "/tmp/新しいフォルダ"); } ...and saved it as UTF8 text. I compiled it using my cross compiler. When I ran it under strace to look at the execve arguments: execve("/bin/mkdir", ["/tmp/\346\226\260\343\201\227\343\201\204\343\203\225\343\202\251\343\203\253\343\203\200", "A\177\377\177Q\177\377\177\\\177\377\177f\177\377\177\211\177\377\177\242\177\377\177\252\177\377\177\265\177\377\177\302\177\377\177\324\177\377\177", "\300\17\34<\360w\234\'!\340\231\3\320\377\275\'\20", umovestr: Input/output error 0x10008030, "&\177\377\177", umovestr: Input/output error 0x10008030, "", "\20", "&\177\377\177", "\215*", "\20"], [/* 10 vars */]) = -1 EFAULT (Bad address) I notice that it failed. I also notice that the second argument of execve(), the target directory: "/tmp/\346\226\260\343\201\227\343\201\204\343\203\225\343\202\251\343\203\253\343\203\200" ...doesn't look very much like the character codes for the original UTF8 directory name string. Anyone know what is going on here? What is different about my FC2 system that makes it work, while my crosstool target does not? Thanks, Dave ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |