Re: [PATCH] git-compat-util.h: reduce optimization level to 1 on MinGW env.
- From
Wataru Noguchi <wnoguchi.0727@gmail.com>
- Date
- Sep 25, 2013, 23:46 UTC
- Message-ID
- <CAFRcQ0HPnnBFE7ww38OBO78SbHTJZpdPn4zd26k5TeUXWbGMGg@mail.gmail.com>
- In-Reply-To
- <20130925191527.GY9464@google.com>
Hi,
Thanks for your reply and advise.
> If changing the optimization level turns out to be the right fix, I > would prefer to see this change made in the Makefile instead of > git-compat-util.h.
Yes, I see. I think so. I shuld write optimization level change code to Makefile instead of git-compat-util.h.
2013/9/26 Jonathan Nieder <jrnieder@gmail.com>
Show 60 quoted lines
> (cc-ing the Git for Windows maintainers)
> Hi,
>
> Wataru Noguchi wrote:
>
> > Git for Windows crashes when clone Japanese multibyte repository.
> > - Japanese Base Encoding is Shift-JIS.
> > - It happens Japanese multibyte directory name and too-long directory
> path
> > - Linux(ex. Ubuntu 13.04 amd64) can clone normally.
> > - example repository is here:
> >
> > git clone https://github.com/wnoguchi/mingw-checkout-crash.git
> >
> > - The reproduce crash repository contains following file only.
> > - following directory and file name is encoded for this commit log.
> > - actually file name is decoded.]
> >
> %E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%201-long-long-long-dirname/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%202-long-long-long-dirname/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%203-long-long-long-dirname/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%204-long-long-long-dirname/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%205-long-long-long-dirname/%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB%E3%81%8A%E8%AA%AD%E3%81%BF%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84.txt
> > - only one commit.
> >
> > This commit reduce gcc optimization level from O2 to O1 when MinGW
> Windows environment.
> >
> > Signed-off-by: Wataru Noguchi <wnoguchi.0727@gmail.com>
>
> Thanks.
>
> > ---
> > git-compat-util.h | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/git-compat-util.h b/git-compat-util.h
> > index a31127f..394c23b 100644
> > --- a/git-compat-util.h
> > +++ b/git-compat-util.h
> > @@ -90,6 +90,8 @@
> > #define WIN32_LEAN_AND_MEAN /* stops windows.h including winsock.h */
> > #include <winsock2.h>
> > #include <windows.h>
> > +/* reduce gcc optimization level to 1 */
> > +#pragma GCC optimize ("O1")
> > #define GIT_WINDOWS_NATIVE
> > #endif
>
> Do you know why reducing the optimization level avoids a crash?
> Perhaps this is just masking the symptoms and the problem is still
> lurking.
>
> If changing the optimization level turns out to be the right fix, I
> would prefer to see this change made in the Makefile instead of
> git-compat-util.h. That way, the user building can still easily
> override the optimization settings to -O0 if they want to during a
> debugging session.
>
> What do you think?
>
> Hope that helps,
> Jonathan
>Thanks.
-- =========================== Wataru Noguchi wnoguchi.0727@gmail.com http://wnoguchi.github.io/ =========================== -- -- *** Please reply-to-all at all times *** *** (do not pretend to know who is subscribed and who is not) *** *** Please avoid top-posting. *** The msysGit Wiki is here: https://github.com/msysgit/msysgit/wiki - Github accounts are free. You received this message because you are subscribed to the Google Groups "msysGit" group. To post to this group, send email to msysgit@googlegroups.com To unsubscribe from this group, send email to msysgit+unsubscribe@googlegroups.com For more options, and view previous threads, visit this group at http://groups.google.com/group/msysgit?hl=en_US?hl=en --- You received this message because you are subscribed to the Google Groups "msysGit" group. To unsubscribe from this group and stop receiving emails from it, send an email to msysgit+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.