[Mesa-dev] llvm-toolchain v3.6.0rc2: BROKEN when --enable-glx-tls

Sedat Dilek sedat.dilek at gmail.com
Wed Feb 4 07:59:29 PST 2015


Hi,

I have built last night a llvm-toolchain my own to test v3.6.0rc2.

When building mesa-10.3.7 I see the following error when I pass
"--enable-glx-tls" as configure option:
...
In file included from ../../src/mapi/entry.c:49:
./entry_x86-64_tls.h:66:1: warning: tentative array definition assumed
to have one element
x86_64_entry_start[];
^
fatal error: error in backend: symbol 'x86_64_entry_start' is already defined
clang: error: clang frontend command failed with exit code 70 (use -v
to see invocation)
clang version 3.6.0 (tags/RELEASE_360/rc2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
...

The log has full cc-lines as I used "clang -v" as suggested by clang output.
Also, I have attached my build-script.

Hope this helps.

- Sedat -

P.S.: List of cherry-picked patches from upstream to build mesa-10.3.7
with llvm/clang v3.6.0rc2:

$ git log --oneline mesa-10.3.7..
2cf13f9bf23a gallivm: Fix build with LLVM 3.6 (r221751).
3c5f84406691 gallivm: Update for RTDyldMemoryManager becoming an unique_ptr.
c1aa15e13774 gallivm: Disable frame-pointer-omission on x86 to ensure
right stack alignment.
ece1e5ddf92a gallivm: Fix build with LLVM 3.3.
f6ae5c9103a2 gallivm: Properly update for removal of JITMemoryManager
in LLVM 3.6.
f70fe04b249e gallivm: Fix white-space.
94b8ac6bfec2 gallivm,llvmpipe,clover: Bump required LLVM version to 3.3.

*** ^^^ Required to make "gallivm,llvmpipe,clover: Bump required LLVM
version to 3.3." happy.
395912a2da01 clover: Fix build error with LLVM 3.4.
e076ba963c75 clover: Add initial implementation of clCompileProgram for CL 1.2.
510c92ee93e6 clover: Add environment variables for dumping kernel code v2
795c6c95571a clover: Register an llvm diagnostic handler v3
91db0c7de7cd clover: Add support for compiling to native object code v3
cbcdf861206a clover: Factor kernel argument parsing into its own function v2
a142adb0dc59 clover: Append implicit arguments to the kernel argument list.
70661dd3d1b9 st/clover: Fix build against LLVM SVN >= r216583
*** ^^^

42183195c1ba gallivm: Fix build for LLVM 3.2
b7ee82c31672 llvmpipe: Make a llvmpipe OpenGL context thread safe.
c38ca80ed72f gallivm: Wrap deleted inlcude in if HAVE_LLVM < 0x0306
b6469930f7e9 gallivm: Disable gallivm to fix build with LLVM 3.6
f23e6ff3983c gallivm: Fix build against LLVM SVN >= r216982
-------------- next part --------------
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --install --copy
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `bin'.
libtoolize: copying file `bin/config.guess'
libtoolize: copying file `bin/config.sub'
libtoolize: copying file `bin/install-sh'
libtoolize: copying file `bin/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
autoreconf: running: /usr/bin/autoconf
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --no-force
configure.ac:23: installing `bin/ar-lib'
configure.ac:53: installing `bin/compile'
configure.ac:15: installing `bin/missing'
src/egl/drivers/dri2/Makefile.am: installing `bin/depcomp'
src/mesa/Makefile.sources:7: BUILDDIR multiply defined in condition TRUE ...
src/mesa/Makefile.am:63:   `src/mesa/Makefile.sources' included from here
src/mesa/Makefile.am:62: ... `BUILDDIR' previously defined here
autoreconf: Leaving directory `.'
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... clang -v
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang -v accepts -g... yes
checking for clang -v option to accept ISO C89... none needed
checking dependency style of clang -v... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking how to run the C preprocessor... clang-cpp
checking for gcc... (cached) clang -v
checking whether we are using the GNU C compiler... (cached) yes
checking whether clang -v accepts -g... (cached) yes
checking for clang -v option to accept ISO C89... (cached) none needed
checking dependency style of clang -v... (cached) gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether clang -v accepts -g... yes
checking dependency style of clang -v... gcc3
checking whether clang -v and cc understand -c and -o together... yes
checking dependency style of clang -v... gcc3
checking for gmake... no
checking for make... make
checking for python2... python2
checking for a sed that does not truncate output... /bin/sed
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by clang -v... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from clang -v object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if clang -v supports -fno-rtti -fno-exceptions... no
checking for clang -v option to produce PIC... -fPIC -DPIC
checking if clang -v PIC flag -fPIC -DPIC works... no
checking if clang -v static flag -static works... no
checking if clang -v supports -c -o file.o... no
checking if clang -v supports -c -o file.o... (cached) no
checking if we can lock with hard links... yes
checking whether the clang -v linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... clang version 3.6.0 (tags/RELEASE_360/rc2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... clang -v -E
checking for ld used by clang -v... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
clang version 3.6.0 (tags/RELEASE_360/rc2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
checking whether the clang -v linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for clang -v option to produce PIC... -fPIC -DPIC
checking if clang -v PIC flag -fPIC -DPIC works... no
checking if clang -v static flag -static works... no
checking if clang -v supports -c -o file.o... no
checking if clang -v supports -c -o file.o... (cached) no
checking if we can lock with hard links... yes
checking whether the clang -v linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for bison... bison -y
checking if bison is the parser generator... yes
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking if flex is the lexer generator... yes
checking for perl... /usr/bin/perl
checking for indent... cat
checking if compiling with clang... yes
checking for __builtin_bswap32... yes
checking for __builtin_bswap64... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether clang -v supports -Werror=missing-prototypes... yes
checking whether clang -v supports -fvisibility=hidden... yes
checking whether clang -v supports -fvisibility=hidden... yes
checking if ld supports -Bsymbolic... yes
checking whether ld supports --gc-sections... yes
checking if the linker supports version-scripts... yes
checking if the linker supports --dynamic-list... yes
checking whether to enable assembly... yes, x86_64
checking for dlopen... no
checking for dlopen in -ldl... yes
checking for dladdr... yes
checking for clock_gettime... no
checking for clock_gettime in -lrt... yes
checking for posix_memalign... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... no
checking for LIBDRM... yes
checking for LIBUDEV... yes
checking for GLPROTO... yes
checking for DRI2PROTO... yes
checking for XF86VIDMODE... yes
checking for DRIGL... yes
checking for INTEL... yes
checking for mincore... yes
checking for XCB_DRI2... yes
checking for llvm-config... /opt/llvm/bin/llvm-config
configure: WARNING: Building mesa with statically linked LLVM may cause compilation issues
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/egl/drivers/dri2/Makefile
config.status: creating src/egl/main/Makefile
config.status: creating src/egl/main/egl.pc
config.status: creating src/egl/wayland/Makefile
config.status: creating src/egl/wayland/wayland-drm/Makefile
config.status: creating src/egl/wayland/wayland-egl/Makefile
config.status: creating src/egl/wayland/wayland-egl/wayland-egl.pc
config.status: creating src/gallium/Makefile
config.status: creating src/gallium/auxiliary/Makefile
config.status: creating src/gallium/auxiliary/pipe-loader/Makefile
config.status: creating src/gallium/drivers/freedreno/Makefile
config.status: creating src/gallium/drivers/galahad/Makefile
config.status: creating src/gallium/drivers/i915/Makefile
config.status: creating src/gallium/drivers/identity/Makefile
config.status: creating src/gallium/drivers/ilo/Makefile
config.status: creating src/gallium/drivers/llvmpipe/Makefile
config.status: creating src/gallium/drivers/noop/Makefile
config.status: creating src/gallium/drivers/nouveau/Makefile
config.status: creating src/gallium/drivers/r300/Makefile
config.status: creating src/gallium/drivers/r600/Makefile
config.status: creating src/gallium/drivers/radeon/Makefile
config.status: creating src/gallium/drivers/radeonsi/Makefile
config.status: creating src/gallium/drivers/rbug/Makefile
config.status: creating src/gallium/drivers/softpipe/Makefile
config.status: creating src/gallium/drivers/svga/Makefile
config.status: creating src/gallium/drivers/trace/Makefile
config.status: creating src/gallium/drivers/vc4/Makefile
config.status: creating src/gallium/state_trackers/clover/Makefile
config.status: creating src/gallium/state_trackers/dri/Makefile
config.status: creating src/gallium/state_trackers/egl/Makefile
config.status: creating src/gallium/state_trackers/gbm/Makefile
config.status: creating src/gallium/state_trackers/glx/xlib/Makefile
config.status: creating src/gallium/state_trackers/omx/Makefile
config.status: creating src/gallium/state_trackers/osmesa/Makefile
config.status: creating src/gallium/state_trackers/vdpau/Makefile
config.status: creating src/gallium/state_trackers/vega/Makefile
config.status: creating src/gallium/state_trackers/xa/Makefile
config.status: creating src/gallium/state_trackers/xvmc/Makefile
config.status: creating src/gallium/targets/dri/Makefile
config.status: creating src/gallium/targets/egl-static/Makefile
config.status: creating src/gallium/targets/gbm/Makefile
config.status: creating src/gallium/targets/libgl-xlib/Makefile
config.status: creating src/gallium/targets/omx/Makefile
config.status: creating src/gallium/targets/opencl/Makefile
config.status: creating src/gallium/targets/osmesa/Makefile
config.status: creating src/gallium/targets/osmesa/osmesa.pc
config.status: creating src/gallium/targets/pipe-loader/Makefile
config.status: creating src/gallium/targets/vdpau/Makefile
config.status: creating src/gallium/targets/xa/Makefile
config.status: creating src/gallium/targets/xa/xatracker.pc
config.status: creating src/gallium/targets/xvmc/Makefile
config.status: creating src/gallium/tests/trivial/Makefile
config.status: creating src/gallium/tests/unit/Makefile
config.status: creating src/gallium/winsys/freedreno/drm/Makefile
config.status: creating src/gallium/winsys/i915/drm/Makefile
config.status: creating src/gallium/winsys/intel/drm/Makefile
config.status: creating src/gallium/winsys/nouveau/drm/Makefile
config.status: creating src/gallium/winsys/radeon/drm/Makefile
config.status: creating src/gallium/winsys/svga/drm/Makefile
config.status: creating src/gallium/winsys/sw/dri/Makefile
config.status: creating src/gallium/winsys/sw/fbdev/Makefile
config.status: creating src/gallium/winsys/sw/kms-dri/Makefile
config.status: creating src/gallium/winsys/sw/null/Makefile
config.status: creating src/gallium/winsys/sw/wayland/Makefile
config.status: creating src/gallium/winsys/sw/wrapper/Makefile
config.status: creating src/gallium/winsys/sw/xlib/Makefile
config.status: creating src/gallium/winsys/vc4/drm/Makefile
config.status: creating src/gbm/Makefile
config.status: creating src/gbm/main/gbm.pc
config.status: creating src/glsl/Makefile
config.status: creating src/glx/Makefile
config.status: creating src/glx/apple/Makefile
config.status: creating src/glx/tests/Makefile
config.status: creating src/gtest/Makefile
config.status: creating src/loader/Makefile
config.status: creating src/mapi/Makefile
config.status: creating src/mapi/es1api/glesv1_cm.pc
config.status: creating src/mapi/es2api/glesv2.pc
config.status: creating src/mapi/glapi/gen/Makefile
config.status: creating src/mapi/vgapi/Makefile
config.status: creating src/mapi/vgapi/vg.pc
config.status: creating src/mesa/Makefile
config.status: creating src/mesa/gl.pc
config.status: creating src/mesa/drivers/dri/dri.pc
config.status: creating src/mesa/drivers/dri/common/Makefile
config.status: creating src/mesa/drivers/dri/common/xmlpool/Makefile
config.status: creating src/mesa/drivers/dri/i915/Makefile
config.status: creating src/mesa/drivers/dri/i965/Makefile
config.status: creating src/mesa/drivers/dri/Makefile
config.status: creating src/mesa/drivers/dri/nouveau/Makefile
config.status: creating src/mesa/drivers/dri/r200/Makefile
config.status: creating src/mesa/drivers/dri/radeon/Makefile
config.status: creating src/mesa/drivers/dri/swrast/Makefile
config.status: creating src/mesa/drivers/osmesa/Makefile
config.status: creating src/mesa/drivers/osmesa/osmesa.pc
config.status: creating src/mesa/drivers/x11/Makefile
config.status: creating src/mesa/main/tests/Makefile
config.status: creating src/util/Makefile
config.status: creating src/util/tests/hash_table/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands

        prefix:          /opt/xorg
        exec_prefix:     ${prefix}
        libdir:          ${exec_prefix}/lib
        includedir:      ${prefix}/include

        OpenGL:          yes (ES1: no ES2: yes)
        OpenVG:          no

        OSMesa:          no

        DRI platform:    drm
        DRI drivers:     i965 
        DRI driver dir:  /opt/xorg/lib/dri
        GLX:             DRI-based

        EGL:             yes
        EGL platforms:   x11
        EGL drivers:     builtin:egl_dri2

        llvm:            yes
        llvm-config:     /opt/llvm/bin/llvm-config
        llvm-version:    3.6.0

        Gallium:         yes
        Target dirs:     dri/kms-swrast dri/swrast 
        Winsys dirs:     sw sw/dri sw/xlib 
        Driver dirs:     galahad identity llvmpipe noop rbug softpipe trace 
        Trackers dirs:   dri 

        Shared libs:     yes
        Static libs:     no
        Shared-glapi:    yes

        CFLAGS:          -Qunused-arguments -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-prototypes -fno-strict-aliasing -fno-builtin-memcmp -g -O0 -Qunused-arguments
        CXXFLAGS:        -Qunused-arguments -Wall -fno-strict-aliasing -fno-builtin-memcmp -g -O0 -Qunused-arguments
        Macros:          -DUSE_EXTERNAL_DXTN_LIB=1 -D_GNU_SOURCE -DHAVE_PTHREAD -DUSE_SSE41 -DDEBUG -DUSE_X86_64_ASM -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DHAVE_LIBDRM -DGLX_USE_DRM -DHAVE_LIBUDEV -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DHAVE_PTHREAD -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LLVM=0x0306 -DLLVM_VERSION_PATCH=0

        LLVM_CFLAGS:     -I/opt/llvm-toolchain-3.6.0rc2/include -D_DEBUG  -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
        LLVM_CXXFLAGS:   -I/opt/llvm-toolchain-3.6.0rc2/include -D_DEBUG  -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS   -std=c++11   -fno-rtti    
        LLVM_CPPFLAGS:   -I/opt/llvm-toolchain-3.6.0rc2/include -D_DEBUG  -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS

        PYTHON2:         python2

        Run 'make' to build Mesa

Making all in src
make[1]: Entering directory `/home/wearefam/src/mesa/mesa-git/src'
Making all in gtest
make[2]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/gtest'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/gtest'
Making all in util
make[2]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/util'
  GEN    format_srgb.c
make  all-recursive
make[3]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/util'
Making all in .
make[4]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/util'
  CC     libmesautil_la-hash_table.lo
clang version 3.6.0 (tags/RELEASE_360/rc2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
 "/opt/llvm-toolchain-3.6.0rc2/bin/clang" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name hash_table.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.22 -v -g -dwarf-column-info -coverage-file /home/wearefam/src/mesa/mesa-git/src/util/hash_table.c -resource-dir /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0 -dependency-file .deps/libmesautil_la-hash_table.Tpo -sys-header-deps -MP -MT libmesautil_la-hash_table.lo -D "PACKAGE_NAME=\"Mesa\"" -D "PACKAGE_TARNAME=\"mesa\"" -D "PACKAGE_VERSION=\"10.3.7\"" -D "PACKAGE_STRING=\"Mesa 10.3.7\"" -D "PACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -D "PACKAGE_URL=\"\"" -D "PACKAGE=\"mesa\"" -D "VERSION=\"10.3.7\"" -D STDC_HEADERS=1 -D HAVE_SYS_TYPES_H=1 -D HAVE_SYS_STAT_H=1 -D HAVE_STDLIB_H=1 -D HAVE_STRING_H=1 -D HAVE_MEMORY_H=1 -D HAVE_STRINGS_H=1 -D HAVE_INTTYPES_H=1 -D HAVE_STDINT_H=1 -D HAVE_UNISTD_H=1 -D HAVE_DLFCN_H=1 -D "LT_OBJDIR=\".libs/\"" -D YYTEXT_POINTER=1 -D HAVE___BUILTIN_BSWAP32=1 -D HAVE___BUILTIN_BSWAP64=1 -D HAVE_DLADDR=1 -D HAVE_PTHREAD=1 -D USE_EXTERNAL_DXTN_LIB=1 -D _GNU_SOURCE -D HAVE_PTHREAD -D USE_SSE41 -D DEBUG -D USE_X86_64_ASM -D HAVE_DLOPEN -D HAVE_POSIX_MEMALIGN -D HAVE_LIBDRM -D GLX_USE_DRM -D HAVE_LIBUDEV -D GLX_INDIRECT_RENDERING -D GLX_DIRECT_RENDERING -D GLX_USE_TLS -D HAVE_PTHREAD -D HAVE_ALIAS -D HAVE_MINCORE -D HAVE_LLVM=0x0306 -D LLVM_VERSION_PATCH=0 -I . -I ../../include -I /opt/xorg/include -internal-isystem /usr/local/include -internal-isystem /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wall -Werror=implicit-function-declaration -Werror=missing-prototypes -std=c99 -fdebug-compilation-dir /home/wearefam/src/mesa/mesa-git/src/util -ferror-limit 19 -fmessage-length 0 -fvisibility hidden -mstackrealign -fobjc-runtime=gcc -fdiagnostics-show-option -o hash_table.o -x c hash_table.c
clang -cc1 version 3.6.0 based upon LLVM 3.6.0 default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../include
 /opt/xorg/include
 /usr/local/include
 /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
  CC     libmesautil_la-ralloc.lo
clang version 3.6.0 (tags/RELEASE_360/rc2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
 "/opt/llvm-toolchain-3.6.0rc2/bin/clang" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name ralloc.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.22 -v -g -dwarf-column-info -coverage-file /home/wearefam/src/mesa/mesa-git/src/util/ralloc.c -resource-dir /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0 -dependency-file .deps/libmesautil_la-ralloc.Tpo -sys-header-deps -MP -MT libmesautil_la-ralloc.lo -D "PACKAGE_NAME=\"Mesa\"" -D "PACKAGE_TARNAME=\"mesa\"" -D "PACKAGE_VERSION=\"10.3.7\"" -D "PACKAGE_STRING=\"Mesa 10.3.7\"" -D "PACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -D "PACKAGE_URL=\"\"" -D "PACKAGE=\"mesa\"" -D "VERSION=\"10.3.7\"" -D STDC_HEADERS=1 -D HAVE_SYS_TYPES_H=1 -D HAVE_SYS_STAT_H=1 -D HAVE_STDLIB_H=1 -D HAVE_STRING_H=1 -D HAVE_MEMORY_H=1 -D HAVE_STRINGS_H=1 -D HAVE_INTTYPES_H=1 -D HAVE_STDINT_H=1 -D HAVE_UNISTD_H=1 -D HAVE_DLFCN_H=1 -D "LT_OBJDIR=\".libs/\"" -D YYTEXT_POINTER=1 -D HAVE___BUILTIN_BSWAP32=1 -D HAVE___BUILTIN_BSWAP64=1 -D HAVE_DLADDR=1 -D HAVE_PTHREAD=1 -D USE_EXTERNAL_DXTN_LIB=1 -D _GNU_SOURCE -D HAVE_PTHREAD -D USE_SSE41 -D DEBUG -D USE_X86_64_ASM -D HAVE_DLOPEN -D HAVE_POSIX_MEMALIGN -D HAVE_LIBDRM -D GLX_USE_DRM -D HAVE_LIBUDEV -D GLX_INDIRECT_RENDERING -D GLX_DIRECT_RENDERING -D GLX_USE_TLS -D HAVE_PTHREAD -D HAVE_ALIAS -D HAVE_MINCORE -D HAVE_LLVM=0x0306 -D LLVM_VERSION_PATCH=0 -I . -I ../../include -I /opt/xorg/include -internal-isystem /usr/local/include -internal-isystem /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wall -Werror=implicit-function-declaration -Werror=missing-prototypes -std=c99 -fdebug-compilation-dir /home/wearefam/src/mesa/mesa-git/src/util -ferror-limit 19 -fmessage-length 0 -fvisibility hidden -mstackrealign -fobjc-runtime=gcc -fdiagnostics-show-option -o ralloc.o -x c ralloc.c
clang -cc1 version 3.6.0 based upon LLVM 3.6.0 default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../include
 /opt/xorg/include
 /usr/local/include
 /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
  CC     libmesautil_la-format_srgb.lo
clang version 3.6.0 (tags/RELEASE_360/rc2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
 "/opt/llvm-toolchain-3.6.0rc2/bin/clang" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name format_srgb.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.22 -v -g -dwarf-column-info -coverage-file /home/wearefam/src/mesa/mesa-git/src/util/format_srgb.c -resource-dir /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0 -dependency-file .deps/libmesautil_la-format_srgb.Tpo -sys-header-deps -MP -MT libmesautil_la-format_srgb.lo -D "PACKAGE_NAME=\"Mesa\"" -D "PACKAGE_TARNAME=\"mesa\"" -D "PACKAGE_VERSION=\"10.3.7\"" -D "PACKAGE_STRING=\"Mesa 10.3.7\"" -D "PACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -D "PACKAGE_URL=\"\"" -D "PACKAGE=\"mesa\"" -D "VERSION=\"10.3.7\"" -D STDC_HEADERS=1 -D HAVE_SYS_TYPES_H=1 -D HAVE_SYS_STAT_H=1 -D HAVE_STDLIB_H=1 -D HAVE_STRING_H=1 -D HAVE_MEMORY_H=1 -D HAVE_STRINGS_H=1 -D HAVE_INTTYPES_H=1 -D HAVE_STDINT_H=1 -D HAVE_UNISTD_H=1 -D HAVE_DLFCN_H=1 -D "LT_OBJDIR=\".libs/\"" -D YYTEXT_POINTER=1 -D HAVE___BUILTIN_BSWAP32=1 -D HAVE___BUILTIN_BSWAP64=1 -D HAVE_DLADDR=1 -D HAVE_PTHREAD=1 -D USE_EXTERNAL_DXTN_LIB=1 -D _GNU_SOURCE -D HAVE_PTHREAD -D USE_SSE41 -D DEBUG -D USE_X86_64_ASM -D HAVE_DLOPEN -D HAVE_POSIX_MEMALIGN -D HAVE_LIBDRM -D GLX_USE_DRM -D HAVE_LIBUDEV -D GLX_INDIRECT_RENDERING -D GLX_DIRECT_RENDERING -D GLX_USE_TLS -D HAVE_PTHREAD -D HAVE_ALIAS -D HAVE_MINCORE -D HAVE_LLVM=0x0306 -D LLVM_VERSION_PATCH=0 -I . -I ../../include -I /opt/xorg/include -internal-isystem /usr/local/include -internal-isystem /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wall -Werror=implicit-function-declaration -Werror=missing-prototypes -std=c99 -fdebug-compilation-dir /home/wearefam/src/mesa/mesa-git/src/util -ferror-limit 19 -fmessage-length 0 -fvisibility hidden -mstackrealign -fobjc-runtime=gcc -fdiagnostics-show-option -o format_srgb.o -x c format_srgb.c
clang -cc1 version 3.6.0 based upon LLVM 3.6.0 default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../include
 /opt/xorg/include
 /usr/local/include
 /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
  CCLD   libmesautil.la
make[4]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/util'
Making all in tests/hash_table
make[4]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/util/tests/hash_table'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/util/tests/hash_table'
make[3]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/util'
make[2]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/util'
Making all in mapi
make[2]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/mapi'
  GEN    shared-glapi/glapi_mapi_tmp.h
  GEN    es2api/glapi_mapi_tmp.h
make  all-recursive
make[3]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/mapi'
Making all in glapi/gen
make[4]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/mapi/glapi/gen'
  GEN    ../../../../src/mapi/glapi/glapi_mapi_tmp.h
  GEN    ../../../../src/mapi/glapi/glprocs.h
  GEN    ../../../../src/mapi/glapi/glapitemp.h
  GEN    ../../../../src/mapi/glapi/glapitable.h
  GEN    ../../../../src/mapi/glapi/glapi_gentable.c
  GEN    ../../../../src/mapi/glapi/glapi_x86-64.S
  GEN    ../../../../src/mesa/main/enums.c
  GEN    ../../../../src/mesa/main/api_exec.c
  GEN    ../../../../src/mesa/main/dispatch.h
  GEN    ../../../../src/mesa/main/remap_helper.h
  GEN    ../../../../src/glx/indirect.c
  GEN    ../../../../src/glx/indirect.h
  GEN    ../../../../src/glx/indirect_init.c
  GEN    ../../../../src/glx/indirect_size.h
  GEN    ../../../../src/glx/indirect_size.c
make  all-am
make[5]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/mapi/glapi/gen'
make[5]: Nothing to be done for `all-am'.
make[5]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/mapi/glapi/gen'
make[4]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/mapi/glapi/gen'
Making all in .
make[4]: Entering directory `/home/wearefam/src/mesa/mesa-git/src/mapi'
  CC     shared_glapi_libglapi_la-entry.lo
clang version 3.6.0 (tags/RELEASE_360/rc2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.2
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
 "/opt/llvm-toolchain-3.6.0rc2/bin/clang" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name entry.c -mrelocation-model static -mthread-model posix -mdisable-fp-elim -relaxed-aliasing -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -target-linker-version 2.22 -v -g -dwarf-column-info -coverage-file /home/wearefam/src/mesa/mesa-git/src/mapi/entry.c -resource-dir /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0 -dependency-file .deps/shared_glapi_libglapi_la-entry.Tpo -sys-header-deps -MP -MT shared_glapi_libglapi_la-entry.lo -D "PACKAGE_NAME=\"Mesa\"" -D "PACKAGE_TARNAME=\"mesa\"" -D "PACKAGE_VERSION=\"10.3.7\"" -D "PACKAGE_STRING=\"Mesa 10.3.7\"" -D "PACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"" -D "PACKAGE_URL=\"\"" -D "PACKAGE=\"mesa\"" -D "VERSION=\"10.3.7\"" -D STDC_HEADERS=1 -D HAVE_SYS_TYPES_H=1 -D HAVE_SYS_STAT_H=1 -D HAVE_STDLIB_H=1 -D HAVE_STRING_H=1 -D HAVE_MEMORY_H=1 -D HAVE_STRINGS_H=1 -D HAVE_INTTYPES_H=1 -D HAVE_STDINT_H=1 -D HAVE_UNISTD_H=1 -D HAVE_DLFCN_H=1 -D "LT_OBJDIR=\".libs/\"" -D YYTEXT_POINTER=1 -D HAVE___BUILTIN_BSWAP32=1 -D HAVE___BUILTIN_BSWAP64=1 -D HAVE_DLADDR=1 -D HAVE_PTHREAD=1 -D USE_EXTERNAL_DXTN_LIB=1 -D _GNU_SOURCE -D HAVE_PTHREAD -D USE_SSE41 -D DEBUG -D USE_X86_64_ASM -D HAVE_DLOPEN -D HAVE_POSIX_MEMALIGN -D HAVE_LIBDRM -D GLX_USE_DRM -D HAVE_LIBUDEV -D GLX_INDIRECT_RENDERING -D GLX_DIRECT_RENDERING -D GLX_USE_TLS -D HAVE_PTHREAD -D HAVE_ALIAS -D HAVE_MINCORE -D HAVE_LLVM=0x0306 -D LLVM_VERSION_PATCH=0 -D MAPI_MODE_GLAPI -D "MAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\"" -I . -I ../../include -I ../../src/mapi -I ../../src/mapi -I /opt/xorg/include -internal-isystem /usr/local/include -internal-isystem /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O0 -Wall -Werror=implicit-function-declaration -Werror=missing-prototypes -std=c99 -fdebug-compilation-dir /home/wearefam/src/mesa/mesa-git/src/mapi -ferror-limit 19 -fmessage-length 0 -pthread -mstackrealign -fobjc-runtime=gcc -fdiagnostics-show-option -o entry.o -x c ../../src/mapi/entry.c
clang -cc1 version 3.6.0 based upon LLVM 3.6.0 default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/include"
ignoring duplicate directory "."
ignoring duplicate directory "."
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../include
 /opt/xorg/include
 /usr/local/include
 /opt/llvm-toolchain-3.6.0rc2/bin/../lib/clang/3.6.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
In file included from ../../src/mapi/entry.c:49:
./entry_x86-64_tls.h:66:1: warning: tentative array definition assumed to have one element
x86_64_entry_start[];
^
fatal error: error in backend: symbol 'x86_64_entry_start' is already defined
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 3.6.0 (tags/RELEASE_360/rc2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/entry-e41b5c.c
clang: note: diagnostic msg: /tmp/entry-e41b5c.sh
clang: note: diagnostic msg: 

********************
make[4]: *** [shared_glapi_libglapi_la-entry.lo] Error 1
make[4]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/mapi'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/mapi'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src/mapi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/wearefam/src/mesa/mesa-git/src'
make: *** [all-recursive] Error 1
Command exited with non-zero status 2
real 27.32
user 26.05
sys 1.27
-------------- next part --------------
A non-text attachment was scrubbed...
Name: entry-3affbd.c
Type: text/x-csrc
Size: 1695490 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150204/186411a1/attachment-0001.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: entry-3affbd.sh
Type: application/x-sh
Size: 1892 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150204/186411a1/attachment-0002.sh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: build_mesa-with-llvm.sh
Type: application/x-sh
Size: 4075 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150204/186411a1/attachment-0003.sh>


More information about the mesa-dev mailing list