|
From: | Claude |
Subject: | [bug-diffutils] bug#24304: Latest release 3.5 |
Date: | Wed, 24 Aug 2016 17:35:02 -0400 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 |
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-mingw64diff.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 |
[Prev in Thread] | Current Thread | [Next in Thread] |