All,
Using the tool chain that comes with the FVP package that I downloaded last month (Oct 2017), I'm trying to compile the Splash2 benchmark to execute on the latest FVP platform and seeing a compilation issue that goes like this (please see below)
To reproduce:
1. download the benchmark from here and follow _all_ the instructions in the homepage: http://www.capsl.udel.edu/splash/Download.html 2. edit the makefile.config under /splash2/codes to use linaro toolchain and choose POSIX_BARRIER for the MACROS section (I've pasted my makefile.config here as well - you will have to modify the toolchain paths to suit your setup) 3. cd to splash2/codes/apps/ocean/contiguous_partitions 4. make (and you will see the problem)
Please help. Thanks.
------------------------------------------
/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc jacobcalc.o jacobcalc2.o laplacalc.o linkup.o main.o multi.o slave1.o slave2.o subblock.o -v -O3 -pthread -D_POSIX_C_SOURCE=200112 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wdisabled-optimization -Wpadded -Winline -Wpointer-arith -Wsign-compare -Wendif-labels -lgcc -lc -lm -static -o OCEAN -lm -lc -lgcc -static Using built-in specs. COLLECT_GCC=/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER=/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/6.2.1/lto-wrapper Target: aarch64-linux-gnu Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/snapshots/gcc-linaro-6.2-2016.11/configure SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-c99 --enable-gnu-indirect-function --disable-multilib --with-arch=armv8-a --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419 --enable-multiarch --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/_build/sysroots/aarch64-linux-gnu --enable-lto --enable-linker-build-id --enable-long-long --enable-shared --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu/aarch64-linux-gnu/libc --enable-languages=c,c++,fortran,lto --enable-checking=release --disable-bootstrap --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=aarch64-linux-gnu --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu Thread model: posix gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) COMPILER_PATH=/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/6.2.1/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/../../../../aarch64-linux-gnu/bin/ LIBRARY_PATH=/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/../../../../aarch64-linux-gnu/lib/../lib64/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/../../../../aarch64-linux-gnu/lib/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/lib/:/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-O3' '-pthread' '-D' '_POSIX_C_SOURCE=200112' '-Wall' '-Wextra' '-Wmissing-prototypes' '-Wmissing-declarations' '-Wredundant-decls' '-Wdisabled-optimization' '-Wpadded' '-Winline' '-Wpointer-arith' '-Wsign-compare' '-Wendif-labels' '-static' '-o' 'OCEAN' '-static' '-march=armv8-a' '-mlittle-endian' '-mabi=lp64' /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/6.2.1/collect2 -plugin /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/6.2.1/liblto_plugin.so -plugin-opt=/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/6.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccwD6OY1.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_eh -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-lc --sysroot=/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc --build-id -Bstatic -X -EL -maarch64linux --fix-cortex-a53-835769 --fix-cortex-a53-843419 -o OCEAN /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/lib/crt1.o /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/lib/crti.o /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/crtbeginT.o -L/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1 -L/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu -L/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc -L/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/../../../../aarch64-linux-gnu/lib/../lib64 -L/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/../../../../aarch64-linux-gnu/lib -L/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/lib -L/local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/lib jacobcalc.o jacobcalc2.o laplacalc.o linkup.o main.o multi.o slave1.o slave2.o subblock.o -lgcc -lc -lm -lm -lc -lgcc --start-group -lgcc -lgcc_eh -lpthread -lc --end-group /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/6.2.1/crtend.o /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/lib/crtn.o /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/lib/libpthread.a(lowlevellock.o): In function `__lll_lock_wait_private': /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/snapshots/glibc.git~linaro~2.23~master/nptl/lowlevellock.c:29: multiple definition of `__lll_lock_wait_private' /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/../aarch64-linux-gnu/libc/usr/lib/libc.a(libc-lowlevellock.o):/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg-build/target/aarch64-linux-gnu/snapshots/glibc.git~linaro~2.23~master/nptl/./lowlevellock.c:29: first defined here collect2: error: ld returned 1 exit status make: *** [OCEAN] Error 1
----------------------------------------- Makefile.config -----------------------------------------
#CC := /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc CC := /local/mnt/workspace/linaro/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
CFLAGS := -v -O3 -pthread -D_POSIX_C_SOURCE=200112 #CFLAGS := -g3 -pthread -D_POSIX_C_SOURCE=200112 CFLAGS := $(CFLAGS) -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wdisabled-optimization CFLAGS := $(CFLAGS) -Wpadded -Winline -Wpointer-arith -Wsign-compare -Wendif-labels CFLAGS := $(CFLAGS) -lgcc -lc -lm -static LDFLAGS := -lm -lc -lgcc -static
BASEDIR := /net/dramaswa-linux/local/mnt/workspace/MT/splash2/codes MACROS := $(BASEDIR)/null_macros/c.m4.null.POSIX_BARRIER M4 := m4 -s -Ulen -Uindex
x = *
$(TARGET): $(OBJS) $(CC) $(OBJS) $(CFLAGS) -o $(TARGET) $(LDFLAGS)
clean: rm -rf *.c *.h *.o $(TARGET)
.SUFFIXES: .SUFFIXES: .o .c .C .h .H
.H.h: $(M4) $(MACROS) $*.H > $*.h
.C.c: $(M4) $(MACROS) $*.C > $*.c
.c.o: $(CC) -c $(CFLAGS) $*.c
.C.o: $(M4) $(MACROS) $*.C > $*.c $(CC) -c $(CFLAGS) $*.c