Subject: Latest release 3.5

From: Claude <[email-masked]>
Date: Wed, 24 Aug 2016 17:35:02 -0400

Hi

I have dowloaded the latest release 3.5 in order to generate a win64 
version.

I had to apply the following patch in order to be able to compile 
successfully

diff -ruN diffutils-3.5/src/sdiff.c diffutils-3.5.mod/src/sdiff.c
--- diffutils-3.5/src/sdiff.c    2016-08-04 19:37:45.000000000 -0400
+++ diffutils-3.5.mod/src/sdiff.c    2016-08-24 16:14:33.032000000 -0400
@@ -805,7 +805,8 @@

        /* Yield an exit status indicating that a signal was received.  */
        untrapsig (s);
-      kill (getpid (), s);
+      raise(s);
+//      kill (getpid (), s);

        /* That didn't work, so exit with error status.  */
        exit (EXIT_TROUBLE);
diff -ruN diffutils-3.5/src/system.h diffutils-3.5.mod/src/system.h
--- diffutils-3.5/src/system.h    2016-08-04 19:37:45.000000000 -0400
+++ diffutils-3.5.mod/src/system.h    2016-08-24 11:42:36.344000000 -0400
@@ -134,7 +134,9 @@
  #define LIN_MAX PTRDIFF_MAX
  verify (TYPE_SIGNED (lin));
  verify (sizeof (ptrdiff_t) <= sizeof (lin));
+#ifndef __MINGW32__
  verify (sizeof (lin) <= sizeof (long int));
+#endif

  /* Limit so that 2 * CONTEXT + 1 does not overflow.  */

diff -ruN diffutils-3.5/src/util.c diffutils-3.5.mod/src/util.c
--- diffutils-3.5/src/util.c    2016-08-17 16:37:55.000000000 -0400
+++ diffutils-3.5.mod/src/util.c    2016-08-24 16:13:19.112000000 -0400
@@ -224,7 +224,7 @@
        if (stops)
          {
            stop_signal_count = stops - 1;
-          sig = SIGSTOP;
+          sig = SIGTERM;
          }
        else
          signal (sig, SIG_DFL);
@@ -244,11 +244,8 @@
    /* The signals that are trapped, and the number of such signals. */
    static int const sig[] =
      {
-      /* This one is handled specially.  */
-      SIGTSTP,
-
        /* The usual suspects.  */
-      SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM,
+      SIGINT, SIGTERM,
  #ifdef SIGPOLL
        SIGPOLL,
  #endif
@@ -298,7 +295,7 @@
          caught_sig[j] = (signal (sig[j], SIG_IGN) != SIG_IGN);
          if (caught_sig[j])
            {
-            signal (sig[j], sig[j] == SIGTSTP ? stophandler : sighandler);
+            signal (sig[j], sig[j] == SIGTERM ? stophandler : sighandler);
              siginterrupt (sig[j], 0);
            }
        }

I am aware that my problem may be arised from my patch but I don't think so.

The configure command I used was

./configure --host=x86_64-w64-mingw32 --prefix=/tmp/diffutils-3.5-mingw64

diff.exe was generated and executes.  My problem is that it does not 
produce any differences when it should.

Here is the output difference between  the version 3.5 I produced and a 
version 2.7 I found on the net

Test_case_insensitive>\diff --version
diff - GNU diffutils version 2.7

Test_case_insensitive>\diff File1.txt File2.txt
6c6
< The character changing case will be the one comprised between the next 
one "S".
---
 > The character changing case will be the one comprised between the 
next one "s".
10,14c10,14
< Once upon a time there were two little girls raised by their parents.
< They were not rich but they had the greatest treasur of all, they had 
each other's love.
< But there come a time in life when envy is being felt, and this came 
early in life...
< Well this story is rather long and I do not want to bother you with it.
< You will have to get the end of this story by yourself.  Have fun 
finding it... If you can.
---
 > oNCE UPON A TIME THERE WERE TWO LITTLE GIRLS RAISED BY THEIR PARENTS.
 > tHEY WERE NOT RICH BUT THEY HAD THE GREATEST TREASUR OF ALL, THEY HAD 
EACH OTHER'S LOVE.
 > bUT THERE COME A TIME IN LIFE WHEN ENVY IS BEING FELT, AND THIS CAME 
EARLY IN LIFE...
 > wELL THIS STORY IS RATHER LONG AND i DO NOT WANT TO BOTHER YOU WITH IT.
 > yOU WILL HAVE TO GET THE END OF THIS STORY BY YOURSELF.  hAVE FUN 
FINDING IT... iF YOU CAN.

Test_case_insensitive>\tools\diff.exe --version
diff (GNU diffutils) 3.5
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Paul Eggert, Mike Haertel, David Hayes,
Richard Stallman, and Len Tower.

Test_case_insensitive>\tools\diff.exe File1.txt File2.txt

Test_case_insensitive>\tools\diff.exe File1.txt File2.txt

Test_case_insensitive>

Thanks

Claude Lamy