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]

Re: making a system safe for utf-8?


David Wuertele wrote:
>   crosstool-0.28-rc31
>   binutils-2.14
>   gcc-3.3.3
>   glibc-2.3.2
>   linux-2.4.18
> 
> ... 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.

I'm afraid I'm not familiar enough with the issues to help
(though I do know something about UTF8 and locales).

A few things to consider:

If you compile with -S, do the strings make it through into the
assembly properly?

Have you looked at the options crosstool.sh uses?  e.g. it
disables nls when building binutils and gcc, but I thought that
was just for compiler error messages.

Have you checked the environment variables on the target?
Maybe something's fish there.

Good luck,
Dan

------
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]