On Sun, 11 Aug 2013 04:49:11 +0200 Roland Mainz wrote: > Hi! > ----
> An attempt to build ast-open.2013-08-07 on SuSE 12.3/AMD64/64bit with > "clang"'s address sanitiser came back with a hint why "nnake" > sometimes goes "boom" or somehow generates corrupted data: > -- snip -- > $ (export CC='/usr/bin/clang -std=gnu1x -fsanitize=address -g > -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wno-parentheses > -Wno-logical-op-parentheses -Wno-unused' LD="$CC" CCFLAGS="-g"; ksh > ./bin/package make PACKAGE_OPTIONS='map-libc' CC="$CC" > CCFLAGS="$CCFLAGS" 2>&1 | tee -a buildlog.log) > [snip] > package: believe generated files for nmake > CC=cc > SHELL=/usr/bin/ksh > HOSTTYPE=linux.i386-64 > NPROC=2 > PACKAGEROOT=/home/test001/work/ast_ksh_20130807/build_clang > INSTALLROOT=/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64 > PATH=/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin:/home/test001/work/ast_ksh_20130807/build_clang/bin:/usr/lib64/mpi/gcc/openmpi/bin:/home/test001/bin:/u > sr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin > probing C language processor > /home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/cc > for make information > cmd/INIT: > ================================================================= > ==50399==ERROR: AddressSanitizer: strcpy-param-overlap: memory ranges > [0x7f796eb74eb0,0x7f796eb74ece) and [0x7f796eb74eb0, 0x7f796eb74ece) > overlap > #0 0x41e4aa > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x41e4aa) > #1 0x6e4352 > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x6e4352) > #2 0x6e13fc > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x6e13fc) > #3 0x614a13 > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x614a13) > #4 0x5f19ed > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x5f19ed) > #5 0x46e48d > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x46e48d) > #6 0x601323 > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x601323) > #7 0x5f1905 > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x5f1905) > #8 0x648dd0 > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x648dd0) > #9 0x63f322 > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x63f322) > #10 0x5343a9 > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x5343a9) > #11 0x7f796de3fa14 (/lib64/libc-2.17.so+0x21a14) > #12 0x42e94c > (/home/test001/work/ast_ksh_20130807/build_clang/arch/linux.i386-64/bin/nmake+0x42e94c) > ==50399==ABORTING > make: *** exit code 1 making cmd/INIT > -- snip -- > ... this happens because |strcpy()| is called with overlapping memory > areas (which isn't valid in ISO C because the results are undefined). > I don't have a better stack trace yet... I still have to figure out > how to get to that with "clang"'s address santitiser this would be good to nail down earlier this year we went through sfio and cleaned up a few of these _______________________________________________ ast-developers mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-developers
