public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "costas.argyris at gmail dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug driver/108865] gcc on Windows fails with Unicode path to source file Date: Tue, 28 Feb 2023 22:07:44 +0000 [thread overview] Message-ID: <bug-108865-4-xVls5L6Nj8@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-108865-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108865 --- Comment #10 from Costas Argyris <costas.argyris at gmail dot com> --- The only interesting bit I found there was the shell script that gets called before actually running windres: https://github.com/jbruchon/jdupes/blob/master/Makefile#L201 which is doing some setup: https://github.com/jbruchon/jdupes/blob/master/tune_winres.sh It is changing some version information, but I don't think this is relevant to the problem I am having. Actually to be more precise, what I did did not fail completely, which makes this even stranger: I have a custom tool I created a while ago that you pass it the path to a Windows executable and it tells you the active code page it is using, and this tool actually reports the correct UTF-8 code page when I use the patch I posted. So it looks like it worked at first, but the arguments passed to the executable are still destroyed before main has a chance to do anything with them. It is like the executable itself is successfully converted to use UTF-8, but the setup done by the OS before reaching the entry point (main) hasn't been done properly, so the args never reach main properly. I suspect this is the part that the ms tools do that we don't. It makes some sense because on this particular problem, it is the arguments passed to the program that matter as well, not only the program itself. Perhaps the ms tools do some more work on the executable (besides just linking in the manifest) that signify to the OS loader that the args passed to it must also be interpreted as UTF-8. If such a thing is happening, our linking of the object resource file would never accomplish that I think. On another note, that program doesn't need to use the UTF-8 manifest because apparently it is using the wmain approach to get UTF-16 wide strings and converts them to char-based UTF-8, which wasn't a very good solution for gcc due to impact on the rest of the programs it spawns: https://github.com/jbruchon/jdupes/blob/master/jody_win_unicode.c
next prev parent reply other threads:[~2023-02-28 22:07 UTC|newest] Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-02-20 21:11 [Bug driver/108865] New: " costas.argyris at gmail dot com 2023-02-20 21:23 ` [Bug driver/108865] " pinskia at gcc dot gnu.org 2023-02-20 21:39 ` costas.argyris at gmail dot com 2023-02-20 21:41 ` pinskia at gcc dot gnu.org 2023-02-25 14:15 ` costas.argyris at gmail dot com 2023-02-25 18:27 ` pinskia at gcc dot gnu.org 2023-02-28 21:01 ` costas.argyris at gmail dot com 2023-02-28 21:11 ` costas.argyris at gmail dot com 2023-02-28 21:14 ` pinskia at gcc dot gnu.org 2023-02-28 21:27 ` pinskia at gcc dot gnu.org 2023-02-28 22:07 ` costas.argyris at gmail dot com [this message] 2023-03-01 10:38 ` costas.argyris at gmail dot com 2023-03-01 17:08 ` costas.argyris at gmail dot com 2023-03-02 0:57 ` costas.argyris at gmail dot com 2023-03-02 1:11 ` pinskia at gcc dot gnu.org 2023-03-02 9:56 ` costas.argyris at gmail dot com 2023-03-02 23:50 ` pinskia at gcc dot gnu.org 2023-03-05 23:42 ` costas.argyris at gmail dot com 2023-03-05 23:50 ` pinskia at gcc dot gnu.org 2023-03-06 12:25 ` costas.argyris at gmail dot com 2023-03-09 15:00 ` cvs-commit at gcc dot gnu.org 2023-03-09 16:22 ` pinskia at gcc dot gnu.org 2023-03-22 10:00 ` lh_mouse at 126 dot com 2023-03-22 10:35 ` costas.argyris at gmail dot com 2023-03-22 15:37 ` lh_mouse at 126 dot com 2023-03-23 1:13 ` costas.argyris at gmail dot com 2023-03-23 4:48 ` lh_mouse at 126 dot com 2023-03-23 9:24 ` costas.argyris at gmail dot com 2023-03-23 9:53 ` costas.argyris at gmail dot com 2023-03-24 12:00 ` costas.argyris at gmail dot com 2023-03-24 13:33 ` rguenth at gcc dot gnu.org 2023-03-29 11:58 ` costas.argyris at gmail dot com 2023-03-29 12:01 ` costas.argyris at gmail dot com 2023-03-29 12:20 ` costas.argyris at gmail dot com 2023-11-15 0:05 ` peter0x44 at disroot dot org 2023-11-15 0:10 ` pinskia at gcc dot gnu.org 2023-11-15 0:13 ` pinskia at gcc dot gnu.org 2023-11-15 0:15 ` peter0x44 at disroot dot org 2023-11-15 1:31 ` lh_mouse at 126 dot com 2023-11-15 9:23 ` ebotcazou at gcc dot gnu.org 2023-11-15 13:16 ` costas.argyris at gmail dot com 2023-11-15 13:57 ` ebotcazou at gcc dot gnu.org 2023-11-16 13:41 ` costas.argyris at gmail dot com 2023-11-16 14:57 ` ebotcazou at gcc dot gnu.org 2023-11-18 2:41 ` aoliva at gcc dot gnu.org 2023-11-20 18:35 ` costas.argyris at gmail dot com 2023-11-23 0:49 ` cvs-commit at gcc dot gnu.org 2023-11-29 10:56 ` cvs-commit at gcc dot gnu.org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-108865-4-xVls5L6Nj8@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).