git/list[1] front-page[2] threads[3] people[4] search[5] about
 

tr/xdiff-fast-hash generates warnings and breaks tests

From
Øyvind A. Holm <sunny@sunbase.org>
Date
May 16, 2012, 23:31 UTC
Message-ID
<CAA787r=WCJXeDipiVL37oMgji=ncoPyXXVOcCyYbSC6iCcTi1g@mail.gmail.com>

On Debian GNU/Linux 6.0.5 (squeeze), the two commits on the tr/xdiff-fast-hash branch introduces compiler warnings and breaks t/t0020-crlf.sh and maybe later tests:

6942efc (xdiff: load full words in the inner loop of xdl_hash_record)
  Introduces these compiler warnings (formatted for readability):
  [...]
      CC xdiff/xprepare.o
      CC xdiff/xutils.o
  xdiff/xutils.c: In function `has_zero':
  xdiff/xutils.c:290: warning: integer constant is too large for
                      `unsigned long' type
  xdiff/xutils.c:290: warning: integer constant is too large for
                      `unsigned long' type
  xdiff/xutils.c: In function `xdl_hash_record':
  xdiff/xutils.c:345: warning: integer constant is too large for
                      `unsigned long' type
  xdiff/xutils.c:361: warning: integer constant is too large for
                      `unsigned long' type
      CC xdiff/xemit.o
      CC xdiff/xmerge.o
  [...]
6f1af02 (xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of
        __WORDSIZE)
  Breaks these tests in t/t0020-crlf.sh :
  not ok - 12 apply patch (autocrlf=input)
  not ok - 13 apply patch --cached (autocrlf=input)
  not ok - 14 apply patch --index (autocrlf=input)
  not ok - 15 apply patch (autocrlf=true)
  not ok - 16 apply patch --cached (autocrlf=true)
  not ok - 17 apply patch --index (autocrlf=true)
  # failed 6 among 34 test(s)
Some later tests might also fail, haven't tested that.

Reverting those two commits on current master (6a4a482) fixes both problems. Tried building on two other systems (Ubuntu 10.04.4 LTS and Ubuntu 10.10), and these problems don't appear there. Some info:

  $ lsb_release -a
    No LSB modules are available.
    Distributor ID: Debian
    Description:    Debian GNU/Linux 6.0.5 (squeeze)
    Release:        6.0.5
    Codename:       squeeze
  $ gcc --version
    gcc (Debian 4.4.5-8) 4.4.5
  $ ldd --version
    ldd (Debian EGLIBC 2.11.3-3) 2.11.3
  $ uname -a
    Linux shell 2.6.32-5-amd64 #1 SMP Mon Jan 16 17:15:00 UTC 2012
    x86_64 GNU/Linux
  First part of /proc/cpuinfo:
    processor       : 0
    vendor_id       : GenuineIntel
    cpu family      : 6
    model           : 23
    model name      : Intel(R) Xeon(R) CPU           X3350  @ 2.66GHz
    stepping        : 7
    cpu MHz         : 2666.649
    cache size      : 6144 KB
    physical id     : 0
    siblings        : 4
    core id         : 0
    cpu cores       : 4
    apicid          : 0
    initial apicid  : 0
    fpu             : yes
    fpu_exception   : yes
    cpuid level     : 10
    wp              : yes
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr
                      pge mca cmov pat pse36 clflush dts acpi mmx fxsr
                      sse sse2 ss ht tm pbe syscall nx lm constant_tsc
                      arch_perfmon pebs bts rep_good aperfmperf pni
                      dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16
                      xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi
                      flexpriority
    bogomips        : 5333.29
    clflush size    : 64
    cache_alignment : 64
    address sizes   : 36 bits physical, 48 bits virtual
    power management:

Cheers, Øyvind

Next: René Scharfe
Message 1 of 11 in “tr/xdiff-fast-hash generates warnings and breaks tests”
  1. Øyvind A. HolmMay 16, 2012
  2. René ScharfeMay 17, 2012
  3. Øyvind A. HolmMay 17, 2012
  4. Junio C HamanoMay 17, 2012
  5. René ScharfeMay 17, 2012
  6. Øyvind A. HolmMay 19, 2012
  7. 1/3 xdiff: avoid compiler warnings with XDL_FAST_HASH on 32-bit machinesRené Scharfe, May 22, 2012
  8. 2/3 xdiff: avoid more compiler warnings with XDL_FAST_HASH on 32-bit machinesRené Scharfe, May 22, 2012
  9. Thomas RastMay 23, 2012
  10. 3/3 xdiff: import new 32-bit version of count_masked_bytes()René Scharfe, May 22, 2012
  11. Øyvind A. HolmMay 25, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.