Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-1374

C client multi-threaded test suite fails to compile on ARM architectures.

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.3.4
    • Fix Version/s: 3.4.3, 3.5.0
    • Component/s: c client
    • Labels:
      None
    • Environment:

      Ubuntu 12.04 (precise) armel or armhf

    • Hadoop Flags:
      Reviewed

      Description

      The multi-threaded test suite fails to build on ARM architectures:

      g++ -DHAVE_CONFIG_H -I. -I./include -I./tests -I./generated -D_FORTIFY_SOURCE=2 -DUSE_STATIC_LIB -DTHREADED -DZKSERVER_CMD="\"./tests/zkServer.sh\"" -Wall -g -MT zktest_mt-ThreadingUtil.o -MD -MP -MF .deps/zktest_mt-ThreadingUtil.Tpo -c -o zktest_mt-ThreadingUtil.o `test -f 'tests/ThreadingUtil.cc' || echo './'`tests/ThreadingUtil.cc
      /tmp/ccqJWQRC.s: Assembler messages:
      /tmp/ccqJWQRC.s:373: Error: bad instruction `lock xaddl r4,r3,#0'
      /tmp/ccqJWQRC.s:425: Error: bad instruction `lock xchgl r4,r3,#0'

      gcc does provide alternative primitives (sync*) which provide better cross platform compatibility; but that does make the assumption that a) gcc is being used or b) the primitives are provided by alternative compilers.

      Tracked in Ubuntu here: https://bugs.launchpad.net/ubuntu/+source/zookeeper/+bug/920871

        Attachments

        1. ZOOKEEPER-1374.patch
          0.9 kB
          James Page
        2. ZOOKEEPER-1374.patch
          1 kB
          Patrick Hunt

          Issue Links

            Activity

              People

              • Assignee:
                javacruft James Page
                Reporter:
                javacruft James Page
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: