GNU bug report logs -
#24304
Latest release 3.5
Previous Next
To reply to this bug, email your comments to 24304 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-diffutils <at> gnu.org
:
bug#24304
; Package
diffutils
.
(Wed, 24 Aug 2016 21:36:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Claude <lamy.claude <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-diffutils <at> gnu.org
.
(Wed, 24 Aug 2016 21:36:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
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
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-diffutils <at> gnu.org
:
bug#24304
; Package
diffutils
.
(Wed, 24 Aug 2016 21:45:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 24304 <at> debbugs.gnu.org (full text, mbox):
Claude wrote:
> +#ifndef __MINGW32__
> verify (sizeof (lin) <= sizeof (long int));
> +#endif
Although that change may be needed to get diffutils to compile, it is disabling
a compile-time check that, if it fails, means that diffutils will probably break
in some cases under mingw.
You'll have better luck building diffutils under Cygwin, which more compatible
with the GNU platform. In the meantime I'll mark this bug report as a wishlist item.
Severity set to 'wishlist' from 'normal'
Request was from
Paul Eggert <eggert <at> cs.ucla.edu>
to
control <at> debbugs.gnu.org
.
(Wed, 24 Aug 2016 21:45:02 GMT)
Full text and
rfc822 format available.
This bug report was last modified 8 years and 296 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.