On 13:06 Fri 12 Mar , Chris Metcalf wrote: I'm the author of the diff rewrite, but you forgot to cc me. Could've seen this message sooner otherwise.
> We noticed a seg fault in "diff" while building MySQL on a Tilera > processor board under Linux. I tracked it down to the fact that in one > place a pointer is initialized with "ptr = start - 1" and then later > tested with "start > ptr". Unfortunately in the failing case "start" is > NULL, so "ptr" ends up as a very large number (-16UL, basically), and so > the ">" test doesn't work. I can provide a more detailed changelog > entry and patch if changes to 1.15.3 are still interesting, but I'm > guessing they're not, due to the complete rewrite of "diff" in 1.16.0. I can't find that line. There are no variables named start or ptr. > However that version of "diff" doesn't work very well, at least for us. > I'd be curious to know if, for example, it passes the testsuite diff > tests for other platforms. On our platform the 1.16.0 diff gives bogus > output like this: It passes testsuite here on x86_64 and x86_32 machines, and it passes testsuite for whetever platform Denys, the busybox maintainer, uses. > # echo foo > /tmp/foo > # diff -u /tmp/foo /etc/resolv.conf > --- /tmp/foo > +++ /etc/resolv.conf > @@ -1 +1,3 @@ > -foo > > \ No newline at end of file > ++domain internal.tiler+a.com tad.internal.ti# > > > Notice the filenames are missing at the end of the "---" and "+++" I am not seeing that. What am I missing here? > lines, the "No newline at end of file" message is issued incorrectly, Why is it issued incorrectly? > and the contents of /etc/resolv.conf (not shown but pretty standard; you > can guess) are gibberish. I'd like to see that if you could provide a test case. But better wait until we figure out why the testsuite fails for you. > > If indeed 1.16.0 passes the testsuite for diff on other platforms, I'll > assume it's something wacky on our end, and we can investigate it > further. For now we're staying at 1.15.3, which does pass the testsuite > for us with SKIP_KNOWN_BUGS=1, and we don't need any of the 1.16.0 > functionality yet. > > (Well, the testsuite almost passes: I did need a small hack in > coreutils/tail.c to pass "tail.test", which was reporting a "short > write" error otherwise, and the "grep handles/matches NUL" tests in > grep.tests don't seem to pass for us either. If there's interest I can > send some patches for that stuff as well.) That seems pretty weird, if I may be so blunt. Are there any emulators, or any way someone could test stuff under that board? Without having to pay for one ofcourse. > -- > Chris Metcalf, Tilera Corp. > http://www.tilera.com > > > _______________________________________________ > busybox mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
