[LLVMbugs] [Bug 7883] New: Clang cannot build Erlang/OTP R14A (erts-5.8)

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Aug 14 00:05:31 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=7883

           Summary: Clang cannot build Erlang/OTP R14A (erts-5.8)
           Product: clang
           Version: 2.7
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: ttmrichter at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Issuing the following sequence causes compilation of the standard Erlang/OTP
distribution, last tested on R14A (erts-5.8), to fail.

The precise sequence of commands to replicate this behaviour (checked on
several machines) is:

CC=clang CXX=clang++ ./configure
make

The resulting build works fine until the file beam/beam_emu.c is reached.  At
this point, under gcc, the file compiles in seconds while under clang there is
a VERY long period of time where one core plateaus at 100% for well over a
minute.  It then proceeds to spew the following error messages:

... lots of verbiage ...
... there's dozens of the warnings I've put here at the head as an example ...
beam/beam_emu.c:4938:6: warning: incompatible integer to pointer conversion
passing 'Uint' (aka 'unsigned long'), expected 'void const *'
      [-pedantic]
     Goto(hcc->opcode);
     ^~~~~~~~~~~~~~~~~
beam/beam_emu.c:55:26: note: instantiated from:
#  define Goto(Rel) goto *(Rel)
                         ^~~~~~
57 diagnostics generated.
/tmp/cc-dkaevH.s: Assembler messages:
/tmp/cc-dkaevH.s:312: Error: symbol `.LBA12_process_main_' is already defined
/tmp/cc-dkaevH.s:393: Error: symbol `.LBA12_process_main_' is already defined
/tmp/cc-dkaevH.s:1644: Error: symbol `.LBA12_process_main_' is already defined
/tmp/cc-dkaevH.s:2464: Error: symbol `.LBA12_process_main_' is already defined
/tmp/cc-dkaevH.s:2554: Error: symbol `.LBA12_process_main_' is already defined
/tmp/cc-dkaevH.s:3414: Error: symbol `.LBA12_process_main_' is already defined
/tmp/cc-dkaevH.s:4235: Error: symbol `.LBA12_process_main_' is already defined
... these messages continue for a long time -- hundreds of lines ...

/tmp/cc-dkaevH.s:185467: Error: symbol `.LBA12_process_main_' is already
defined
/tmp/cc-dkaevH.s:185861: Error: symbol `.LBA12_process_main_' is already
defined
/tmp/cc-dkaevH.s:185952: Error: symbol `.LBA12_process_main_' is already
defined
/tmp/cc-dkaevH.s:186389: Error: symbol `.LBA12_process_main_' is already
defined
/tmp/cc-dkaevH.s:186868: Error: symbol `.LBA12_process_main_' is already
defined
clang: error: assembler command failed with exit code 1 (use -v to see
invocation)
make[3]: *** [obj/x86_64-unknown-linux-gnu/opt/smp/beam_emu.o] Error 1
make[3]: Leaving directory
`/home/michael/Development/Erlang/otp_src_R14A/erts/emulator'
make[2]: *** [opt] Error 2
make[2]: Leaving directory
`/home/michael/Development/Erlang/otp_src_R14A/erts/emulator'
make[1]: *** [smp] Error 2
make[1]: Leaving directory `/home/michael/Development/Erlang/otp_src_R14A/erts'
make: *** [emulator] Error 2

The Erlang/OTP distribution that fails to build can be found at
http://www.erlang.org/download/otp_src_R14A.tar.gz and, from my experiences,
displays the failure 100% of the time under clang.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list