From: Johannes Sixt <j.sixt@viscovery.net>
To: Alexey Borzenkov <snaury@gmail.com>
Cc: Marius Storm-Olsen <mstormo@gmail.com>,
git@vger.kernel.org, Johannes.Schindelin@gmx.de,
msysgit@googlegroups.com, gitster@pobox.com, j6t@kdbg.org,
lznuaa@gmail.com, raa.lkml@gmail.com,
Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Subject: Re: [PATCH 04/15] Set _O_BINARY as default fmode for both MinGW and MSVC
Date: Thu, 17 Sep 2009 09:11:20 +0200 [thread overview]
Message-ID: <4AB1E118.70504@viscovery.net> (raw)
In-Reply-To: <e2480c70909161300o3db4b416k8f33ccce2f987c55@mail.gmail.com>
Alexey Borzenkov schrieb:
> Searching which executables set _fmode and which don't I found the
> culprit. test-genrandom.c didn't include git-compat-util.h, so mingw.h
> was never included. This caused different random data to be generated,
> and as it seems more importantly, of different sizes. Can be fixed
> with this patch:
>
> diff --git a/test-genrandom.c b/test-genrandom.c
> index 8ad276d..b3c28d9 100644
> --- a/test-genrandom.c
> +++ b/test-genrandom.c
> @@ -4,8 +4,7 @@
> * Copyright (C) 2007 by Nicolas Pitre, licensed under the GPL version 2.
> */
>
> -#include <stdio.h>
> -#include <stdlib.h>
> +#include "git-compat-util.h"
>
> int main(int argc, char *argv[])
> {
Thanks for digging this out. With this change, the t5302 passes again.
I verified that the SHA1s that are generated with this fix are identical
to those that are generated on Linux. (And without this fix they are
different.)
Just for the records: The reason why including git-compat-util.h was not
necessary before 04/15 is that test-genrandom is linked against libgit.a.
This way the startup code had picked up the definition of _CRT_fmode from
mingw.c that is initialized to _O_BINARY. After the original 04/15 this
symbol was not present anymore in libgit.a, and the default (text mode)
was used. And with this fix, main() is overridden to explicitly set the
mode of stdout to _O_BINARY.
-- Hannes
next prev parent reply other threads:[~2009-09-17 7:11 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-16 8:20 [PATCH v4 00/15] Build Git with MSVC Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 01/15] Avoid declaration after statement Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 02/15] Add define guards to compat/win32.h Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 03/15] Change regerror() declaration from K&R style to ANSI C (C89) Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 04/15] Set _O_BINARY as default fmode for both MinGW and MSVC Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 05/15] Fix __stdcall placement and function prototype Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 06/15] Test for WIN32 instead of __MINGW32_ Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 07/15] Add empty header files for MSVC port Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 08/15] Add MinGW header files to build git with MSVC Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 09/15] Add platform files for MSVC porting Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 10/15] Make usage of windows.h lean and mean Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 11/15] Define strncasecmp and ftruncate for MSVC Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 12/15] Add MSVC to Makefile Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 13/15] Add README for MSVC build Marius Storm-Olsen
2009-09-16 8:20 ` [PATCH 14/15] Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake) Marius Storm-Olsen
2009-09-16 8:20 ` [RFC 15/15] Tag GIT_VERSION when Git is built with MSVC Marius Storm-Olsen
2009-09-17 20:18 ` Johannes Sixt
2009-09-18 6:44 ` Marius Storm-Olsen
2009-09-17 20:28 ` [PATCH 14/15] Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake) Johannes Sixt
2009-09-18 6:59 ` Marius Storm-Olsen
2009-09-18 8:21 ` Johannes Sixt
2009-09-23 15:04 ` Sebastian Schuberth
2009-09-23 20:37 ` Johannes Schindelin
2009-09-24 6:05 ` Marius Storm-Olsen
2009-09-23 10:03 ` Add MinGW header files to build git with MSVC Sebastian Schuberth
2009-09-23 11:29 ` Marius Storm-Olsen
2009-09-25 0:18 ` [msysGit] " Frank Li
2009-09-16 16:14 ` [PATCH 04/15] Set _O_BINARY as default fmode for both MinGW and MSVC Johannes Sixt
2009-09-16 20:00 ` Alexey Borzenkov
2009-09-17 7:11 ` Johannes Sixt [this message]
2009-09-17 7:25 ` Junio C Hamano
2009-09-17 7:27 ` Marius Storm-Olsen
2009-09-17 7:36 ` Johannes Sixt
2009-09-17 7:53 ` Marius Storm-Olsen
2009-09-17 8:10 ` Johannes Sixt
2009-09-17 8:14 ` Marius Storm-Olsen
2009-09-17 8:39 ` Alexey Borzenkov
2009-09-17 8:45 ` Marius Storm-Olsen
2009-09-17 8:57 ` Alexey Borzenkov
2009-09-17 9:03 ` Johannes Sixt
2009-09-17 9:28 ` Marius Storm-Olsen
2009-09-17 13:02 ` Alexey Borzenkov
2009-09-17 13:30 ` Johannes Sixt
2009-09-17 8:02 ` Marius Storm-Olsen
2009-09-17 10:44 ` Johannes Sixt
[not found] ` <4AB212FA.9080102@viscovery.netm>
2009-09-17 11:04 ` Marius Storm-Olsen
2009-09-16 9:42 ` [msysGit] [PATCH 02/15] Add define guards to compat/win32.h Erik Faye-Lund
2009-09-16 10:10 ` Marius Storm-Olsen
2009-09-23 9:44 ` Avoid declaration after statement Sebastian Schuberth
2009-09-25 13:34 ` Erik Faye-Lund
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AB1E118.70504@viscovery.net \
--to=j.sixt@viscovery.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j6t@kdbg.org \
--cc=lznuaa@gmail.com \
--cc=marius.storm-olsen@nokia.com \
--cc=mstormo@gmail.com \
--cc=msysgit@googlegroups.com \
--cc=raa.lkml@gmail.com \
--cc=snaury@gmail.com \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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).