2010/3/4 Török Edwin <edwinto...@gmail.com>: > On 03/04/2010 07:17 PM, Renato Botelho wrote: >> 2010/3/4 Török Edwin <edwinto...@gmail.com>: >>> On 03/04/2010 07:01 PM, Renato Botelho wrote: >>>> 2010/3/4 Török Edwin <edwinto...@gmail.com>: >>>>> On 03/04/2010 06:02 PM, Renato Botelho wrote: >>>>>> Without -O2, results changed >>>>>> >>>>>> #10 0x0000000000000000 in ?? () >>>>>> #11 0x0000000000000000 in ?? () >>>>>> #12 0x0000000000000000 in ?? () >>>>>> #13 0x0000000000000000 in ?? () >>>>>> #14 0x0000000000000001 in ?? () >>>>>> #15 0x0000000000000000 in ?? () >>>>>> #16 0x00007fffffffedf3 in ?? () >>>>>> #17 0x00007fffffffedfd in ?? () >>>>>> #18 0x00007fffffffee08 in ?? () >>>>> Sorry that still doesn't tell me what the bug is. >>>>> Can you show me config.log (from libclamav/c++), maybe its linking to a >>>>> wrong library. >>>> Attached >>>> >>>>> Could you also post a strace output of the program? (so we see what it >>>>> does prior to crashing) >>>> Sorry, we don't have strace for freebsd amd64, just for i386 >>>> >>>>> Also try doing this: >>>>> (gdb) breakpoint main >>>>> (gdb) run >>>>> (gdb) next >>>>> (gdb) next >>>>> (gdb) quit >>>> It seems to segfault before main. >>>> >>>> testegw# gdb ./llvmunittest_ADT >>>> GNU gdb 6.1.1 [FreeBSD] >>>> Copyright 2004 Free Software Foundation, Inc. >>>> GDB is free software, covered by the GNU General Public License, and you >>>> are >>>> welcome to change it and/or distribute copies of it under certain >>>> conditions. >>>> Type "show copying" to see the conditions. >>>> There is absolutely no warranty for GDB. Type "show warranty" for details. >>>> This GDB was configured as "amd64-marcel-freebsd"... >>>> (gdb) break main >>>> Breakpoint 1 at 0x462c39: file >>>> llvm/utils/unittest/UnitTestMain/TestMain.cpp, line 13. >>>> (gdb) run >>>> Starting program: >>>> /home/garga/clamav-devel/work/clamav-devel-20100303/libclamav/c++/llvmunittest_ADT >>>> [New LWP 100101] >>>> [New Thread 0x5dd000 (LWP 100101)] >>>> [New LWP 100101] >>>> >>>> Program received signal SIGSEGV, Segmentation fault. >>>> [Switching to LWP 100101] >>>> 0x00000008006f531d in _pthread_mutex_trylock () from /usr/lib/libthr.so.2 >>>> (gdb) next >>>> Single stepping until exit from function _pthread_mutex_trylock, >>>> which has no line number information. >>>> >>>> Program terminated with signal SIGSEGV, Segmentation fault. >>>> The program no longer exists. >>>> (gdb) next >>>> The program is not being run. >>>> (gdb) quit >>>> testegw# >>>> >>>> I'm thinking this problem could be related with thread library. I'll >>>> try to link it with libthr instead of libpthread and see what happens. >>>> >>> It already links with lthr, maybe try libpthread then? >>> LDFLAGS=' -L/usr/local/lib -lthr -Wl,-rpath=/usr/local/lib/gcc42' >>> >>> Best regards, >>> --Edwin >>> _______________________________________________ >>> http://lurker.clamav.net/list/clamav-devel.html >>> Please submit your patches to our Bugzilla: http://bugs.clamav.net >>> >> >> So, something went wrong, unit test binary is linked with libpthread > > Can you show me the output of: > rm llvmunittest_ADT > make llvmunittest_ADT V=1 > > >> >> testegw# ldd llvmunittest_ADT >> llvmunittest_ADT: >> libthr.so.2 => /usr/lib/libthr.so.2 (0x8006e7000) >> libstdc++.so.6 => /usr/local/lib/gcc42/libstdc++.so.6 (0x8007fe000) >> libm.so.4 => /lib/libm.so.4 (0x800a0a000) >> libgcc_s.so.1 => /usr/local/lib/gcc42/libgcc_s.so.1 (0x800b26000) >> libpthread.so.2 => /lib/libpthread.so.2 (0x800c33000) >> libc.so.6 => /lib/libc.so.6 (0x800d5e000) > > Ouch, how did the linker even allow that?!
Yeah, I think we found it: /bin/sh ./libtool --tag=CXX --mode=link g++42 -Woverloaded-virtual -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -Wno-variadic-macros -fno-exceptions -fno-strict-aliasing -pipe -g -Wl,-rpath=/usr/local/lib/gcc42 -L/usr/local/lib -lthr -Wl,-rpath=/usr/local/lib/gcc42 -o llvmunittest_ADT llvmunittest_ADT-APFloatTest.o llvmunittest_ADT-APIntTest.o llvmunittest_ADT-DenseMapTest.o llvmunittest_ADT-DenseSetTest.o llvmunittest_ADT-ImmutableSetTest.o llvmunittest_ADT-SmallStringTest.o llvmunittest_ADT-SmallVectorTest.o llvmunittest_ADT-SparseBitVectorTest.o llvmunittest_ADT-StringMapTest.o llvmunittest_ADT-StringRefTest.o llvmunittest_ADT-TripleTest.o llvmunittest_ADT-TwineTest.o libgoogletest.la libllvmjit.la libllvmsupport.la libllvmsystem.la libtool: link: g++42 -Woverloaded-virtual -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -Wno-variadic-macros -fno-exceptions -fno-strict-aliasing -pipe -g -Wl,-rpath=/usr/local/lib/gcc42 -Wl,-rpath=/usr/local/lib/gcc42 -o llvmunittest_ADT llvmunittest_ADT-APFloatTest.o llvmunittest_ADT-APIntTest.o llvmunittest_ADT-DenseMapTest.o llvmunittest_ADT-DenseSetTest.o llvmunittest_ADT-ImmutableSetTest.o llvmunittest_ADT-SmallStringTest.o llvmunittest_ADT-SmallVectorTest.o llvmunittest_ADT-SparseBitVectorTest.o llvmunittest_ADT-StringMapTest.o llvmunittest_ADT-StringRefTest.o llvmunittest_ADT-TripleTest.o llvmunittest_ADT-TwineTest.o -L/usr/local/lib ./.libs/libgoogletest.a ./.libs/libllvmjit.a ./.libs/libllvmsupport.a ./.libs/libllvmsystem.a -lthr -pthread -- Renato Botelho _______________________________________________ http://lurker.clamav.net/list/clamav-devel.html Please submit your patches to our Bugzilla: http://bugs.clamav.net