On Thu, Aug 26, 2010 at 9:54 PM, Garrett Cooper <[email protected]> wrote:
> On Aug 26, 2010, at 8:03 PM, Mitani wrote:
>
>> Hi,
>>
>> I tried to build open_posix_testsuite test cases.
>> But, in RHEL4.8 systems (x86, x86_64, ia64), some test cases failed to
>> build as follows:
>> ------------
>> [...]
>> conformance/interfaces/pthread_barrierattr_getpshared/1-1 compile FAILED
>> /tmp/cceTtlYC.o(.text+0x5c): In function `main':
>> : undefined reference to `pthread_barrierattr_getpshared'
>> collect2: ld returned 1 exit status
>> conformance/interfaces/pthread_barrierattr_getpshared/2-1 compile FAILED
>> /tmp/ccMhUJvM.o(.text+0x125): In function `main':
>> : undefined reference to `pthread_barrierattr_getpshared'
>> collect2: ld returned 1 exit status
>> conformance/interfaces/pthread_barrierattr_init/1-1 compile FAILED
>> /tmp/cc6vNdZV.o(.text+0x5c): In function `main':
>> : undefined reference to `pthread_barrierattr_getpshared'
>> collect2: ld returned 1 exit status
>> conformance/interfaces/pthread_barrierattr_init/2-1 compile PASSED
>> conformance/interfaces/pthread_barrierattr_setpshared/1-1 compile FAILED
>> /tmp/cc2gjFbd.o(.text+0x9c): In function `main':
>> : undefined reference to `pthread_barrierattr_getpshared'
>> /tmp/cc2gjFbd.o(.text+0x128): In function `main':
>> : undefined reference to `pthread_barrierattr_getpshared'
>> collect2: ld returned 1 exit status
>> conformance/interfaces/pthread_barrierattr_setpshared/2-1 compile PASSED
>> [...]
>> ------------
>>
>> These errors are linkage error about "pthread_barrierattr_getpshared".
>>
>> I searched "pthread_barrierattr_getpshared" in libraries (*.a, *.o, *.so*).
>> I found it in "/usr/lib64/libpthread.a", but the name is
>> "__pthread_barrierattr_getpshared":
>> ------------
>> [r...@rhel48-ltp-em64t pthread_barrierattr_getpshared]# find / -name \*.a
>> -print | xargs n
>> m -o | grep pthread_barrierattr_getpshared
>> nm: fromhost.o: no symbols
>> nm: tli.o: no symbols
>> nm: myvsyslog.o: no symbols
>> nm: mcst_grp.o: no symbols
>> [...]
>> nm: liblua_la-ltests.o: no symbols
>> nm: ptlongjmp.o: no symbols
>> nm: oldsemaphore.o: no symbols
>> /usr/lib64/libpthread.a:barrier.o:0000000000000150 T
>> __pthread_barrierattr_getpshared
>> nm: libc-tls-loc.o: no symbols
>> nm: ptw-lseek.o: no symbols
>> nm: ptw-lseek64.o: no symbols
>> [...]
>> nm: apptype.o: no symbols
>> nm: fromhost.o: no symbols
>> nm: tli.o: no symbols
>> nm: myvsyslog.o: no symbols
>> [r...@rhel48-ltp-em64t pthread_barrierattr_getpshared]#
>> ------------
>>
>> This name includes "__" for prefix.
>> I think it is strange.
>>
>> On the other hand, as indicated above, "conformance/interfaces/
>> pthread_barrierattr_setpshared/2-1" succeeded to build.
>> This test case uses "pthread_barrierattr_setpshared", and does not use
>> "pthread_barrierattr_getpshared".
>> I searched "pthread_barrierattr_getpshared" just in case:
>> ------------
>> [r...@rhel48-ltp-em64t pthread_barrierattr_getpshared]# find / -name \*.a
>> -print | xargs n
>> m -o | grep pthread_barrierattr_setpshared
>> nm: fromhost.o: no symbols
>> nm: tli.o: no symbols
>> nm: myvsyslog.o: no symbols
>> nm: mcst_grp.o: no symbols
>> nm: ibmcgrp.o: no symbols
>> [...]
>> nm: ptlongjmp.o: no symbols
>> nm: oldsemaphore.o: no symbols
>> nm: libc-tls-loc.o: no symbols
>> /usr/lib64/libpthread.a:barrier.o:0000000000000160 T
>> pthread_barrierattr_setpshared
>> nm: ptw-lseek.o: no symbols
>> nm: ptw-lseek64.o: no symbols
>> nm: ptw-pread64.o: no symbols
>> [...]
>> nm: apptype.o: no symbols
>> nm: fromhost.o: no symbols
>> nm: tli.o: no symbols
>> nm: myvsyslog.o: no symbols
>> [r...@rhel48-ltp-em64t pthread_barrierattr_getpshared]#
>> ------------
>>
>> This name does not include prefix "__".
>>
>>
>> I think that this linkage error of "pthread_barrierattr_getpshared" is
>> caused by the malfunction of RHEL4.8.
>>
>> Therefore, "SKIPPED" is necessary for the compilation of such above
>> test case, I think.
>> But "SKIPPED" was deleted from last month git.
>> Can "SKIPPED" be displayed again as before?
Ok... but how does one quantify a SKIPPED from a FAILED case? The
outcome is ultimately the same: your test didn't compile, you need to
determine _why_ it didn't compile and/or qualify whether or not the
result is sane. With the build-only's it's a little more fun because
there's no reason why SKIPPED should be output. For the
non-build-only's, I could see the potential need, but again... it's
just presenting the outcome in a different light.
Also, SKIPPED does still exist for runtime tests (where it ultimately
should apply):
$ grep SKIPPED bin/run-tests.sh
echo "$testname: execution: SKIPPED (test not present)"
So, I don't think this is an issue.
> What does the manpage say is required for the API?
Also, you may be using an ancient version of gcc/glibc which means
that you have to modify the value used in the top-level CFLAGS file to
get the appropriate behavior you want, via -pthread, manually linking
in the libraries, etc. But please be sure to look up the manpage
stated requirements and report them back here so I can help you
resolve your issue.
Thanks,
-Garrett
------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list