* [LTP] Realtime test failure
@ 2010-11-15 2:54 Mitani
[not found] ` <AANLkTimGi4v_OHzZAD8BbyGKsuVzpBcokEECezPeTC8e@mail.gmail.com>
0 siblings, 1 reply; 13+ messages in thread
From: Mitani @ 2010-11-15 2:54 UTC (permalink / raw)
To: ltp-list
Hi,
"realtime" build failed in my system with git "ltp-f388d33.tar.gz":
------------<RHEL4.8 - x86>
make[2]: Entering directory `/home/LTP/ltp-dev-20101112/testcases/realtime'
make -C lib -f "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile"
all
make[3]: Entering directory
`/home/LTP/ltp-dev-20101112/testcases/realtime/lib'
gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE
-I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include
-I../../../include -I../../../include -c -o librttest.o librttest.c
In file included from librttest.c:43:
/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librttest.h: In
function `atomic_add':
/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librttest.h:119
: warning: implicit declaration of function `__sync_add_and_fetch'
gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE
-I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include
-I../../../include -I../../../include -c -o libstats.o libstats.c
In file included from libstats.c:47:
/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librttest.h: In
function `atomic_add':
/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librttest.h:119
: warning: implicit declaration of function `__sync_add_and_fetch'
if [ -z "librttest.o libstats.o" ] ; then \
echo "Cowardly refusing to create empty archive"; \
exit 1; \
fi
ar -rc "librealtime.a" librttest.o libstats.o
ranlib "librealtime.a"
make[3]: Leaving directory
`/home/LTP/ltp-dev-20101112/testcases/realtime/lib'
make[3]: Entering directory
`/home/LTP/ltp-dev-20101112/testcases/realtime/func'
make[4]: Entering directory
`/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler'
gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE
-I/home/LTP/ltp-dev-20101112/testcases/realtime/include
-I../../../../include -I../../../../include
-L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../../lib
async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler
In file included from async_handler.c:42:
/home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: In
function `atomic_add':
/home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:119:
warning: implicit declaration of function `__sync_add_and_fetch'
/home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(librttest.o)
(.text+0x1a7): In function `create_thread':
/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librttest.h:119
: undefined reference to `__sync_add_and_fetch'
collect2: ld returned 1 exit status
make[4]: *** [async_handler] Error 1
make[4]: Leaving directory
`/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler'
make[3]: *** [all] Error 2
make[3]: Leaving directory
`/home/LTP/ltp-dev-20101112/testcases/realtime/func'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/LTP/ltp-dev-20101112/testcases/realtime'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/LTP/ltp-dev-20101112/testcases'
make: *** [testcases-all] Error 2
------------
"realtime" build failed in:
------------
RHEL4.8 -- x86, x86_64, ia64
RHEL5.4 -- x86
------------
"realtime" build succeeded in:
------------
RHEL5.4 -- x86_64, ia64
------------
It is caused by "__sync_add_and_fetch".
In following URL, "__sync_add_and_fetch" is "built-in functions for
atomic memory access". And It is provided in "gcc":
http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html
There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc of RHEL5.1 -
RHEL5.4).
And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is the gcc of
RHEL4.8)
In addition, "__sync_add_and_fetch" is for 64 bit environment.
http://stackoverflow.com/questions/130740/link-error-when-compiling-gcc-atom
ic-operation-in-32-bit-mode
http://gcc.gnu.org/wiki/Atomic
Perhaps, the judgment that "realtime" must be built or not depends on
gcc's version (> 4.0) and 64 bits environment, I think.
Regards--
-Tomonori Mitani
------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply [flat|nested] 13+ messages in thread[parent not found: <AANLkTimGi4v_OHzZAD8BbyGKsuVzpBcokEECezPeTC8e@mail.gmail.com>]
* Re: [LTP] Realtime test failure [not found] ` <AANLkTimGi4v_OHzZAD8BbyGKsuVzpBcokEECezPeTC8e@mail.gmail.com> @ 2010-11-15 4:58 ` Mitani 2010-11-15 5:20 ` Garrett Cooper 0 siblings, 1 reply; 13+ messages in thread From: Mitani @ 2010-11-15 4:58 UTC (permalink / raw) To: 'Garrett Cooper'; +Cc: ltp-list, 當座 健市 [-- Attachment #1: Type: text/plain, Size: 5067 bytes --] > -----Original Message----- > From: Garrett Cooper [mailto:yanegomi@gmail.com] > Sent: Monday, November 15, 2010 12:03 PM > To: Mitani > Subject: Re: [LTP] Realtime test failure > > On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> wrote: > > Hi, > > > > "realtime" build failed in my system with git "ltp-f388d33.tar.gz": > > ------------<RHEL4.8 - x86> > > make[2]: Entering directory > `/home/LTP/ltp-dev-20101112/testcases/realtime' > > make -C lib -f > "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" > > all > > make[3]: Entering directory > > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > > -I../../../include -I../../../include -c -o librttest.o librttest.c > > In file included from librttest.c:43: > > > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > st.h: In > > function `atomic_add': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > st.h:119 > > : warning: implicit declaration of function `__sync_add_and_fetch' > > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > > -I../../../include -I../../../include -c -o libstats.o libstats.c > > In file included from libstats.c:47: > > > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > st.h: In > > function `atomic_add': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > st.h:119 > > : warning: implicit declaration of function `__sync_add_and_fetch' > > if [ -z "librttest.o libstats.o" ] ; then \ > > echo "Cowardly refusing to create empty archive"; \ > > exit 1; \ > > fi > > ar -rc "librealtime.a" librttest.o libstats.o > > ranlib "librealtime.a" > > make[3]: Leaving directory > > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > > make[3]: Entering directory > > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > > make[4]: Entering directory > > `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > > -I../../../../include -I../../../../include > > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib > -L../../../../lib > > async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler > > In file included from async_handler.c:42: > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > In > > function `atomic_add': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > 9: > > warning: implicit declaration of function `__sync_add_and_fetch' > > > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr > ttest.o) > > (.text+0x1a7): In function `create_thread': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > st.h:119 > > : undefined reference to `__sync_add_and_fetch' > > collect2: ld returned 1 exit status > > make[4]: *** [async_handler] Error 1 > > make[4]: Leaving directory > > `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > > make[3]: *** [all] Error 2 > > make[3]: Leaving directory > > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > > make[2]: *** [all] Error 2 > > make[2]: Leaving directory > `/home/LTP/ltp-dev-20101112/testcases/realtime' > > make[1]: *** [all] Error 2 > > make[1]: Leaving directory `/home/LTP/ltp-dev-20101112/testcases' > > make: *** [testcases-all] Error 2 > > ------------ > > > > "realtime" build failed in: > > ------------ > > RHEL4.8 -- x86, x86_64, ia64 > > RHEL5.4 -- x86 > > ------------ > > > > "realtime" build succeeded in: > > ------------ > > RHEL5.4 -- x86_64, ia64 > > ------------ > > > > It is caused by "__sync_add_and_fetch". > > > > In following URL, "__sync_add_and_fetch" is "built-in functions for > > atomic memory access". And It is provided in "gcc": > > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html > > > > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc of RHEL5.1 > - > > RHEL5.4). > > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is the gcc of > > RHEL4.8) > > > > In addition, "__sync_add_and_fetch" is for 64 bit environment. > > > > > http://stackoverflow.com/questions/130740/link-error-when-compiling- > gcc-atom > > ic-operation-in-32-bit-mode > > > > http://gcc.gnu.org/wiki/Atomic > > > > Perhaps, the judgment that "realtime" must be built or not depends on > > gcc's version (> 4.0) and 64 bits environment, I think. > > Could you please attach your testcases/realtime/config.log and > testcases/realtime/include/realtime_config.h ? > Thanks, > -Garrett I understood. Thank you and sorry for my insufficient information. I attach following files: - config.log (RHEL4.8-x86) - realtime_config.h (RHEL4.8-x86) - config.log (RHEL5.5-x86) - realtime_config.h (RHEL5.5-x86) Thank you-- -Tomonori Mitani [-- Attachment #2: realtime.zip --] [-- Type: application/x-zip-compressed, Size: 10704 bytes --] [-- Attachment #3: Type: text/plain, Size: 362 bytes --] ------------------------------------------------------------------------------ Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev [-- Attachment #4: Type: text/plain, Size: 155 bytes --] _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-15 4:58 ` Mitani @ 2010-11-15 5:20 ` Garrett Cooper 2010-11-15 6:29 ` Mitani 0 siblings, 1 reply; 13+ messages in thread From: Garrett Cooper @ 2010-11-15 5:20 UTC (permalink / raw) To: Mitani; +Cc: ltp-list, 當座 健市 2010/11/14 Mitani <mitani@ryobi.co.jp>: >> -----Original Message----- >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> Sent: Monday, November 15, 2010 12:03 PM >> To: Mitani >> Subject: Re: [LTP] Realtime test failure >> >> On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> wrote: >> > Hi, >> > >> > "realtime" build failed in my system with git "ltp-f388d33.tar.gz": >> > ------------<RHEL4.8 - x86> >> > make[2]: Entering directory >> `/home/LTP/ltp-dev-20101112/testcases/realtime' >> > make -C lib -f >> "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" >> > all >> > make[3]: Entering directory >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include >> > -I../../../include -I../../../include -c -o librttest.o librttest.c >> > In file included from librttest.c:43: >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> st.h: In >> > function `atomic_add': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> st.h:119 >> > : warning: implicit declaration of function `__sync_add_and_fetch' >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include >> > -I../../../include -I../../../include -c -o libstats.o libstats.c >> > In file included from libstats.c:47: >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> st.h: In >> > function `atomic_add': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> st.h:119 >> > : warning: implicit declaration of function `__sync_add_and_fetch' >> > if [ -z "librttest.o libstats.o" ] ; then \ >> > echo "Cowardly refusing to create empty archive"; \ >> > exit 1; \ >> > fi >> > ar -rc "librealtime.a" librttest.o libstats.o >> > ranlib "librealtime.a" >> > make[3]: Leaving directory >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' >> > make[3]: Entering directory >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' >> > make[4]: Entering directory >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include >> > -I../../../../include -I../../../../include >> > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib >> -L../../../../lib >> > async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler >> > In file included from async_handler.c:42: >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: >> In >> > function `atomic_add': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 >> 9: >> > warning: implicit declaration of function `__sync_add_and_fetch' >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr >> ttest.o) >> > (.text+0x1a7): In function `create_thread': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> st.h:119 >> > : undefined reference to `__sync_add_and_fetch' >> > collect2: ld returned 1 exit status >> > make[4]: *** [async_handler] Error 1 >> > make[4]: Leaving directory >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' >> > make[3]: *** [all] Error 2 >> > make[3]: Leaving directory >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' >> > make[2]: *** [all] Error 2 >> > make[2]: Leaving directory >> `/home/LTP/ltp-dev-20101112/testcases/realtime' >> > make[1]: *** [all] Error 2 >> > make[1]: Leaving directory `/home/LTP/ltp-dev-20101112/testcases' >> > make: *** [testcases-all] Error 2 >> > ------------ >> > >> > "realtime" build failed in: >> > ------------ >> > RHEL4.8 -- x86, x86_64, ia64 >> > RHEL5.4 -- x86 >> > ------------ >> > >> > "realtime" build succeeded in: >> > ------------ >> > RHEL5.4 -- x86_64, ia64 >> > ------------ >> > >> > It is caused by "__sync_add_and_fetch". >> > >> > In following URL, "__sync_add_and_fetch" is "built-in functions for >> > atomic memory access". And It is provided in "gcc": >> > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html >> > >> > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc of RHEL5.1 >> - >> > RHEL5.4). >> > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is the gcc of >> > RHEL4.8) >> > >> > In addition, "__sync_add_and_fetch" is for 64 bit environment. >> > >> > >> http://stackoverflow.com/questions/130740/link-error-when-compiling- >> gcc-atom >> > ic-operation-in-32-bit-mode >> > >> > http://gcc.gnu.org/wiki/Atomic >> > >> > Perhaps, the judgment that "realtime" must be built or not depends on >> > gcc's version (> 4.0) and 64 bits environment, I think. >> >> Could you please attach your testcases/realtime/config.log and >> testcases/realtime/include/realtime_config.h ? >> Thanks, >> -Garrett > > > I understood. > Thank you and sorry for my insufficient information. > > I attach following files: > - config.log (RHEL4.8-x86) > - realtime_config.h (RHEL4.8-x86) > - config.log (RHEL5.5-x86) > - realtime_config.h (RHEL5.5-x86) Could you please try compiling the following C sources in both scenarios? Thanks, -Garrett #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif #include <stdlib.h> int main(void) { char *c; return __sync_add_and_fetch(c, 1); } ------------------------------------------------------------------------------ Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-15 5:20 ` Garrett Cooper @ 2010-11-15 6:29 ` Mitani 2010-11-15 15:57 ` Garrett Cooper 0 siblings, 1 reply; 13+ messages in thread From: Mitani @ 2010-11-15 6:29 UTC (permalink / raw) To: 'Garrett Cooper'; +Cc: ltp-list > -----Original Message----- > From: Garrett Cooper [mailto:yanegomi@gmail.com] > Sent: Monday, November 15, 2010 2:20 PM > To: Mitani > Cc: ltp-list@lists.sourceforge.net; 當座 健市 > Subject: Re: [LTP] Realtime test failure > > 2010/11/14 Mitani <mitani@ryobi.co.jp>: > >> -----Original Message----- > >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> Sent: Monday, November 15, 2010 12:03 PM > >> To: Mitani > >> Subject: Re: [LTP] Realtime test failure > >> > >> On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> wrote: > >> > Hi, > >> > > >> > "realtime" build failed in my system with git "ltp-f388d33.tar.gz": > >> > ------------<RHEL4.8 - x86> > >> > make[2]: Entering directory > >> `/home/LTP/ltp-dev-20101112/testcases/realtime' > >> > make -C lib -f > >> "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" > >> > all > >> > make[3]: Entering directory > >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > >> > -I../../../include -I../../../include -c -o librttest.o > librttest.c > >> > In file included from librttest.c:43: > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> st.h: In > >> > function `atomic_add': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> st.h:119 > >> > : warning: implicit declaration of function `__sync_add_and_fetch' > >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > >> > -I../../../include -I../../../include -c -o libstats.o libstats.c > >> > In file included from libstats.c:47: > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> st.h: In > >> > function `atomic_add': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> st.h:119 > >> > : warning: implicit declaration of function `__sync_add_and_fetch' > >> > if [ -z "librttest.o libstats.o" ] ; then \ > >> > echo "Cowardly refusing to create empty archive"; \ > >> > exit 1; \ > >> > fi > >> > ar -rc "librealtime.a" librttest.o libstats.o > >> > ranlib "librealtime.a" > >> > make[3]: Leaving directory > >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > >> > make[3]: Entering directory > >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > >> > make[4]: Entering directory > >> > > `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > >> > -I../../../../include -I../../../../include > >> > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib > >> -L../../../../lib > >> > async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler > >> > In file included from async_handler.c:42: > >> > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > >> In > >> > function `atomic_add': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > >> 9: > >> > warning: implicit declaration of function `__sync_add_and_fetch' > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr > >> ttest.o) > >> > (.text+0x1a7): In function `create_thread': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> st.h:119 > >> > : undefined reference to `__sync_add_and_fetch' > >> > collect2: ld returned 1 exit status > >> > make[4]: *** [async_handler] Error 1 > >> > make[4]: Leaving directory > >> > > `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > >> > make[3]: *** [all] Error 2 > >> > make[3]: Leaving directory > >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > >> > make[2]: *** [all] Error 2 > >> > make[2]: Leaving directory > >> `/home/LTP/ltp-dev-20101112/testcases/realtime' > >> > make[1]: *** [all] Error 2 > >> > make[1]: Leaving directory `/home/LTP/ltp-dev-20101112/testcases' > >> > make: *** [testcases-all] Error 2 > >> > ------------ > >> > > >> > "realtime" build failed in: > >> > ------------ > >> > RHEL4.8 -- x86, x86_64, ia64 > >> > RHEL5.4 -- x86 > >> > ------------ > >> > > >> > "realtime" build succeeded in: > >> > ------------ > >> > RHEL5.4 -- x86_64, ia64 > >> > ------------ > >> > > >> > It is caused by "__sync_add_and_fetch". > >> > > >> > In following URL, "__sync_add_and_fetch" is "built-in functions for > >> > atomic memory access". And It is provided in "gcc": > >> > > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html > >> > > >> > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc of RHEL5.1 > >> - > >> > RHEL5.4). > >> > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is the gcc > of > >> > RHEL4.8) > >> > > >> > In addition, "__sync_add_and_fetch" is for 64 bit environment. > >> > > >> > > >> > http://stackoverflow.com/questions/130740/link-error-when-compiling- > >> gcc-atom > >> > ic-operation-in-32-bit-mode > >> > > >> > http://gcc.gnu.org/wiki/Atomic > >> > > >> > Perhaps, the judgment that "realtime" must be built or not depends > on > >> > gcc's version (> 4.0) and 64 bits environment, I think. > >> > >> Could you please attach your testcases/realtime/config.log and > >> testcases/realtime/include/realtime_config.h ? > >> Thanks, > >> -Garrett > > > > > > I understood. > > Thank you and sorry for my insufficient information. > > > > I attach following files: > > - config.log (RHEL4.8-x86) > > - realtime_config.h (RHEL4.8-x86) > > - config.log (RHEL5.5-x86) > > - realtime_config.h (RHEL5.5-x86) > > Could you please try compiling the following C sources in both > scenarios? > Thanks, > -Garrett > > #ifndef _GNU_SOURCE > #define _GNU_SOURCE > #endif > #include <stdlib.h> > int main(void) { > char *c; > return __sync_add_and_fetch(c, 1); > } I was going to compile the sent source in RHEL4.8/5.5-x86, but failed. ------------<RHEL4.8-x86> [root@RHEL48-LTP-x86 async_handler]# cat realtime-test.c #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif #include <stdlib.h> int main(void) { char *c; return __sync_add_and_fetch(c, 1); } [root@RHEL48-LTP-x86 async_handler]# gcc realtime-test.c -o realtime-test /tmp/cciHVx8b.o(.text+0x25): In function `main': : undefined reference to `__sync_add_and_fetch' collect2: ld returned 1 exit status [root@RHEL48-LTP-x86 async_handler]# [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../.. /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o realtime-test realtime-test.c: In function `main': realtime-test.c:7: warning: implicit declaration of function `__sync_add_and_fetch' realtime-test.c:6: warning: 'c' might be used uninitialized in this function /tmp/ccIDckLk.o(.text+0x10): In function `main': /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/realtime-test.c:7: undefined reference to `__sync_add_and_fetch' collect2: ld returned 1 exit status [root@RHEL48-LTP-x86 async_handler]# ------------ ------------<RHEL5.5-x86> [root@RHEL55-LTP-x86 async_handler]# cat realtime-test.c #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif #include <stdlib.h> int main(void) { char *c; return __sync_add_and_fetch(c, 1); } [root@RHEL55-LTP-x86 async_handler]# gcc realtime-test.c -o realtime-test /tmp/ccK8hmPs.o: In function `main': realtime-test.c:(.text+0x20): undefined reference to `__sync_add_and_fetch_1' collect2: ld returned 1 exit status [root@RHEL55-LTP-x86 async_handler]# gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../.. /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o realtime-test realtime-test.c: In function 'main': realtime-test.c:7: warning: 'c' is used uninitialized in this function /tmp/ccKUnocB.o: In function `main': /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/realtime-test.c:7: undefined reference to `__sync_add_and_fetch_1' collect2: ld returned 1 exit status [root@RHEL55-LTP-x86 async_handler]# ------------ Regards-- -Tomonori Mitani ------------------------------------------------------------------------------ Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-15 6:29 ` Mitani @ 2010-11-15 15:57 ` Garrett Cooper 2010-11-16 8:28 ` Mitani 0 siblings, 1 reply; 13+ messages in thread From: Garrett Cooper @ 2010-11-15 15:57 UTC (permalink / raw) To: Mitani; +Cc: ltp-list On Sun, Nov 14, 2010 at 10:29 PM, Mitani <mitani@ryobi.co.jp> wrote: > > >> -----Original Message----- >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> Sent: Monday, November 15, 2010 2:20 PM >> To: Mitani >> Cc: ltp-list@lists.sourceforge.net; 當座 健市 >> Subject: Re: [LTP] Realtime test failure >> >> 2010/11/14 Mitani <mitani@ryobi.co.jp>: >> >> -----Original Message----- >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> >> Sent: Monday, November 15, 2010 12:03 PM >> >> To: Mitani >> >> Subject: Re: [LTP] Realtime test failure >> >> >> >> On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> wrote: >> >> > Hi, >> >> > >> >> > "realtime" build failed in my system with git "ltp-f388d33.tar.gz": >> >> > ------------<RHEL4.8 - x86> >> >> > make[2]: Entering directory >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' >> >> > make -C lib -f >> >> "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" >> >> > all >> >> > make[3]: Entering directory >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include >> >> > -I../../../include -I../../../include -c -o librttest.o >> librttest.c >> >> > In file included from librttest.c:43: >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> st.h: In >> >> > function `atomic_add': >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> st.h:119 >> >> > : warning: implicit declaration of function `__sync_add_and_fetch' >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include >> >> > -I../../../include -I../../../include -c -o libstats.o libstats.c >> >> > In file included from libstats.c:47: >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> st.h: In >> >> > function `atomic_add': >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> st.h:119 >> >> > : warning: implicit declaration of function `__sync_add_and_fetch' >> >> > if [ -z "librttest.o libstats.o" ] ; then \ >> >> > echo "Cowardly refusing to create empty archive"; \ >> >> > exit 1; \ >> >> > fi >> >> > ar -rc "librealtime.a" librttest.o libstats.o >> >> > ranlib "librealtime.a" >> >> > make[3]: Leaving directory >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' >> >> > make[3]: Entering directory >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' >> >> > make[4]: Entering directory >> >> > >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include >> >> > -I../../../../include -I../../../../include >> >> > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib >> >> -L../../../../lib >> >> > async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler >> >> > In file included from async_handler.c:42: >> >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: >> >> In >> >> > function `atomic_add': >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 >> >> 9: >> >> > warning: implicit declaration of function `__sync_add_and_fetch' >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr >> >> ttest.o) >> >> > (.text+0x1a7): In function `create_thread': >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> st.h:119 >> >> > : undefined reference to `__sync_add_and_fetch' >> >> > collect2: ld returned 1 exit status >> >> > make[4]: *** [async_handler] Error 1 >> >> > make[4]: Leaving directory >> >> > >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' >> >> > make[3]: *** [all] Error 2 >> >> > make[3]: Leaving directory >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' >> >> > make[2]: *** [all] Error 2 >> >> > make[2]: Leaving directory >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' >> >> > make[1]: *** [all] Error 2 >> >> > make[1]: Leaving directory `/home/LTP/ltp-dev-20101112/testcases' >> >> > make: *** [testcases-all] Error 2 >> >> > ------------ >> >> > >> >> > "realtime" build failed in: >> >> > ------------ >> >> > RHEL4.8 -- x86, x86_64, ia64 >> >> > RHEL5.4 -- x86 >> >> > ------------ >> >> > >> >> > "realtime" build succeeded in: >> >> > ------------ >> >> > RHEL5.4 -- x86_64, ia64 >> >> > ------------ >> >> > >> >> > It is caused by "__sync_add_and_fetch". >> >> > >> >> > In following URL, "__sync_add_and_fetch" is "built-in functions for >> >> > atomic memory access". And It is provided in "gcc": >> >> >> > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html >> >> > >> >> > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc of RHEL5.1 >> >> - >> >> > RHEL5.4). >> >> > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is the gcc >> of >> >> > RHEL4.8) >> >> > >> >> > In addition, "__sync_add_and_fetch" is for 64 bit environment. >> >> > >> >> > >> >> >> http://stackoverflow.com/questions/130740/link-error-when-compiling- >> >> gcc-atom >> >> > ic-operation-in-32-bit-mode >> >> > >> >> > http://gcc.gnu.org/wiki/Atomic >> >> > >> >> > Perhaps, the judgment that "realtime" must be built or not depends >> on >> >> > gcc's version (> 4.0) and 64 bits environment, I think. >> >> >> >> Could you please attach your testcases/realtime/config.log and >> >> testcases/realtime/include/realtime_config.h ? >> >> Thanks, >> >> -Garrett >> > >> > >> > I understood. >> > Thank you and sorry for my insufficient information. >> > >> > I attach following files: >> > - config.log (RHEL4.8-x86) >> > - realtime_config.h (RHEL4.8-x86) >> > - config.log (RHEL5.5-x86) >> > - realtime_config.h (RHEL5.5-x86) >> >> Could you please try compiling the following C sources in both >> scenarios? >> Thanks, >> -Garrett >> >> #ifndef _GNU_SOURCE >> #define _GNU_SOURCE >> #endif >> #include <stdlib.h> >> int main(void) { >> char *c; >> return __sync_add_and_fetch(c, 1); >> } > > > I was going to compile the sent source in RHEL4.8/5.5-x86, but failed. > > ------------<RHEL4.8-x86> > [root@RHEL48-LTP-x86 async_handler]# cat realtime-test.c > #ifndef _GNU_SOURCE > #define _GNU_SOURCE > #endif > #include <stdlib.h> > int main(void) { > char *c; > return __sync_add_and_fetch(c, 1); } > > [root@RHEL48-LTP-x86 async_handler]# gcc realtime-test.c -o realtime-test > /tmp/cciHVx8b.o(.text+0x25): In function `main': > : undefined reference to `__sync_add_and_fetch' > collect2: ld returned 1 exit status > [root@RHEL48-LTP-x86 async_handler]# > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D > _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include -I../../../../include > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../.. > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o realtime-test > realtime-test.c: In function `main': > realtime-test.c:7: warning: implicit declaration of function `__sync_add_and_fetch' > realtime-test.c:6: warning: 'c' might be used uninitialized in this function > /tmp/ccIDckLk.o(.text+0x10): In function `main': > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/realtime-test.c:7: undefined reference to `__sync_add_and_fetch' > collect2: ld returned 1 exit status > [root@RHEL48-LTP-x86 async_handler]# > ------------ > > ------------<RHEL5.5-x86> > [root@RHEL55-LTP-x86 async_handler]# cat realtime-test.c > #ifndef _GNU_SOURCE > #define _GNU_SOURCE > #endif > #include <stdlib.h> > int main(void) { > char *c; > return __sync_add_and_fetch(c, 1); } > > [root@RHEL55-LTP-x86 async_handler]# gcc realtime-test.c -o realtime-test > /tmp/ccK8hmPs.o: In function `main': > realtime-test.c:(.text+0x20): undefined reference to `__sync_add_and_fetch_1' > collect2: ld returned 1 exit status > [root@RHEL55-LTP-x86 async_handler]# gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D > _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include -I../../../../include > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../.. > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o realtime-test > realtime-test.c: In function 'main': > realtime-test.c:7: warning: 'c' is used uninitialized in this function > /tmp/ccKUnocB.o: In function `main': > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/realtime-test.c:7: undefined reference to `__sync_add_and_fetch_1' > collect2: ld returned 1 exit status > [root@RHEL55-LTP-x86 async_handler]# Not sure why but it incorrectly passed on your machine: configure:5186: checking Checking for __sync_add_and_fetch gcc builtin function configure:5216: gcc -c -g -O2 conftest.c >&5 configure:5222: $? = 0 23 AC_MSG_CHECKING([Checking for __sync_add_and_fetch gcc builtin function]) 24 AC_TRY_COMPILE([ 25 #ifndef _GNU_SOURCE 26 #define _GNU_SOURCE 27 #endif 28 #include <stdlib.h>],[int main(void) { 29 char *c; 30 return __sync_add_and_fetch(c, 1); 31 }],[has___sync_add_and_fetch=yes]) 32 if test "x$has___sync_add_and_fetch" = xyes; then 33 AC_DEFINE(HAVE___SYNC_ADD_AND_FETCH,1,[Define to 1 if you have the __ sync_add_and_fetch gcc builtin function]) 34 AC_MSG_RESULT(yes) 35 else 36 AC_MSG_RESULT(no) 37 fi Whereas it didn't on mine: 248 configure:4777: checking Checking for __sync_add_and_fetch gcc builtin funct ion 249 configure:4797: gcc -c -g -O2 conftest.c >&5 250 configure:4797: $? = 0 There was a potential problem with the macro though (I keep on forgetting that AC_TRY_COMPILE and AC_COMPILE_IFELSE work predefine main() with the block of code provided), so please let me know if things work for you. Thanks, -Garrett ------------------------------------------------------------------------------ Centralized Desktop Delivery: Dell and VMware Reference Architecture Simplifying enterprise desktop deployment and management using Dell EqualLogic storage and VMware View: A highly scalable, end-to-end client virtualization framework. Read more! http://p.sf.net/sfu/dell-eql-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-15 15:57 ` Garrett Cooper @ 2010-11-16 8:28 ` Mitani 2010-11-16 17:03 ` Garrett Cooper 0 siblings, 1 reply; 13+ messages in thread From: Mitani @ 2010-11-16 8:28 UTC (permalink / raw) To: 'Garrett Cooper'; +Cc: ltp-list > -----Original Message----- > From: Garrett Cooper [mailto:yanegomi@gmail.com] > Sent: Tuesday, November 16, 2010 12:58 AM > To: Mitani > Cc: ltp-list@lists.sourceforge.net > Subject: Re: [LTP] Realtime test failure > > On Sun, Nov 14, 2010 at 10:29 PM, Mitani <mitani@ryobi.co.jp> wrote: > > > > > >> -----Original Message----- > >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> Sent: Monday, November 15, 2010 2:20 PM > >> To: Mitani > >> Cc: ltp-list@lists.sourceforge.net; 當座 健市 > >> Subject: Re: [LTP] Realtime test failure > >> > >> 2010/11/14 Mitani <mitani@ryobi.co.jp>: > >> >> -----Original Message----- > >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> >> Sent: Monday, November 15, 2010 12:03 PM > >> >> To: Mitani > >> >> Subject: Re: [LTP] Realtime test failure > >> >> > >> >> On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> wrote: > >> >> > Hi, > >> >> > > >> >> > "realtime" build failed in my system with git "ltp-f388d33.tar.gz": > >> >> > ------------<RHEL4.8 - x86> > >> >> > make[2]: Entering directory > >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' > >> >> > make -C lib -f > >> >> "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" > >> >> > all > >> >> > make[3]: Entering directory > >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > >> >> > -I../../../include -I../../../include -c -o librttest.o > >> librttest.c > >> >> > In file included from librttest.c:43: > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> st.h: In > >> >> > function `atomic_add': > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> st.h:119 > >> >> > : warning: implicit declaration of function `__sync_add_and_fetch' > >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > >> >> > -I../../../include -I../../../include -c -o libstats.o > libstats.c > >> >> > In file included from libstats.c:47: > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> st.h: In > >> >> > function `atomic_add': > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> st.h:119 > >> >> > : warning: implicit declaration of function `__sync_add_and_fetch' > >> >> > if [ -z "librttest.o libstats.o" ] ; then \ > >> >> > echo "Cowardly refusing to create empty archive"; \ > >> >> > exit 1; \ > >> >> > fi > >> >> > ar -rc "librealtime.a" librttest.o libstats.o > >> >> > ranlib "librealtime.a" > >> >> > make[3]: Leaving directory > >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > >> >> > make[3]: Entering directory > >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > >> >> > make[4]: Entering directory > >> >> > > >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > >> >> > -I../../../../include -I../../../../include > >> >> > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib > >> >> -L../../../../lib > >> >> > async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler > >> >> > In file included from async_handler.c:42: > >> >> > > >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > >> >> In > >> >> > function `atomic_add': > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > >> >> 9: > >> >> > warning: implicit declaration of function `__sync_add_and_fetch' > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr > >> >> ttest.o) > >> >> > (.text+0x1a7): In function `create_thread': > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> st.h:119 > >> >> > : undefined reference to `__sync_add_and_fetch' > >> >> > collect2: ld returned 1 exit status > >> >> > make[4]: *** [async_handler] Error 1 > >> >> > make[4]: Leaving directory > >> >> > > >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > >> >> > make[3]: *** [all] Error 2 > >> >> > make[3]: Leaving directory > >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > >> >> > make[2]: *** [all] Error 2 > >> >> > make[2]: Leaving directory > >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' > >> >> > make[1]: *** [all] Error 2 > >> >> > make[1]: Leaving directory > `/home/LTP/ltp-dev-20101112/testcases' > >> >> > make: *** [testcases-all] Error 2 > >> >> > ------------ > >> >> > > >> >> > "realtime" build failed in: > >> >> > ------------ > >> >> > RHEL4.8 -- x86, x86_64, ia64 > >> >> > RHEL5.4 -- x86 > >> >> > ------------ > >> >> > > >> >> > "realtime" build succeeded in: > >> >> > ------------ > >> >> > RHEL5.4 -- x86_64, ia64 > >> >> > ------------ > >> >> > > >> >> > It is caused by "__sync_add_and_fetch". > >> >> > > >> >> > In following URL, "__sync_add_and_fetch" is "built-in functions > for > >> >> > atomic memory access". And It is provided in "gcc": > >> >> > >> > > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html > >> >> > > >> >> > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc of > RHEL5.1 > >> >> - > >> >> > RHEL5.4). > >> >> > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is the > gcc > >> of > >> >> > RHEL4.8) > >> >> > > >> >> > In addition, "__sync_add_and_fetch" is for 64 bit environment. > >> >> > > >> >> > > >> >> > >> > http://stackoverflow.com/questions/130740/link-error-when-compiling- > >> >> gcc-atom > >> >> > ic-operation-in-32-bit-mode > >> >> > > >> >> > http://gcc.gnu.org/wiki/Atomic > >> >> > > >> >> > Perhaps, the judgment that "realtime" must be built or not depends > >> on > >> >> > gcc's version (> 4.0) and 64 bits environment, I think. > >> >> > >> >> Could you please attach your testcases/realtime/config.log and > >> >> testcases/realtime/include/realtime_config.h ? > >> >> Thanks, > >> >> -Garrett > >> > > >> > > >> > I understood. > >> > Thank you and sorry for my insufficient information. > >> > > >> > I attach following files: > >> > - config.log (RHEL4.8-x86) > >> > - realtime_config.h (RHEL4.8-x86) > >> > - config.log (RHEL5.5-x86) > >> > - realtime_config.h (RHEL5.5-x86) > >> > >> Could you please try compiling the following C sources in both > >> scenarios? > >> Thanks, > >> -Garrett > >> > >> #ifndef _GNU_SOURCE > >> #define _GNU_SOURCE > >> #endif > >> #include <stdlib.h> > >> int main(void) { > >> char *c; > >> return __sync_add_and_fetch(c, 1); > >> } > > > > > > I was going to compile the sent source in RHEL4.8/5.5-x86, but failed. > > > > ------------<RHEL4.8-x86> > > [root@RHEL48-LTP-x86 async_handler]# cat realtime-test.c > > #ifndef _GNU_SOURCE > > #define _GNU_SOURCE > > #endif > > #include <stdlib.h> > > int main(void) { > > char *c; > > return __sync_add_and_fetch(c, 1); } > > > > [root@RHEL48-LTP-x86 async_handler]# gcc realtime-test.c -o > realtime-test > > /tmp/cciHVx8b.o(.text+0x25): In function `main': > > : undefined reference to `__sync_add_and_fetch' > > collect2: ld returned 1 exit status > > [root@RHEL48-LTP-x86 async_handler]# > > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -g -O2 > -fno-strict-aliasing -pipe -Wall -D > > > _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > -I../../../../include > > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re > altime/lib -L../../../.. > > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o realtime-test > > realtime-test.c: In function `main': > > realtime-test.c:7: warning: implicit declaration of function > `__sync_add_and_fetch' > > realtime-test.c:6: warning: 'c' might be used uninitialized in this > function > > /tmp/ccIDckLk.o(.text+0x10): In function `main': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea > ltime-test.c:7: undefined reference to `__sync_add_and_fetch' > > collect2: ld returned 1 exit status > > [root@RHEL48-LTP-x86 async_handler]# > > ------------ > > > > ------------<RHEL5.5-x86> > > [root@RHEL55-LTP-x86 async_handler]# cat realtime-test.c > > #ifndef _GNU_SOURCE > > #define _GNU_SOURCE > > #endif > > #include <stdlib.h> > > int main(void) { > > char *c; > > return __sync_add_and_fetch(c, 1); } > > > > [root@RHEL55-LTP-x86 async_handler]# gcc realtime-test.c -o > realtime-test > > /tmp/ccK8hmPs.o: In function `main': > > realtime-test.c:(.text+0x20): undefined reference to > `__sync_add_and_fetch_1' > > collect2: ld returned 1 exit status > > [root@RHEL55-LTP-x86 async_handler]# gcc -g -O2 -g -O2 > -fno-strict-aliasing -pipe -Wall -D > > > _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > -I../../../../include > > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re > altime/lib -L../../../.. > > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o realtime-test > > realtime-test.c: In function 'main': > > realtime-test.c:7: warning: 'c' is used uninitialized in this function > > /tmp/ccKUnocB.o: In function `main': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea > ltime-test.c:7: undefined reference to `__sync_add_and_fetch_1' > > collect2: ld returned 1 exit status > > [root@RHEL55-LTP-x86 async_handler]# > > Not sure why but it incorrectly passed on your machine: > > configure:5186: checking Checking for __sync_add_and_fetch gcc builtin > function > configure:5216: gcc -c -g -O2 conftest.c >&5 > configure:5222: $? = 0 > > 23 AC_MSG_CHECKING([Checking for __sync_add_and_fetch gcc builtin > function]) > 24 AC_TRY_COMPILE([ > 25 #ifndef _GNU_SOURCE > 26 #define _GNU_SOURCE > 27 #endif > 28 #include <stdlib.h>],[int main(void) { > 29 char *c; > 30 return __sync_add_and_fetch(c, 1); > 31 }],[has___sync_add_and_fetch=yes]) > 32 if test "x$has___sync_add_and_fetch" = xyes; then > 33 AC_DEFINE(HAVE___SYNC_ADD_AND_FETCH,1,[Define to 1 if you > have the __ sync_add_and_fetch gcc builtin function]) > 34 AC_MSG_RESULT(yes) > 35 else > 36 AC_MSG_RESULT(no) > 37 fi > > Whereas it didn't on mine: > > 248 configure:4777: checking Checking for __sync_add_and_fetch gcc > builtin funct ion > 249 configure:4797: gcc -c -g -O2 conftest.c >&5 > 250 configure:4797: $? = 0 > > There was a potential problem with the macro though (I keep on > forgetting that AC_TRY_COMPILE and AC_COMPILE_IFELSE work predefine > main() with the block of code provided), so please let me know if > things work for you. > Thanks, > -Garrett I attached same options by obeying "config.log". And I confirmed that "conftest.c" could be successfully compiled by manual operation: ------------ [root@RHEL48-LTP-x86 async_handler]# pwd /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler [root@RHEL48-LTP-x86 async_handler]# ll total 36 -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh [root@RHEL48-LTP-x86 async_handler]# cat conftest.c #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif #include <stdlib.h> int main(void) { char *c; return __sync_add_and_fetch(c, 1); } [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 conftest.c [root@RHEL48-LTP-x86 async_handler]# echo $? 0 [root@RHEL48-LTP-x86 async_handler]# ll total 40 -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh [root@RHEL48-LTP-x86 async_handler]# ------------ I tried build async_handler.c with "-c" option by manual operation according to "conftest.c", and it succeeded: ------------ [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../../lib async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler In file included from async_handler.c:42: /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: In function `atomic_add': /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:119: warning: implicit declaration of function `__sync_add_and_fetch' gcc: -lrealtime: linker input file unused because linking not done gcc: -lpthread: linker input file unused because linking not done gcc: -lrt: linker input file unused because linking not done gcc: -lm: linker input file unused because linking not done [root@RHEL48-LTP-x86 async_handler]# echo $? 0 [root@RHEL48-LTP-x86 async_handler]# ll total 56 -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile -rw-r--r-- 1 root root 12612 Nov 16 16:27 async_handler -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh [root@RHEL48-LTP-x86 async_handler]# ------------ But above build is not with linkage by "-c" option. With linkage, it failed: ------------ [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../../lib async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler In file included from async_handler.c:42: /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: In function `atomic_add': /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:119: warning: implicit declaration of function `__sync_add_and_fetch' /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(librttest.o)(.text+0x1a7): In function `create_thread': /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librttest.h:119: undefined reference to `__sync_add_and_fetch' collect2: ld returned 1 exit status [root@RHEL48-LTP-x86 async_handler]# ------------ I think that the check of "__sync_add_and_fetch" by "conftest.c" must be done without "-c" option. Regards-- -Tomonori Mitani ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-16 8:28 ` Mitani @ 2010-11-16 17:03 ` Garrett Cooper 2010-11-17 2:59 ` Mitani 0 siblings, 1 reply; 13+ messages in thread From: Garrett Cooper @ 2010-11-16 17:03 UTC (permalink / raw) To: Mitani; +Cc: ltp-list On Tue, Nov 16, 2010 at 12:28 AM, Mitani <mitani@ryobi.co.jp> wrote: >> -----Original Message----- >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> Sent: Tuesday, November 16, 2010 12:58 AM >> To: Mitani >> Cc: ltp-list@lists.sourceforge.net >> Subject: Re: [LTP] Realtime test failure >> >> On Sun, Nov 14, 2010 at 10:29 PM, Mitani <mitani@ryobi.co.jp> wrote: >> > >> > >> >> -----Original Message----- >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> >> Sent: Monday, November 15, 2010 2:20 PM >> >> To: Mitani >> >> Cc: ltp-list@lists.sourceforge.net; 當座 健市 >> >> Subject: Re: [LTP] Realtime test failure >> >> >> >> 2010/11/14 Mitani <mitani@ryobi.co.jp>: >> >> >> -----Original Message----- >> >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> >> >> Sent: Monday, November 15, 2010 12:03 PM >> >> >> To: Mitani >> >> >> Subject: Re: [LTP] Realtime test failure >> >> >> >> >> >> On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> wrote: >> >> >> > Hi, >> >> >> > >> >> >> > "realtime" build failed in my system with git "ltp-f388d33.tar.gz": >> >> >> > ------------<RHEL4.8 - x86> >> >> >> > make[2]: Entering directory >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' >> >> >> > make -C lib -f >> >> >> "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" >> >> >> > all >> >> >> > make[3]: Entering directory >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include >> >> >> > -I../../../include -I../../../include -c -o librttest.o >> >> librttest.c >> >> >> > In file included from librttest.c:43: >> >> >> > >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> st.h: In >> >> >> > function `atomic_add': >> >> >> > >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> st.h:119 >> >> >> > : warning: implicit declaration of function `__sync_add_and_fetch' >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include >> >> >> > -I../../../include -I../../../include -c -o libstats.o >> libstats.c >> >> >> > In file included from libstats.c:47: >> >> >> > >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> st.h: In >> >> >> > function `atomic_add': >> >> >> > >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> st.h:119 >> >> >> > : warning: implicit declaration of function `__sync_add_and_fetch' >> >> >> > if [ -z "librttest.o libstats.o" ] ; then \ >> >> >> > echo "Cowardly refusing to create empty archive"; \ >> >> >> > exit 1; \ >> >> >> > fi >> >> >> > ar -rc "librealtime.a" librttest.o libstats.o >> >> >> > ranlib "librealtime.a" >> >> >> > make[3]: Leaving directory >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' >> >> >> > make[3]: Entering directory >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' >> >> >> > make[4]: Entering directory >> >> >> > >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include >> >> >> > -I../../../../include -I../../../../include >> >> >> > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib >> >> >> -L../../../../lib >> >> >> > async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler >> >> >> > In file included from async_handler.c:42: >> >> >> > >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: >> >> >> In >> >> >> > function `atomic_add': >> >> >> > >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 >> >> >> 9: >> >> >> > warning: implicit declaration of function `__sync_add_and_fetch' >> >> >> > >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr >> >> >> ttest.o) >> >> >> > (.text+0x1a7): In function `create_thread': >> >> >> > >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> st.h:119 >> >> >> > : undefined reference to `__sync_add_and_fetch' >> >> >> > collect2: ld returned 1 exit status >> >> >> > make[4]: *** [async_handler] Error 1 >> >> >> > make[4]: Leaving directory >> >> >> > >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' >> >> >> > make[3]: *** [all] Error 2 >> >> >> > make[3]: Leaving directory >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' >> >> >> > make[2]: *** [all] Error 2 >> >> >> > make[2]: Leaving directory >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' >> >> >> > make[1]: *** [all] Error 2 >> >> >> > make[1]: Leaving directory >> `/home/LTP/ltp-dev-20101112/testcases' >> >> >> > make: *** [testcases-all] Error 2 >> >> >> > ------------ >> >> >> > >> >> >> > "realtime" build failed in: >> >> >> > ------------ >> >> >> > RHEL4.8 -- x86, x86_64, ia64 >> >> >> > RHEL5.4 -- x86 >> >> >> > ------------ >> >> >> > >> >> >> > "realtime" build succeeded in: >> >> >> > ------------ >> >> >> > RHEL5.4 -- x86_64, ia64 >> >> >> > ------------ >> >> >> > >> >> >> > It is caused by "__sync_add_and_fetch". >> >> >> > >> >> >> > In following URL, "__sync_add_and_fetch" is "built-in functions >> for >> >> >> > atomic memory access". And It is provided in "gcc": >> >> >> >> >> >> > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html >> >> >> > >> >> >> > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc of >> RHEL5.1 >> >> >> - >> >> >> > RHEL5.4). >> >> >> > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is the >> gcc >> >> of >> >> >> > RHEL4.8) >> >> >> > >> >> >> > In addition, "__sync_add_and_fetch" is for 64 bit environment. >> >> >> > >> >> >> > >> >> >> >> >> >> http://stackoverflow.com/questions/130740/link-error-when-compiling- >> >> >> gcc-atom >> >> >> > ic-operation-in-32-bit-mode >> >> >> > >> >> >> > http://gcc.gnu.org/wiki/Atomic >> >> >> > >> >> >> > Perhaps, the judgment that "realtime" must be built or not depends >> >> on >> >> >> > gcc's version (> 4.0) and 64 bits environment, I think. >> >> >> >> >> >> Could you please attach your testcases/realtime/config.log and >> >> >> testcases/realtime/include/realtime_config.h ? >> >> >> Thanks, >> >> >> -Garrett >> >> > >> >> > >> >> > I understood. >> >> > Thank you and sorry for my insufficient information. >> >> > >> >> > I attach following files: >> >> > - config.log (RHEL4.8-x86) >> >> > - realtime_config.h (RHEL4.8-x86) >> >> > - config.log (RHEL5.5-x86) >> >> > - realtime_config.h (RHEL5.5-x86) >> >> >> >> Could you please try compiling the following C sources in both >> >> scenarios? >> >> Thanks, >> >> -Garrett >> >> >> >> #ifndef _GNU_SOURCE >> >> #define _GNU_SOURCE >> >> #endif >> >> #include <stdlib.h> >> >> int main(void) { >> >> char *c; >> >> return __sync_add_and_fetch(c, 1); >> >> } >> > >> > >> > I was going to compile the sent source in RHEL4.8/5.5-x86, but failed. >> > >> > ------------<RHEL4.8-x86> >> > [root@RHEL48-LTP-x86 async_handler]# cat realtime-test.c >> > #ifndef _GNU_SOURCE >> > #define _GNU_SOURCE >> > #endif >> > #include <stdlib.h> >> > int main(void) { >> > char *c; >> > return __sync_add_and_fetch(c, 1); } >> > >> > [root@RHEL48-LTP-x86 async_handler]# gcc realtime-test.c -o >> realtime-test >> > /tmp/cciHVx8b.o(.text+0x25): In function `main': >> > : undefined reference to `__sync_add_and_fetch' >> > collect2: ld returned 1 exit status >> > [root@RHEL48-LTP-x86 async_handler]# >> > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -g -O2 >> -fno-strict-aliasing -pipe -Wall -D >> > >> _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include >> -I../../../../include >> > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re >> altime/lib -L../../../.. >> > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o realtime-test >> > realtime-test.c: In function `main': >> > realtime-test.c:7: warning: implicit declaration of function >> `__sync_add_and_fetch' >> > realtime-test.c:6: warning: 'c' might be used uninitialized in this >> function >> > /tmp/ccIDckLk.o(.text+0x10): In function `main': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea >> ltime-test.c:7: undefined reference to `__sync_add_and_fetch' >> > collect2: ld returned 1 exit status >> > [root@RHEL48-LTP-x86 async_handler]# >> > ------------ >> > >> > ------------<RHEL5.5-x86> >> > [root@RHEL55-LTP-x86 async_handler]# cat realtime-test.c >> > #ifndef _GNU_SOURCE >> > #define _GNU_SOURCE >> > #endif >> > #include <stdlib.h> >> > int main(void) { >> > char *c; >> > return __sync_add_and_fetch(c, 1); } >> > >> > [root@RHEL55-LTP-x86 async_handler]# gcc realtime-test.c -o >> realtime-test >> > /tmp/ccK8hmPs.o: In function `main': >> > realtime-test.c:(.text+0x20): undefined reference to >> `__sync_add_and_fetch_1' >> > collect2: ld returned 1 exit status >> > [root@RHEL55-LTP-x86 async_handler]# gcc -g -O2 -g -O2 >> -fno-strict-aliasing -pipe -Wall -D >> > >> _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include >> -I../../../../include >> > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re >> altime/lib -L../../../.. >> > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o realtime-test >> > realtime-test.c: In function 'main': >> > realtime-test.c:7: warning: 'c' is used uninitialized in this function >> > /tmp/ccKUnocB.o: In function `main': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea >> ltime-test.c:7: undefined reference to `__sync_add_and_fetch_1' >> > collect2: ld returned 1 exit status >> > [root@RHEL55-LTP-x86 async_handler]# >> >> Not sure why but it incorrectly passed on your machine: >> >> configure:5186: checking Checking for __sync_add_and_fetch gcc builtin >> function >> configure:5216: gcc -c -g -O2 conftest.c >&5 >> configure:5222: $? = 0 >> >> 23 AC_MSG_CHECKING([Checking for __sync_add_and_fetch gcc builtin >> function]) >> 24 AC_TRY_COMPILE([ >> 25 #ifndef _GNU_SOURCE >> 26 #define _GNU_SOURCE >> 27 #endif >> 28 #include <stdlib.h>],[int main(void) { >> 29 char *c; >> 30 return __sync_add_and_fetch(c, 1); >> 31 }],[has___sync_add_and_fetch=yes]) >> 32 if test "x$has___sync_add_and_fetch" = xyes; then >> 33 AC_DEFINE(HAVE___SYNC_ADD_AND_FETCH,1,[Define to 1 if you >> have the __ sync_add_and_fetch gcc builtin function]) >> 34 AC_MSG_RESULT(yes) >> 35 else >> 36 AC_MSG_RESULT(no) >> 37 fi >> >> Whereas it didn't on mine: >> >> 248 configure:4777: checking Checking for __sync_add_and_fetch gcc >> builtin funct ion >> 249 configure:4797: gcc -c -g -O2 conftest.c >&5 >> 250 configure:4797: $? = 0 >> >> There was a potential problem with the macro though (I keep on >> forgetting that AC_TRY_COMPILE and AC_COMPILE_IFELSE work predefine >> main() with the block of code provided), so please let me know if >> things work for you. >> Thanks, >> -Garrett > > > I attached same options by obeying "config.log". > And I confirmed that "conftest.c" could be successfully compiled by > manual operation: > ------------ > [root@RHEL48-LTP-x86 async_handler]# pwd > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler > [root@RHEL48-LTP-x86 async_handler]# ll > total 36 > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > [root@RHEL48-LTP-x86 async_handler]# cat conftest.c > #ifndef _GNU_SOURCE > #define _GNU_SOURCE > #endif > #include <stdlib.h> > int main(void) { > char *c; > return __sync_add_and_fetch(c, 1); } > > [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 conftest.c > [root@RHEL48-LTP-x86 async_handler]# echo $? > 0 > [root@RHEL48-LTP-x86 async_handler]# ll > total 40 > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > [root@RHEL48-LTP-x86 async_handler]# > ------------ > > I tried build async_handler.c with "-c" option by manual operation > according to "conftest.c", and it succeeded: > ------------ > [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../../lib async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler > In file included from async_handler.c:42: > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: In function `atomic_add': > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:119: warning: implicit declaration of function `__sync_add_and_fetch' > gcc: -lrealtime: linker input file unused because linking not done > gcc: -lpthread: linker input file unused because linking not done > gcc: -lrt: linker input file unused because linking not done > gcc: -lm: linker input file unused because linking not done > [root@RHEL48-LTP-x86 async_handler]# echo $? > 0 > [root@RHEL48-LTP-x86 async_handler]# ll > total 56 > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > -rw-r--r-- 1 root root 12612 Nov 16 16:27 async_handler > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > [root@RHEL48-LTP-x86 async_handler]# > ------------ > > But above build is not with linkage by "-c" option. > With linkage, it failed: > ------------ > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib -L../../../../lib async_handler.c -lrealtime -lpthread -lrt -lm -o async_handler > In file included from async_handler.c:42: > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: In function `atomic_add': > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:119: warning: implicit declaration of function `__sync_add_and_fetch' > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(librttest.o)(.text+0x1a7): In function `create_thread': > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librttest.h:119: undefined reference to `__sync_add_and_fetch' > collect2: ld returned 1 exit status > [root@RHEL48-LTP-x86 async_handler]# > ------------ > > I think that the check of "__sync_add_and_fetch" by "conftest.c" must > be done without "-c" option. Please try out HEAD again. It should be fixed now (I substituted AC_LINK_IFELSE for AC_TRY_COMPILE). Thanks, -Garrett ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-16 17:03 ` Garrett Cooper @ 2010-11-17 2:59 ` Mitani 2010-11-17 3:17 ` Garrett Cooper 0 siblings, 1 reply; 13+ messages in thread From: Mitani @ 2010-11-17 2:59 UTC (permalink / raw) To: 'Garrett Cooper'; +Cc: ltp-list > -----Original Message----- > From: Garrett Cooper [mailto:yanegomi@gmail.com] > Sent: Wednesday, November 17, 2010 2:04 AM > To: Mitani > Cc: ltp-list@lists.sourceforge.net > Subject: Re: [LTP] Realtime test failure > > On Tue, Nov 16, 2010 at 12:28 AM, Mitani <mitani@ryobi.co.jp> wrote: > >> -----Original Message----- > >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> Sent: Tuesday, November 16, 2010 12:58 AM > >> To: Mitani > >> Cc: ltp-list@lists.sourceforge.net > >> Subject: Re: [LTP] Realtime test failure > >> > >> On Sun, Nov 14, 2010 at 10:29 PM, Mitani <mitani@ryobi.co.jp> wrote: > >> > > >> > > >> >> -----Original Message----- > >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> >> Sent: Monday, November 15, 2010 2:20 PM > >> >> To: Mitani > >> >> Cc: ltp-list@lists.sourceforge.net; 當座 健市 > >> >> Subject: Re: [LTP] Realtime test failure > >> >> > >> >> 2010/11/14 Mitani <mitani@ryobi.co.jp>: > >> >> >> -----Original Message----- > >> >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> >> >> Sent: Monday, November 15, 2010 12:03 PM > >> >> >> To: Mitani > >> >> >> Subject: Re: [LTP] Realtime test failure > >> >> >> > >> >> >> On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> > wrote: > >> >> >> > Hi, > >> >> >> > > >> >> >> > "realtime" build failed in my system with git > "ltp-f388d33.tar.gz": > >> >> >> > ------------<RHEL4.8 - x86> > >> >> >> > make[2]: Entering directory > >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' > >> >> >> > make -C lib -f > >> >> >> "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" > >> >> >> > all > >> >> >> > make[3]: Entering directory > >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> >> >> > > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > >> >> >> > -I../../../include -I../../../include -c -o librttest.o > >> >> librttest.c > >> >> >> > In file included from librttest.c:43: > >> >> >> > > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> st.h: In > >> >> >> > function `atomic_add': > >> >> >> > > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> st.h:119 > >> >> >> > : warning: implicit declaration of function > `__sync_add_and_fetch' > >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> >> >> > > -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > >> >> >> > -I../../../include -I../../../include -c -o libstats.o > >> libstats.c > >> >> >> > In file included from libstats.c:47: > >> >> >> > > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> st.h: In > >> >> >> > function `atomic_add': > >> >> >> > > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> st.h:119 > >> >> >> > : warning: implicit declaration of function > `__sync_add_and_fetch' > >> >> >> > if [ -z "librttest.o libstats.o" ] ; then \ > >> >> >> > echo "Cowardly refusing to create empty archive"; \ > >> >> >> > exit 1; \ > >> >> >> > fi > >> >> >> > ar -rc "librealtime.a" librttest.o libstats.o > >> >> >> > ranlib "librealtime.a" > >> >> >> > make[3]: Leaving directory > >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > >> >> >> > make[3]: Entering directory > >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > >> >> >> > make[4]: Entering directory > >> >> >> > > >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE > >> >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > >> >> >> > -I../../../../include -I../../../../include > >> >> >> > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib > >> >> >> -L../../../../lib > >> >> >> > async_handler.c -lrealtime -lpthread -lrt -lm -o > async_handler > >> >> >> > In file included from async_handler.c:42: > >> >> >> > > >> >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > >> >> >> In > >> >> >> > function `atomic_add': > >> >> >> > > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > >> >> >> 9: > >> >> >> > warning: implicit declaration of function > `__sync_add_and_fetch' > >> >> >> > > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr > >> >> >> ttest.o) > >> >> >> > (.text+0x1a7): In function `create_thread': > >> >> >> > > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> st.h:119 > >> >> >> > : undefined reference to `__sync_add_and_fetch' > >> >> >> > collect2: ld returned 1 exit status > >> >> >> > make[4]: *** [async_handler] Error 1 > >> >> >> > make[4]: Leaving directory > >> >> >> > > >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > >> >> >> > make[3]: *** [all] Error 2 > >> >> >> > make[3]: Leaving directory > >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > >> >> >> > make[2]: *** [all] Error 2 > >> >> >> > make[2]: Leaving directory > >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' > >> >> >> > make[1]: *** [all] Error 2 > >> >> >> > make[1]: Leaving directory > >> `/home/LTP/ltp-dev-20101112/testcases' > >> >> >> > make: *** [testcases-all] Error 2 > >> >> >> > ------------ > >> >> >> > > >> >> >> > "realtime" build failed in: > >> >> >> > ------------ > >> >> >> > RHEL4.8 -- x86, x86_64, ia64 > >> >> >> > RHEL5.4 -- x86 > >> >> >> > ------------ > >> >> >> > > >> >> >> > "realtime" build succeeded in: > >> >> >> > ------------ > >> >> >> > RHEL5.4 -- x86_64, ia64 > >> >> >> > ------------ > >> >> >> > > >> >> >> > It is caused by "__sync_add_and_fetch". > >> >> >> > > >> >> >> > In following URL, "__sync_add_and_fetch" is "built-in functions > >> for > >> >> >> > atomic memory access". And It is provided in "gcc": > >> >> >> > >> >> > >> > > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html > >> >> >> > > >> >> >> > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc > of > >> RHEL5.1 > >> >> >> - > >> >> >> > RHEL5.4). > >> >> >> > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is > the > >> gcc > >> >> of > >> >> >> > RHEL4.8) > >> >> >> > > >> >> >> > In addition, "__sync_add_and_fetch" is for 64 bit environment. > >> >> >> > > >> >> >> > > >> >> >> > >> >> > >> > http://stackoverflow.com/questions/130740/link-error-when-compiling- > >> >> >> gcc-atom > >> >> >> > ic-operation-in-32-bit-mode > >> >> >> > > >> >> >> > http://gcc.gnu.org/wiki/Atomic > >> >> >> > > >> >> >> > Perhaps, the judgment that "realtime" must be built or not > depends > >> >> on > >> >> >> > gcc's version (> 4.0) and 64 bits environment, I think. > >> >> >> > >> >> >> Could you please attach your testcases/realtime/config.log and > >> >> >> testcases/realtime/include/realtime_config.h ? > >> >> >> Thanks, > >> >> >> -Garrett > >> >> > > >> >> > > >> >> > I understood. > >> >> > Thank you and sorry for my insufficient information. > >> >> > > >> >> > I attach following files: > >> >> > - config.log (RHEL4.8-x86) > >> >> > - realtime_config.h (RHEL4.8-x86) > >> >> > - config.log (RHEL5.5-x86) > >> >> > - realtime_config.h (RHEL5.5-x86) > >> >> > >> >> Could you please try compiling the following C sources in both > >> >> scenarios? > >> >> Thanks, > >> >> -Garrett > >> >> > >> >> #ifndef _GNU_SOURCE > >> >> #define _GNU_SOURCE > >> >> #endif > >> >> #include <stdlib.h> > >> >> int main(void) { > >> >> char *c; > >> >> return __sync_add_and_fetch(c, 1); > >> >> } > >> > > >> > > >> > I was going to compile the sent source in RHEL4.8/5.5-x86, but failed. > >> > > >> > ------------<RHEL4.8-x86> > >> > [root@RHEL48-LTP-x86 async_handler]# cat realtime-test.c > >> > #ifndef _GNU_SOURCE > >> > #define _GNU_SOURCE > >> > #endif > >> > #include <stdlib.h> > >> > int main(void) { > >> > char *c; > >> > return __sync_add_and_fetch(c, 1); } > >> > > >> > [root@RHEL48-LTP-x86 async_handler]# gcc realtime-test.c -o > >> realtime-test > >> > /tmp/cciHVx8b.o(.text+0x25): In function `main': > >> > : undefined reference to `__sync_add_and_fetch' > >> > collect2: ld returned 1 exit status > >> > [root@RHEL48-LTP-x86 async_handler]# > >> > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -g -O2 > >> -fno-strict-aliasing -pipe -Wall -D > >> > > >> > _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > >> -I../../../../include > >> > > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re > >> altime/lib -L../../../.. > >> > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o > realtime-test > >> > realtime-test.c: In function `main': > >> > realtime-test.c:7: warning: implicit declaration of function > >> `__sync_add_and_fetch' > >> > realtime-test.c:6: warning: 'c' might be used uninitialized in this > >> function > >> > /tmp/ccIDckLk.o(.text+0x10): In function `main': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea > >> ltime-test.c:7: undefined reference to `__sync_add_and_fetch' > >> > collect2: ld returned 1 exit status > >> > [root@RHEL48-LTP-x86 async_handler]# > >> > ------------ > >> > > >> > ------------<RHEL5.5-x86> > >> > [root@RHEL55-LTP-x86 async_handler]# cat realtime-test.c > >> > #ifndef _GNU_SOURCE > >> > #define _GNU_SOURCE > >> > #endif > >> > #include <stdlib.h> > >> > int main(void) { > >> > char *c; > >> > return __sync_add_and_fetch(c, 1); } > >> > > >> > [root@RHEL55-LTP-x86 async_handler]# gcc realtime-test.c -o > >> realtime-test > >> > /tmp/ccK8hmPs.o: In function `main': > >> > realtime-test.c:(.text+0x20): undefined reference to > >> `__sync_add_and_fetch_1' > >> > collect2: ld returned 1 exit status > >> > [root@RHEL55-LTP-x86 async_handler]# gcc -g -O2 -g -O2 > >> -fno-strict-aliasing -pipe -Wall -D > >> > > >> > _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > >> -I../../../../include > >> > > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re > >> altime/lib -L../../../.. > >> > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o > realtime-test > >> > realtime-test.c: In function 'main': > >> > realtime-test.c:7: warning: 'c' is used uninitialized in this > function > >> > /tmp/ccKUnocB.o: In function `main': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea > >> ltime-test.c:7: undefined reference to `__sync_add_and_fetch_1' > >> > collect2: ld returned 1 exit status > >> > [root@RHEL55-LTP-x86 async_handler]# > >> > >> Not sure why but it incorrectly passed on your machine: > >> > >> configure:5186: checking Checking for __sync_add_and_fetch gcc builtin > >> function > >> configure:5216: gcc -c -g -O2 conftest.c >&5 > >> configure:5222: $? = 0 > >> > >> 23 AC_MSG_CHECKING([Checking for __sync_add_and_fetch gcc builtin > >> function]) > >> 24 AC_TRY_COMPILE([ > >> 25 #ifndef _GNU_SOURCE > >> 26 #define _GNU_SOURCE > >> 27 #endif > >> 28 #include <stdlib.h>],[int main(void) { > >> 29 char *c; > >> 30 return __sync_add_and_fetch(c, 1); > >> 31 }],[has___sync_add_and_fetch=yes]) > >> 32 if test "x$has___sync_add_and_fetch" = xyes; then > >> 33 AC_DEFINE(HAVE___SYNC_ADD_AND_FETCH,1,[Define to 1 if you > >> have the __ sync_add_and_fetch gcc builtin function]) > >> 34 AC_MSG_RESULT(yes) > >> 35 else > >> 36 AC_MSG_RESULT(no) > >> 37 fi > >> > >> Whereas it didn't on mine: > >> > >> 248 configure:4777: checking Checking for __sync_add_and_fetch gcc > >> builtin funct ion > >> 249 configure:4797: gcc -c -g -O2 conftest.c >&5 > >> 250 configure:4797: $? = 0 > >> > >> There was a potential problem with the macro though (I keep on > >> forgetting that AC_TRY_COMPILE and AC_COMPILE_IFELSE work predefine > >> main() with the block of code provided), so please let me know if > >> things work for you. > >> Thanks, > >> -Garrett > > > > > > I attached same options by obeying "config.log". > > And I confirmed that "conftest.c" could be successfully compiled by > > manual operation: > > ------------ > > [root@RHEL48-LTP-x86 async_handler]# pwd > > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler > > [root@RHEL48-LTP-x86 async_handler]# ll > > total 36 > > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > > [root@RHEL48-LTP-x86 async_handler]# cat conftest.c > > #ifndef _GNU_SOURCE > > #define _GNU_SOURCE > > #endif > > #include <stdlib.h> > > int main(void) { > > char *c; > > return __sync_add_and_fetch(c, 1); } > > > > [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 conftest.c > > [root@RHEL48-LTP-x86 async_handler]# echo $? > > 0 > > [root@RHEL48-LTP-x86 async_handler]# ll > > total 40 > > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > > -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o > > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > > [root@RHEL48-LTP-x86 async_handler]# > > ------------ > > > > I tried build async_handler.c with "-c" option by manual operation > > according to "conftest.c", and it succeeded: > > ------------ > > [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 -fno-strict-aliasing > -pipe -Wall > -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/inclu > de -I../../../../include > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realt > ime/lib -L../../../../lib async_handler.c -lrealtime -lpthread -lrt > -lm -o async_handler > > In file included from async_handler.c:42: > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > In function `atomic_add': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > 9: warning: implicit declaration of function `__sync_add_and_fetch' > > gcc: -lrealtime: linker input file unused because linking not done > > gcc: -lpthread: linker input file unused because linking not done > > gcc: -lrt: linker input file unused because linking not done > > gcc: -lm: linker input file unused because linking not done > > [root@RHEL48-LTP-x86 async_handler]# echo $? > > 0 > > [root@RHEL48-LTP-x86 async_handler]# ll > > total 56 > > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > > -rw-r--r-- 1 root root 12612 Nov 16 16:27 async_handler > > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > > -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o > > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > > [root@RHEL48-LTP-x86 async_handler]# > > ------------ > > > > But above build is not with linkage by "-c" option. > > With linkage, it failed: > > ------------ > > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -fno-strict-aliasing > -pipe -Wall > -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/inclu > de -I../../../../include > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realt > ime/lib -L../../../../lib async_handler.c -lrealtime -lpthread -lrt > -lm -o async_handler > > In file included from async_handler.c:42: > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > In function `atomic_add': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > 9: warning: implicit declaration of function `__sync_add_and_fetch' > > > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr > ttest.o)(.text+0x1a7): In function `create_thread': > > > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > st.h:119: undefined reference to `__sync_add_and_fetch' > > collect2: ld returned 1 exit status > > [root@RHEL48-LTP-x86 async_handler]# > > ------------ > > > > I think that the check of "__sync_add_and_fetch" by "conftest.c" must > > be done without "-c" option. > > Please try out HEAD again. It should be fixed now (I substituted > AC_LINK_IFELSE for AC_TRY_COMPILE). > Thanks, > -Garrett Thank you for your response. I tried to build "realtime" tests with recent git "ltp-c23c351.tar.gz". Build succeeded in RHEL5.5-x86 system. But build failed in RHEL4.8-x86/x86_64/ia64 systems: ------------<RHEL4.8-x86> gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 1116/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ ltp-dev-20101116/testcases/realtime/lib -L../../../../lib testpi-4.c -lrealtime -lpthre ad -lrt -lm -o testpi-4 gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 1116/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ ltp-dev-20101116/testcases/realtime/lib -L../../../../lib testpi-5.c -lrealtime -lpthre ad -lrt -lm -o testpi-5 testpi-5.c: In function `do_test': testpi-5.c:69: warning: unused variable `mutexattr' testpi-5.c:70: warning: unused variable `retc' testpi-5.c:70: warning: unused variable `protocol' gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 1116/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ ltp-dev-20101116/testcases/realtime/lib -L../../../../lib testpi-6.c -lrealtime -lpthre ad -lrt -lm -o testpi-6 testpi-6.c: In function `do_test': testpi-6.c:75: warning: implicit declaration of function `pthread_mutexattr_setrobust_np' testpi-6.c:75: error: `PTHREAD_MUTEX_ROBUST_NP' undeclared (first use in this function) testpi-6.c:75: error: (Each undeclared identifier is reported only once testpi-6.c:75: error: for each function it appears in.) testpi-6.c:79: warning: implicit declaration of function `pthread_mutexattr_getrobust_np' make[4]: *** [testpi-6] Error 1 make[4]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases/realtime/func/pi-tests' make[3]: *** [all] Error 2 make[3]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases/realtime/func' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases/realtime' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases' make: *** [testcases-all] Error 2 ------------ The error of the "async_handler.c" by "__sync_add_and_fetch" until yesterday was solved. However, a new failure about mutex occurs in another function. I am investigating about it. Perhaps.. perhaps, mutex is supported after kernel version 2.6.16, I think. This is just a quick note to let you know. Thank you-- -Tomonori Mitani ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-17 2:59 ` Mitani @ 2010-11-17 3:17 ` Garrett Cooper 2010-11-18 0:21 ` Mitani 0 siblings, 1 reply; 13+ messages in thread From: Garrett Cooper @ 2010-11-17 3:17 UTC (permalink / raw) To: Mitani; +Cc: ltp-list On Tue, Nov 16, 2010 at 6:59 PM, Mitani <mitani@ryobi.co.jp> wrote: >> -----Original Message----- >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> Sent: Wednesday, November 17, 2010 2:04 AM >> To: Mitani >> Cc: ltp-list@lists.sourceforge.net >> Subject: Re: [LTP] Realtime test failure >> >> On Tue, Nov 16, 2010 at 12:28 AM, Mitani <mitani@ryobi.co.jp> wrote: >> >> -----Original Message----- >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> >> Sent: Tuesday, November 16, 2010 12:58 AM >> >> To: Mitani >> >> Cc: ltp-list@lists.sourceforge.net >> >> Subject: Re: [LTP] Realtime test failure >> >> >> >> On Sun, Nov 14, 2010 at 10:29 PM, Mitani <mitani@ryobi.co.jp> wrote: >> >> > >> >> > >> >> >> -----Original Message----- >> >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> >> >> Sent: Monday, November 15, 2010 2:20 PM >> >> >> To: Mitani >> >> >> Cc: ltp-list@lists.sourceforge.net; 當座 健市 >> >> >> Subject: Re: [LTP] Realtime test failure >> >> >> >> >> >> 2010/11/14 Mitani <mitani@ryobi.co.jp>: >> >> >> >> -----Original Message----- >> >> >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] >> >> >> >> Sent: Monday, November 15, 2010 12:03 PM >> >> >> >> To: Mitani >> >> >> >> Subject: Re: [LTP] Realtime test failure >> >> >> >> >> >> >> >> On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> >> wrote: >> >> >> >> > Hi, >> >> >> >> > >> >> >> >> > "realtime" build failed in my system with git >> "ltp-f388d33.tar.gz": >> >> >> >> > ------------<RHEL4.8 - x86> >> >> >> >> > make[2]: Entering directory >> >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' >> >> >> >> > make -C lib -f >> >> >> >> "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" >> >> >> >> > all >> >> >> >> > make[3]: Entering directory >> >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' >> >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> >> >> > >> -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include >> >> >> >> > -I../../../include -I../../../include -c -o librttest.o >> >> >> librttest.c >> >> >> >> > In file included from librttest.c:43: >> >> >> >> > >> >> >> >> >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> >> st.h: In >> >> >> >> > function `atomic_add': >> >> >> >> > >> >> >> >> >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> >> st.h:119 >> >> >> >> > : warning: implicit declaration of function >> `__sync_add_and_fetch' >> >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> >> >> > >> -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include >> >> >> >> > -I../../../include -I../../../include -c -o libstats.o >> >> libstats.c >> >> >> >> > In file included from libstats.c:47: >> >> >> >> > >> >> >> >> >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> >> st.h: In >> >> >> >> > function `atomic_add': >> >> >> >> > >> >> >> >> >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> >> st.h:119 >> >> >> >> > : warning: implicit declaration of function >> `__sync_add_and_fetch' >> >> >> >> > if [ -z "librttest.o libstats.o" ] ; then \ >> >> >> >> > echo "Cowardly refusing to create empty archive"; \ >> >> >> >> > exit 1; \ >> >> >> >> > fi >> >> >> >> > ar -rc "librealtime.a" librttest.o libstats.o >> >> >> >> > ranlib "librealtime.a" >> >> >> >> > make[3]: Leaving directory >> >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' >> >> >> >> > make[3]: Entering directory >> >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' >> >> >> >> > make[4]: Entering directory >> >> >> >> > >> >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' >> >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE >> >> >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include >> >> >> >> > -I../../../../include -I../../../../include >> >> >> >> > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib >> >> >> >> -L../../../../lib >> >> >> >> > async_handler.c -lrealtime -lpthread -lrt -lm -o >> async_handler >> >> >> >> > In file included from async_handler.c:42: >> >> >> >> > >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: >> >> >> >> In >> >> >> >> > function `atomic_add': >> >> >> >> > >> >> >> >> >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 >> >> >> >> 9: >> >> >> >> > warning: implicit declaration of function >> `__sync_add_and_fetch' >> >> >> >> > >> >> >> >> >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr >> >> >> >> ttest.o) >> >> >> >> > (.text+0x1a7): In function `create_thread': >> >> >> >> > >> >> >> >> >> >> >> >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> >> >> >> st.h:119 >> >> >> >> > : undefined reference to `__sync_add_and_fetch' >> >> >> >> > collect2: ld returned 1 exit status >> >> >> >> > make[4]: *** [async_handler] Error 1 >> >> >> >> > make[4]: Leaving directory >> >> >> >> > >> >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' >> >> >> >> > make[3]: *** [all] Error 2 >> >> >> >> > make[3]: Leaving directory >> >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' >> >> >> >> > make[2]: *** [all] Error 2 >> >> >> >> > make[2]: Leaving directory >> >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' >> >> >> >> > make[1]: *** [all] Error 2 >> >> >> >> > make[1]: Leaving directory >> >> `/home/LTP/ltp-dev-20101112/testcases' >> >> >> >> > make: *** [testcases-all] Error 2 >> >> >> >> > ------------ >> >> >> >> > >> >> >> >> > "realtime" build failed in: >> >> >> >> > ------------ >> >> >> >> > RHEL4.8 -- x86, x86_64, ia64 >> >> >> >> > RHEL5.4 -- x86 >> >> >> >> > ------------ >> >> >> >> > >> >> >> >> > "realtime" build succeeded in: >> >> >> >> > ------------ >> >> >> >> > RHEL5.4 -- x86_64, ia64 >> >> >> >> > ------------ >> >> >> >> > >> >> >> >> > It is caused by "__sync_add_and_fetch". >> >> >> >> > >> >> >> >> > In following URL, "__sync_add_and_fetch" is "built-in functions >> >> for >> >> >> >> > atomic memory access". And It is provided in "gcc": >> >> >> >> >> >> >> >> >> >> > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html >> >> >> >> > >> >> >> >> > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc >> of >> >> RHEL5.1 >> >> >> >> - >> >> >> >> > RHEL5.4). >> >> >> >> > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It is >> the >> >> gcc >> >> >> of >> >> >> >> > RHEL4.8) >> >> >> >> > >> >> >> >> > In addition, "__sync_add_and_fetch" is for 64 bit environment. >> >> >> >> > >> >> >> >> > >> >> >> >> >> >> >> >> >> >> http://stackoverflow.com/questions/130740/link-error-when-compiling- >> >> >> >> gcc-atom >> >> >> >> > ic-operation-in-32-bit-mode >> >> >> >> > >> >> >> >> > http://gcc.gnu.org/wiki/Atomic >> >> >> >> > >> >> >> >> > Perhaps, the judgment that "realtime" must be built or not >> depends >> >> >> on >> >> >> >> > gcc's version (> 4.0) and 64 bits environment, I think. >> >> >> >> >> >> >> >> Could you please attach your testcases/realtime/config.log and >> >> >> >> testcases/realtime/include/realtime_config.h ? >> >> >> >> Thanks, >> >> >> >> -Garrett >> >> >> > >> >> >> > >> >> >> > I understood. >> >> >> > Thank you and sorry for my insufficient information. >> >> >> > >> >> >> > I attach following files: >> >> >> > - config.log (RHEL4.8-x86) >> >> >> > - realtime_config.h (RHEL4.8-x86) >> >> >> > - config.log (RHEL5.5-x86) >> >> >> > - realtime_config.h (RHEL5.5-x86) >> >> >> >> >> >> Could you please try compiling the following C sources in both >> >> >> scenarios? >> >> >> Thanks, >> >> >> -Garrett >> >> >> >> >> >> #ifndef _GNU_SOURCE >> >> >> #define _GNU_SOURCE >> >> >> #endif >> >> >> #include <stdlib.h> >> >> >> int main(void) { >> >> >> char *c; >> >> >> return __sync_add_and_fetch(c, 1); >> >> >> } >> >> > >> >> > >> >> > I was going to compile the sent source in RHEL4.8/5.5-x86, but failed. >> >> > >> >> > ------------<RHEL4.8-x86> >> >> > [root@RHEL48-LTP-x86 async_handler]# cat realtime-test.c >> >> > #ifndef _GNU_SOURCE >> >> > #define _GNU_SOURCE >> >> > #endif >> >> > #include <stdlib.h> >> >> > int main(void) { >> >> > char *c; >> >> > return __sync_add_and_fetch(c, 1); } >> >> > >> >> > [root@RHEL48-LTP-x86 async_handler]# gcc realtime-test.c -o >> >> realtime-test >> >> > /tmp/cciHVx8b.o(.text+0x25): In function `main': >> >> > : undefined reference to `__sync_add_and_fetch' >> >> > collect2: ld returned 1 exit status >> >> > [root@RHEL48-LTP-x86 async_handler]# >> >> > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -g -O2 >> >> -fno-strict-aliasing -pipe -Wall -D >> >> > >> >> >> _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include >> >> -I../../../../include >> >> >> > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re >> >> altime/lib -L../../../.. >> >> > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o >> realtime-test >> >> > realtime-test.c: In function `main': >> >> > realtime-test.c:7: warning: implicit declaration of function >> >> `__sync_add_and_fetch' >> >> > realtime-test.c:6: warning: 'c' might be used uninitialized in this >> >> function >> >> > /tmp/ccIDckLk.o(.text+0x10): In function `main': >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea >> >> ltime-test.c:7: undefined reference to `__sync_add_and_fetch' >> >> > collect2: ld returned 1 exit status >> >> > [root@RHEL48-LTP-x86 async_handler]# >> >> > ------------ >> >> > >> >> > ------------<RHEL5.5-x86> >> >> > [root@RHEL55-LTP-x86 async_handler]# cat realtime-test.c >> >> > #ifndef _GNU_SOURCE >> >> > #define _GNU_SOURCE >> >> > #endif >> >> > #include <stdlib.h> >> >> > int main(void) { >> >> > char *c; >> >> > return __sync_add_and_fetch(c, 1); } >> >> > >> >> > [root@RHEL55-LTP-x86 async_handler]# gcc realtime-test.c -o >> >> realtime-test >> >> > /tmp/ccK8hmPs.o: In function `main': >> >> > realtime-test.c:(.text+0x20): undefined reference to >> >> `__sync_add_and_fetch_1' >> >> > collect2: ld returned 1 exit status >> >> > [root@RHEL55-LTP-x86 async_handler]# gcc -g -O2 -g -O2 >> >> -fno-strict-aliasing -pipe -Wall -D >> >> > >> >> >> _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include >> >> -I../../../../include >> >> >> > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re >> >> altime/lib -L../../../.. >> >> > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o >> realtime-test >> >> > realtime-test.c: In function 'main': >> >> > realtime-test.c:7: warning: 'c' is used uninitialized in this >> function >> >> > /tmp/ccKUnocB.o: In function `main': >> >> > >> >> >> /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea >> >> ltime-test.c:7: undefined reference to `__sync_add_and_fetch_1' >> >> > collect2: ld returned 1 exit status >> >> > [root@RHEL55-LTP-x86 async_handler]# >> >> >> >> Not sure why but it incorrectly passed on your machine: >> >> >> >> configure:5186: checking Checking for __sync_add_and_fetch gcc builtin >> >> function >> >> configure:5216: gcc -c -g -O2 conftest.c >&5 >> >> configure:5222: $? = 0 >> >> >> >> 23 AC_MSG_CHECKING([Checking for __sync_add_and_fetch gcc builtin >> >> function]) >> >> 24 AC_TRY_COMPILE([ >> >> 25 #ifndef _GNU_SOURCE >> >> 26 #define _GNU_SOURCE >> >> 27 #endif >> >> 28 #include <stdlib.h>],[int main(void) { >> >> 29 char *c; >> >> 30 return __sync_add_and_fetch(c, 1); >> >> 31 }],[has___sync_add_and_fetch=yes]) >> >> 32 if test "x$has___sync_add_and_fetch" = xyes; then >> >> 33 AC_DEFINE(HAVE___SYNC_ADD_AND_FETCH,1,[Define to 1 if you >> >> have the __ sync_add_and_fetch gcc builtin function]) >> >> 34 AC_MSG_RESULT(yes) >> >> 35 else >> >> 36 AC_MSG_RESULT(no) >> >> 37 fi >> >> >> >> Whereas it didn't on mine: >> >> >> >> 248 configure:4777: checking Checking for __sync_add_and_fetch gcc >> >> builtin funct ion >> >> 249 configure:4797: gcc -c -g -O2 conftest.c >&5 >> >> 250 configure:4797: $? = 0 >> >> >> >> There was a potential problem with the macro though (I keep on >> >> forgetting that AC_TRY_COMPILE and AC_COMPILE_IFELSE work predefine >> >> main() with the block of code provided), so please let me know if >> >> things work for you. >> >> Thanks, >> >> -Garrett >> > >> > >> > I attached same options by obeying "config.log". >> > And I confirmed that "conftest.c" could be successfully compiled by >> > manual operation: >> > ------------ >> > [root@RHEL48-LTP-x86 async_handler]# pwd >> > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler >> > [root@RHEL48-LTP-x86 async_handler]# ll >> > total 36 >> > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile >> > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c >> > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c >> > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c >> > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c >> > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh >> > [root@RHEL48-LTP-x86 async_handler]# cat conftest.c >> > #ifndef _GNU_SOURCE >> > #define _GNU_SOURCE >> > #endif >> > #include <stdlib.h> >> > int main(void) { >> > char *c; >> > return __sync_add_and_fetch(c, 1); } >> > >> > [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 conftest.c >> > [root@RHEL48-LTP-x86 async_handler]# echo $? >> > 0 >> > [root@RHEL48-LTP-x86 async_handler]# ll >> > total 40 >> > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile >> > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c >> > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c >> > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c >> > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c >> > -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o >> > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh >> > [root@RHEL48-LTP-x86 async_handler]# >> > ------------ >> > >> > I tried build async_handler.c with "-c" option by manual operation >> > according to "conftest.c", and it succeeded: >> > ------------ >> > [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 -fno-strict-aliasing >> -pipe -Wall >> -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/inclu >> de -I../../../../include >> -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realt >> ime/lib -L../../../../lib async_handler.c -lrealtime -lpthread -lrt >> -lm -o async_handler >> > In file included from async_handler.c:42: >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: >> In function `atomic_add': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 >> 9: warning: implicit declaration of function `__sync_add_and_fetch' >> > gcc: -lrealtime: linker input file unused because linking not done >> > gcc: -lpthread: linker input file unused because linking not done >> > gcc: -lrt: linker input file unused because linking not done >> > gcc: -lm: linker input file unused because linking not done >> > [root@RHEL48-LTP-x86 async_handler]# echo $? >> > 0 >> > [root@RHEL48-LTP-x86 async_handler]# ll >> > total 56 >> > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile >> > -rw-r--r-- 1 root root 12612 Nov 16 16:27 async_handler >> > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c >> > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c >> > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c >> > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c >> > -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o >> > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh >> > [root@RHEL48-LTP-x86 async_handler]# >> > ------------ >> > >> > But above build is not with linkage by "-c" option. >> > With linkage, it failed: >> > ------------ >> > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -fno-strict-aliasing >> -pipe -Wall >> -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/inclu >> de -I../../../../include >> -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realt >> ime/lib -L../../../../lib async_handler.c -lrealtime -lpthread -lrt >> -lm -o async_handler >> > In file included from async_handler.c:42: >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: >> In function `atomic_add': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 >> 9: warning: implicit declaration of function `__sync_add_and_fetch' >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr >> ttest.o)(.text+0x1a7): In function `create_thread': >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte >> st.h:119: undefined reference to `__sync_add_and_fetch' >> > collect2: ld returned 1 exit status >> > [root@RHEL48-LTP-x86 async_handler]# >> > ------------ >> > >> > I think that the check of "__sync_add_and_fetch" by "conftest.c" must >> > be done without "-c" option. >> >> Please try out HEAD again. It should be fixed now (I substituted >> AC_LINK_IFELSE for AC_TRY_COMPILE). >> Thanks, >> -Garrett > > Thank you for your response. > > > I tried to build "realtime" tests with recent git "ltp-c23c351.tar.gz". > > Build succeeded in RHEL5.5-x86 system. > > But build failed in RHEL4.8-x86/x86_64/ia64 systems: > ------------<RHEL4.8-x86> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 > 1116/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ > ltp-dev-20101116/testcases/realtime/lib -L../../../../lib testpi-4.c -lrealtime -lpthre > ad -lrt -lm -o testpi-4 > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 > 1116/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ > ltp-dev-20101116/testcases/realtime/lib -L../../../../lib testpi-5.c -lrealtime -lpthre > ad -lrt -lm -o testpi-5 > testpi-5.c: In function `do_test': > testpi-5.c:69: warning: unused variable `mutexattr' > testpi-5.c:70: warning: unused variable `retc' > testpi-5.c:70: warning: unused variable `protocol' > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 > 1116/testcases/realtime/include -I../../../../include -I../../../../include -L/home/LTP/ > ltp-dev-20101116/testcases/realtime/lib -L../../../../lib testpi-6.c -lrealtime -lpthre > ad -lrt -lm -o testpi-6 > testpi-6.c: In function `do_test': > testpi-6.c:75: warning: implicit declaration of function `pthread_mutexattr_setrobust_np' > testpi-6.c:75: error: `PTHREAD_MUTEX_ROBUST_NP' undeclared (first use in this function) > testpi-6.c:75: error: (Each undeclared identifier is reported only once > testpi-6.c:75: error: for each function it appears in.) > testpi-6.c:79: warning: implicit declaration of function `pthread_mutexattr_getrobust_np' > make[4]: *** [testpi-6] Error 1 > make[4]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases/realtime/func/pi-tests' > make[3]: *** [all] Error 2 > make[3]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases/realtime/func' > make[2]: *** [all] Error 2 > make[2]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases/realtime' > make[1]: *** [all] Error 2 > make[1]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases' > make: *** [testcases-all] Error 2 > ------------ > > The error of the "async_handler.c" by "__sync_add_and_fetch" until yesterday > was solved. > However, a new failure about mutex occurs in another function. > > I am investigating about it. > Perhaps.. perhaps, mutex is supported after kernel version 2.6.16, I think. > > > This is just a quick note to let you know. Lol. Please try again. ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-17 3:17 ` Garrett Cooper @ 2010-11-18 0:21 ` Mitani 2010-11-18 0:30 ` Garrett Cooper 0 siblings, 1 reply; 13+ messages in thread From: Mitani @ 2010-11-18 0:21 UTC (permalink / raw) To: 'Garrett Cooper'; +Cc: ltp-list > -----Original Message----- > From: Garrett Cooper [mailto:yanegomi@gmail.com] > Sent: Wednesday, November 17, 2010 12:17 PM > To: Mitani > Cc: ltp-list@lists.sourceforge.net > Subject: Re: [LTP] Realtime test failure > > On Tue, Nov 16, 2010 at 6:59 PM, Mitani <mitani@ryobi.co.jp> wrote: > >> -----Original Message----- > >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> Sent: Wednesday, November 17, 2010 2:04 AM > >> To: Mitani > >> Cc: ltp-list@lists.sourceforge.net > >> Subject: Re: [LTP] Realtime test failure > >> > >> On Tue, Nov 16, 2010 at 12:28 AM, Mitani <mitani@ryobi.co.jp> wrote: > >> >> -----Original Message----- > >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> >> Sent: Tuesday, November 16, 2010 12:58 AM > >> >> To: Mitani > >> >> Cc: ltp-list@lists.sourceforge.net > >> >> Subject: Re: [LTP] Realtime test failure > >> >> > >> >> On Sun, Nov 14, 2010 at 10:29 PM, Mitani <mitani@ryobi.co.jp> wrote: > >> >> > > >> >> > > >> >> >> -----Original Message----- > >> >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> >> >> Sent: Monday, November 15, 2010 2:20 PM > >> >> >> To: Mitani > >> >> >> Cc: ltp-list@lists.sourceforge.net; 當座 健市 > >> >> >> Subject: Re: [LTP] Realtime test failure > >> >> >> > >> >> >> 2010/11/14 Mitani <mitani@ryobi.co.jp>: > >> >> >> >> -----Original Message----- > >> >> >> >> From: Garrett Cooper [mailto:yanegomi@gmail.com] > >> >> >> >> Sent: Monday, November 15, 2010 12:03 PM > >> >> >> >> To: Mitani > >> >> >> >> Subject: Re: [LTP] Realtime test failure > >> >> >> >> > >> >> >> >> On Sun, Nov 14, 2010 at 6:54 PM, Mitani <mitani@ryobi.co.jp> > >> wrote: > >> >> >> >> > Hi, > >> >> >> >> > > >> >> >> >> > "realtime" build failed in my system with git > >> "ltp-f388d33.tar.gz": > >> >> >> >> > ------------<RHEL4.8 - x86> > >> >> >> >> > make[2]: Entering directory > >> >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' > >> >> >> >> > make -C lib -f > >> >> >> >> > "/home/LTP/ltp-dev-20101112/testcases/realtime/lib/Makefile" > >> >> >> >> > all > >> >> >> >> > make[3]: Entering directory > >> >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > >> >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall > -D_GNU_SOURCE > >> >> >> >> > > >> -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > >> >> >> >> > -I../../../include -I../../../include -c -o librttest.o > >> >> >> librttest.c > >> >> >> >> > In file included from librttest.c:43: > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> >> st.h: In > >> >> >> >> > function `atomic_add': > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> >> st.h:119 > >> >> >> >> > : warning: implicit declaration of function > >> `__sync_add_and_fetch' > >> >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall > -D_GNU_SOURCE > >> >> >> >> > > >> -I/home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include > >> >> >> >> > -I../../../include -I../../../include -c -o libstats.o > >> >> libstats.c > >> >> >> >> > In file included from libstats.c:47: > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> >> st.h: In > >> >> >> >> > function `atomic_add': > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> >> st.h:119 > >> >> >> >> > : warning: implicit declaration of function > >> `__sync_add_and_fetch' > >> >> >> >> > if [ -z "librttest.o libstats.o" ] ; then \ > >> >> >> >> > echo "Cowardly refusing to create empty archive"; > \ > >> >> >> >> > exit 1; \ > >> >> >> >> > fi > >> >> >> >> > ar -rc "librealtime.a" librttest.o libstats.o > >> >> >> >> > ranlib "librealtime.a" > >> >> >> >> > make[3]: Leaving directory > >> >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/lib' > >> >> >> >> > make[3]: Entering directory > >> >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > >> >> >> >> > make[4]: Entering directory > >> >> >> >> > > >> >> >> > >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > >> >> >> >> > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall > -D_GNU_SOURCE > >> >> >> >> > -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > >> >> >> >> > -I../../../../include -I../../../../include > >> >> >> >> > -L/home/LTP/ltp-dev-20101112/testcases/realtime/lib > >> >> >> >> -L../../../../lib > >> >> >> >> > async_handler.c -lrealtime -lpthread -lrt -lm -o > >> async_handler > >> >> >> >> > In file included from async_handler.c:42: > >> >> >> >> > > >> >> >> > >> /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > >> >> >> >> In > >> >> >> >> > function `atomic_add': > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > >> >> >> >> 9: > >> >> >> >> > warning: implicit declaration of function > >> `__sync_add_and_fetch' > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr > >> >> >> >> ttest.o) > >> >> >> >> > (.text+0x1a7): In function `create_thread': > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> >> >> >> st.h:119 > >> >> >> >> > : undefined reference to `__sync_add_and_fetch' > >> >> >> >> > collect2: ld returned 1 exit status > >> >> >> >> > make[4]: *** [async_handler] Error 1 > >> >> >> >> > make[4]: Leaving directory > >> >> >> >> > > >> >> >> > >> `/home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler' > >> >> >> >> > make[3]: *** [all] Error 2 > >> >> >> >> > make[3]: Leaving directory > >> >> >> >> > `/home/LTP/ltp-dev-20101112/testcases/realtime/func' > >> >> >> >> > make[2]: *** [all] Error 2 > >> >> >> >> > make[2]: Leaving directory > >> >> >> >> `/home/LTP/ltp-dev-20101112/testcases/realtime' > >> >> >> >> > make[1]: *** [all] Error 2 > >> >> >> >> > make[1]: Leaving directory > >> >> `/home/LTP/ltp-dev-20101112/testcases' > >> >> >> >> > make: *** [testcases-all] Error 2 > >> >> >> >> > ------------ > >> >> >> >> > > >> >> >> >> > "realtime" build failed in: > >> >> >> >> > ------------ > >> >> >> >> > RHEL4.8 -- x86, x86_64, ia64 > >> >> >> >> > RHEL5.4 -- x86 > >> >> >> >> > ------------ > >> >> >> >> > > >> >> >> >> > "realtime" build succeeded in: > >> >> >> >> > ------------ > >> >> >> >> > RHEL5.4 -- x86_64, ia64 > >> >> >> >> > ------------ > >> >> >> >> > > >> >> >> >> > It is caused by "__sync_add_and_fetch". > >> >> >> >> > > >> >> >> >> > In following URL, "__sync_add_and_fetch" is "built-in > functions > >> >> for > >> >> >> >> > atomic memory access". And It is provided in "gcc": > >> >> >> >> > >> >> >> > >> >> > >> > > http://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Atomic-Builtins.html > >> >> >> >> > > >> >> >> >> > There is "__sync_add_and_fetch" in gcc4.1.2 (It is the gcc > >> of > >> >> RHEL5.1 > >> >> >> >> - > >> >> >> >> > RHEL5.4). > >> >> >> >> > And there is not "__sync_add_and_fetch" in gcc3.4.6 (It > is > >> the > >> >> gcc > >> >> >> of > >> >> >> >> > RHEL4.8) > >> >> >> >> > > >> >> >> >> > In addition, "__sync_add_and_fetch" is for 64 bit environment. > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > >> >> >> > >> >> > >> > http://stackoverflow.com/questions/130740/link-error-when-compiling- > >> >> >> >> gcc-atom > >> >> >> >> > ic-operation-in-32-bit-mode > >> >> >> >> > > >> >> >> >> > http://gcc.gnu.org/wiki/Atomic > >> >> >> >> > > >> >> >> >> > Perhaps, the judgment that "realtime" must be built or not > >> depends > >> >> >> on > >> >> >> >> > gcc's version (> 4.0) and 64 bits environment, I think. > >> >> >> >> > >> >> >> >> Could you please attach your testcases/realtime/config.log > and > >> >> >> >> testcases/realtime/include/realtime_config.h ? > >> >> >> >> Thanks, > >> >> >> >> -Garrett > >> >> >> > > >> >> >> > > >> >> >> > I understood. > >> >> >> > Thank you and sorry for my insufficient information. > >> >> >> > > >> >> >> > I attach following files: > >> >> >> > - config.log (RHEL4.8-x86) > >> >> >> > - realtime_config.h (RHEL4.8-x86) > >> >> >> > - config.log (RHEL5.5-x86) > >> >> >> > - realtime_config.h (RHEL5.5-x86) > >> >> >> > >> >> >> Could you please try compiling the following C sources in > both > >> >> >> scenarios? > >> >> >> Thanks, > >> >> >> -Garrett > >> >> >> > >> >> >> #ifndef _GNU_SOURCE > >> >> >> #define _GNU_SOURCE > >> >> >> #endif > >> >> >> #include <stdlib.h> > >> >> >> int main(void) { > >> >> >> char *c; > >> >> >> return __sync_add_and_fetch(c, 1); > >> >> >> } > >> >> > > >> >> > > >> >> > I was going to compile the sent source in RHEL4.8/5.5-x86, but > failed. > >> >> > > >> >> > ------------<RHEL4.8-x86> > >> >> > [root@RHEL48-LTP-x86 async_handler]# cat realtime-test.c > >> >> > #ifndef _GNU_SOURCE > >> >> > #define _GNU_SOURCE > >> >> > #endif > >> >> > #include <stdlib.h> > >> >> > int main(void) { > >> >> > char *c; > >> >> > return __sync_add_and_fetch(c, 1); } > >> >> > > >> >> > [root@RHEL48-LTP-x86 async_handler]# gcc realtime-test.c -o > >> >> realtime-test > >> >> > /tmp/cciHVx8b.o(.text+0x25): In function `main': > >> >> > : undefined reference to `__sync_add_and_fetch' > >> >> > collect2: ld returned 1 exit status > >> >> > [root@RHEL48-LTP-x86 async_handler]# > >> >> > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -g -O2 > >> >> -fno-strict-aliasing -pipe -Wall -D > >> >> > > >> >> > >> > _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > >> >> -I../../../../include > >> >> > >> > > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re > >> >> altime/lib -L../../../.. > >> >> > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o > >> realtime-test > >> >> > realtime-test.c: In function `main': > >> >> > realtime-test.c:7: warning: implicit declaration of function > >> >> `__sync_add_and_fetch' > >> >> > realtime-test.c:6: warning: 'c' might be used uninitialized in > this > >> >> function > >> >> > /tmp/ccIDckLk.o(.text+0x10): In function `main': > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea > >> >> ltime-test.c:7: undefined reference to `__sync_add_and_fetch' > >> >> > collect2: ld returned 1 exit status > >> >> > [root@RHEL48-LTP-x86 async_handler]# > >> >> > ------------ > >> >> > > >> >> > ------------<RHEL5.5-x86> > >> >> > [root@RHEL55-LTP-x86 async_handler]# cat realtime-test.c > >> >> > #ifndef _GNU_SOURCE > >> >> > #define _GNU_SOURCE > >> >> > #endif > >> >> > #include <stdlib.h> > >> >> > int main(void) { > >> >> > char *c; > >> >> > return __sync_add_and_fetch(c, 1); } > >> >> > > >> >> > [root@RHEL55-LTP-x86 async_handler]# gcc realtime-test.c -o > >> >> realtime-test > >> >> > /tmp/ccK8hmPs.o: In function `main': > >> >> > realtime-test.c:(.text+0x20): undefined reference to > >> >> `__sync_add_and_fetch_1' > >> >> > collect2: ld returned 1 exit status > >> >> > [root@RHEL55-LTP-x86 async_handler]# gcc -g -O2 -g -O2 > >> >> -fno-strict-aliasing -pipe -Wall -D > >> >> > > >> >> > >> > _GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/include > >> >> -I../../../../include > >> >> > >> > > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/re > >> >> altime/lib -L../../../.. > >> >> > /lib realtime-test.c -lrealtime -lpthread -lrt -lm -o > >> realtime-test > >> >> > realtime-test.c: In function 'main': > >> >> > realtime-test.c:7: warning: 'c' is used uninitialized in this > >> function > >> >> > /tmp/ccKUnocB.o: In function `main': > >> >> > > >> >> > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler/rea > >> >> ltime-test.c:7: undefined reference to `__sync_add_and_fetch_1' > >> >> > collect2: ld returned 1 exit status > >> >> > [root@RHEL55-LTP-x86 async_handler]# > >> >> > >> >> Not sure why but it incorrectly passed on your machine: > >> >> > >> >> configure:5186: checking Checking for __sync_add_and_fetch gcc > builtin > >> >> function > >> >> configure:5216: gcc -c -g -O2 conftest.c >&5 > >> >> configure:5222: $? = 0 > >> >> > >> >> 23 AC_MSG_CHECKING([Checking for __sync_add_and_fetch gcc builtin > >> >> function]) > >> >> 24 AC_TRY_COMPILE([ > >> >> 25 #ifndef _GNU_SOURCE > >> >> 26 #define _GNU_SOURCE > >> >> 27 #endif > >> >> 28 #include <stdlib.h>],[int main(void) { > >> >> 29 char *c; > >> >> 30 return __sync_add_and_fetch(c, 1); > >> >> 31 }],[has___sync_add_and_fetch=yes]) > >> >> 32 if test "x$has___sync_add_and_fetch" = xyes; then > >> >> 33 AC_DEFINE(HAVE___SYNC_ADD_AND_FETCH,1,[Define to 1 if > you > >> >> have the __ sync_add_and_fetch gcc builtin function]) > >> >> 34 AC_MSG_RESULT(yes) > >> >> 35 else > >> >> 36 AC_MSG_RESULT(no) > >> >> 37 fi > >> >> > >> >> Whereas it didn't on mine: > >> >> > >> >> 248 configure:4777: checking Checking for __sync_add_and_fetch gcc > >> >> builtin funct ion > >> >> 249 configure:4797: gcc -c -g -O2 conftest.c >&5 > >> >> 250 configure:4797: $? = 0 > >> >> > >> >> There was a potential problem with the macro though (I keep > on > >> >> forgetting that AC_TRY_COMPILE and AC_COMPILE_IFELSE work predefine > >> >> main() with the block of code provided), so please let me know if > >> >> things work for you. > >> >> Thanks, > >> >> -Garrett > >> > > >> > > >> > I attached same options by obeying "config.log". > >> > And I confirmed that "conftest.c" could be successfully compiled > by > >> > manual operation: > >> > ------------ > >> > [root@RHEL48-LTP-x86 async_handler]# pwd > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/func/async_handler > >> > [root@RHEL48-LTP-x86 async_handler]# ll > >> > total 36 > >> > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > >> > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > >> > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > >> > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > >> > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > >> > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > >> > [root@RHEL48-LTP-x86 async_handler]# cat conftest.c > >> > #ifndef _GNU_SOURCE > >> > #define _GNU_SOURCE > >> > #endif > >> > #include <stdlib.h> > >> > int main(void) { > >> > char *c; > >> > return __sync_add_and_fetch(c, 1); } > >> > > >> > [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 conftest.c > >> > [root@RHEL48-LTP-x86 async_handler]# echo $? > >> > 0 > >> > [root@RHEL48-LTP-x86 async_handler]# ll > >> > total 40 > >> > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > >> > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > >> > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > >> > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > >> > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > >> > -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o > >> > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > >> > [root@RHEL48-LTP-x86 async_handler]# > >> > ------------ > >> > > >> > I tried build async_handler.c with "-c" option by manual operation > >> > according to "conftest.c", and it succeeded: > >> > ------------ > >> > [root@RHEL48-LTP-x86 async_handler]# gcc -c -g -O2 > -fno-strict-aliasing > >> -pipe -Wall > >> > -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/inclu > >> de -I../../../../include > >> > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realt > >> ime/lib -L../../../../lib async_handler.c -lrealtime -lpthread > -lrt > >> -lm -o async_handler > >> > In file included from async_handler.c:42: > >> > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > >> In function `atomic_add': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > >> 9: warning: implicit declaration of function `__sync_add_and_fetch' > >> > gcc: -lrealtime: linker input file unused because linking not done > >> > gcc: -lpthread: linker input file unused because linking not done > >> > gcc: -lrt: linker input file unused because linking not done > >> > gcc: -lm: linker input file unused because linking not done > >> > [root@RHEL48-LTP-x86 async_handler]# echo $? > >> > 0 > >> > [root@RHEL48-LTP-x86 async_handler]# ll > >> > total 56 > >> > -rw-rw-r-- 1 root root 1045 Nov 12 02:19 Makefile > >> > -rw-r--r-- 1 root root 12612 Nov 16 16:27 async_handler > >> > -rw-rw-r-- 1 root root 5341 Nov 12 02:19 async_handler.c > >> > -rw-rw-r-- 1 root root 4485 Nov 12 02:19 async_handler_jk.c > >> > -rw-rw-r-- 1 root root 6013 Nov 12 02:19 async_handler_tsc.c > >> > -rw-r--r-- 1 root root 147 Nov 15 15:14 conftest.c > >> > -rw-r--r-- 1 root root 2596 Nov 16 16:24 conftest.o > >> > -rwxrwxr-x 1 root root 333 Nov 12 02:19 run_auto.sh > >> > [root@RHEL48-LTP-x86 async_handler]# > >> > ------------ > >> > > >> > But above build is not with linkage by "-c" option. > >> > With linkage, it failed: > >> > ------------ > >> > [root@RHEL48-LTP-x86 async_handler]# gcc -g -O2 -fno-strict-aliasing > >> -pipe -Wall > >> > -D_GNU_SOURCE -I/home/LTP/ltp-dev-20101112/testcases/realtime/inclu > >> de -I../../../../include > >> > -I../../../../include -L/home/LTP/ltp-dev-20101112/testcases/realt > >> ime/lib -L../../../../lib async_handler.c -lrealtime -lpthread > -lrt > >> -lm -o async_handler > >> > In file included from async_handler.c:42: > >> > > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h: > >> In function `atomic_add': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/include/librttest.h:11 > >> 9: warning: implicit declaration of function `__sync_add_and_fetch' > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/librealtime.a(libr > >> ttest.o)(.text+0x1a7): In function `create_thread': > >> > > >> > /home/LTP/ltp-dev-20101112/testcases/realtime/lib/../include/librtte > >> st.h:119: undefined reference to `__sync_add_and_fetch' > >> > collect2: ld returned 1 exit status > >> > [root@RHEL48-LTP-x86 async_handler]# > >> > ------------ > >> > > >> > I think that the check of "__sync_add_and_fetch" by "conftest.c" > must > >> > be done without "-c" option. > >> > >> Please try out HEAD again. It should be fixed now (I substituted > >> AC_LINK_IFELSE for AC_TRY_COMPILE). > >> Thanks, > >> -Garrett > > > > Thank you for your response. > > > > > > I tried to build "realtime" tests with recent git "ltp-c23c351.tar.gz". > > > > Build succeeded in RHEL5.5-x86 system. > > > > But build failed in RHEL4.8-x86/x86_64/ia64 systems: > > ------------<RHEL4.8-x86> > > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall > -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 > > 1116/testcases/realtime/include -I../../../../include > -I../../../../include -L/home/LTP/ > > ltp-dev-20101116/testcases/realtime/lib > -L../../../../lib testpi-4.c -lrealtime -lpthre > > ad -lrt -lm -o testpi-4 > > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall > -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 > > 1116/testcases/realtime/include -I../../../../include > -I../../../../include -L/home/LTP/ > > ltp-dev-20101116/testcases/realtime/lib > -L../../../../lib testpi-5.c -lrealtime -lpthre > > ad -lrt -lm -o testpi-5 > > testpi-5.c: In function `do_test': > > testpi-5.c:69: warning: unused variable `mutexattr' > > testpi-5.c:70: warning: unused variable `retc' > > testpi-5.c:70: warning: unused variable `protocol' > > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall > -D_GNU_SOURCE -I/home/LTP/ltp-dev-2010 > > 1116/testcases/realtime/include -I../../../../include > -I../../../../include -L/home/LTP/ > > ltp-dev-20101116/testcases/realtime/lib > -L../../../../lib testpi-6.c -lrealtime -lpthre > > ad -lrt -lm -o testpi-6 > > testpi-6.c: In function `do_test': > > testpi-6.c:75: warning: implicit declaration of function > `pthread_mutexattr_setrobust_np' > > testpi-6.c:75: error: `PTHREAD_MUTEX_ROBUST_NP' undeclared (first use > in this function) > > testpi-6.c:75: error: (Each undeclared identifier is reported only once > > testpi-6.c:75: error: for each function it appears in.) > > testpi-6.c:79: warning: implicit declaration of function > `pthread_mutexattr_getrobust_np' > > make[4]: *** [testpi-6] Error 1 > > make[4]: Leaving directory > `/home/LTP/ltp-dev-20101116/testcases/realtime/func/pi-tests' > > make[3]: *** [all] Error 2 > > make[3]: Leaving directory > `/home/LTP/ltp-dev-20101116/testcases/realtime/func' > > make[2]: *** [all] Error 2 > > make[2]: Leaving directory > `/home/LTP/ltp-dev-20101116/testcases/realtime' > > make[1]: *** [all] Error 2 > > make[1]: Leaving directory `/home/LTP/ltp-dev-20101116/testcases' > > make: *** [testcases-all] Error 2 > > ------------ > > > > The error of the "async_handler.c" by "__sync_add_and_fetch" until > yesterday > > was solved. > > However, a new failure about mutex occurs in another function. > > > > I am investigating about it. > > Perhaps.. perhaps, mutex is supported after kernel version 2.6.16, I > think. > > > > > > This is just a quick note to let you know. > > Lol. Please try again. Thank you for your response. I tried to build with "ltp-66d67b5.tar.gz", but it failed in configure. Therefore, I tried with older git "ltp-92dfd5b.tar.gz", and it succeeded in RHEL5.5-x86 and RHEL4.8-x86 systems. From "ltp-92dfd5b.tar.gz" to "ltp-66d67b5.tar.gz", new probrem occured. New revisions are released in sequence. Therefore I intend to build with the latest version again. Thank you-- -Tomonori Mitani ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-18 0:21 ` Mitani @ 2010-11-18 0:30 ` Garrett Cooper 2010-11-18 1:25 ` Mitani 2010-11-19 7:40 ` Mitani 0 siblings, 2 replies; 13+ messages in thread From: Garrett Cooper @ 2010-11-18 0:30 UTC (permalink / raw) To: Mitani; +Cc: ltp-list > Thank you for your response. > > I tried to build with "ltp-66d67b5.tar.gz", but it failed in configure. > Therefore, I tried with older git "ltp-92dfd5b.tar.gz", and it succeeded > in RHEL5.5-x86 and RHEL4.8-x86 systems. > > From "ltp-92dfd5b.tar.gz" to "ltp-66d67b5.tar.gz", new probrem occured. > > New revisions are released in sequence. Therefore I intend to build > with the latest version again. Huh...? What do you mean failed in configure? Logs please (PS the latest snapshot is different from that)! Thanks, -Garrett ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-18 0:30 ` Garrett Cooper @ 2010-11-18 1:25 ` Mitani 2010-11-19 7:40 ` Mitani 1 sibling, 0 replies; 13+ messages in thread From: Mitani @ 2010-11-18 1:25 UTC (permalink / raw) To: 'Garrett Cooper'; +Cc: ltp-list, 當座 健市 [-- Attachment #1: Type: text/plain, Size: 1235 bytes --] > -----Original Message----- > From: Garrett Cooper [mailto:yanegomi@gmail.com] > Sent: Thursday, November 18, 2010 9:30 AM > To: Mitani > Cc: ltp-list@lists.sourceforge.net > Subject: Re: [LTP] Realtime test failure > > > Thank you for your response. > > > > I tried to build with "ltp-66d67b5.tar.gz", but it failed in configure. > > Therefore, I tried with older git "ltp-92dfd5b.tar.gz", and it succeeded > > in RHEL5.5-x86 and RHEL4.8-x86 systems. > > > > From "ltp-92dfd5b.tar.gz" to "ltp-66d67b5.tar.gz", new probrem occured. > > > > New revisions are released in sequence. Therefore I intend to build > > with the latest version again. > > Huh...? What do you mean failed in configure? Logs please (PS the > latest snapshot is different from that)! > Thanks, > -Garrett I send configure's logs. I tried with "ltp-92dfd5b.tar.gz", "ltp-66d67b5.tar.gz" and "ltp-86209d2.tar.gz". Only "ltp-92dfd5b.tar.gz" succeeded. > the latest snapshot is different from that Yes. latest snapshot is "ltp-86209d2.tar.gz". But it failed, too. I send two logs just in case. - ltp-86209d2_configure.txt --- result of "ltp-86209d2.tar.gz" - ltp-66d67b5_configure.txt --- result of "ltp-66d67b5.tar.gz" Thank you-- -Tomonori Mitani [-- Attachment #2: configure_logs.zip --] [-- Type: application/x-zip-compressed, Size: 3670 bytes --] [-- Attachment #3: Type: text/plain, Size: 369 bytes --] ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev [-- Attachment #4: Type: text/plain, Size: 155 bytes --] _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [LTP] Realtime test failure 2010-11-18 0:30 ` Garrett Cooper 2010-11-18 1:25 ` Mitani @ 2010-11-19 7:40 ` Mitani 1 sibling, 0 replies; 13+ messages in thread From: Mitani @ 2010-11-19 7:40 UTC (permalink / raw) To: 'Garrett Cooper'; +Cc: ltp-list > -----Original Message----- > From: Garrett Cooper [mailto:yanegomi@gmail.com] > Sent: Thursday, November 18, 2010 9:30 AM > To: Mitani > Cc: ltp-list@lists.sourceforge.net > Subject: Re: [LTP] Realtime test failure > > > Thank you for your response. > > > > I tried to build with "ltp-66d67b5.tar.gz", but it failed in > configure. > > Therefore, I tried with older git "ltp-92dfd5b.tar.gz", and it > succeeded > > in RHEL5.5-x86 and RHEL4.8-x86 systems. > > > > From "ltp-92dfd5b.tar.gz" to "ltp-66d67b5.tar.gz", new probrem > occured. > > > > New revisions are released in sequence. Therefore I intend to build > > with the latest version again. > > Huh...? What do you mean failed in configure? Logs please (PS the > latest snapshot is different from that)! > Thanks, > -Garrett "configure" failed with git "ltp-86209d2.tar.gz": ------------ ./configure: line 8228: syntax error near unexpected token `elif' ./configure: line 8228: `elif test "x$has_quotav2" = "xyes"; then' ------------ (Detail log information is in my yesterday's email) Environmants are RHEL5.5/4.8 -- x86/x86_64/ia64. "${LTPROOT}/configure" file of "ltp-86209d2.tar.gz" is following: ------------< RHEL4.8 - x86> [...] 8204 done 8205 8206 cat >conftest.$ac_ext <<_ACEOF 8207 /* confdefs.h. */ 8208 _ACEOF 8209 cat confdefs.h >>conftest.$ac_ext 8210 cat >>conftest.$ac_ext <<_ACEOF 8211 /* end confdefs.h. */ 8212 8213 #define _LINUX_QUOTA_VERSION 2 8214 #include <sys/types.h> 8215 #include <sys/quota.h> 8216 #include <unistd.h> 8217 int main(void) { 8218 struct dqblk dq; 8219 return quotactl(QCMD(Q_GETINFO, USRQUOTA), (const char *) "/dev/null", 8220 geteuid(), (caddr_t) &dq); 8221 } 8222 if test "x$has_quotav1" = "xyes"; then 8223 8224 cat >>confdefs.h <<\_ACEOF 8225 #define HAVE_QUOTAV1 1 8226 _ACEOF 8227 8228 elif test "x$has_quotav2" = "xyes"; then 8229 8230 cat >>confdefs.h <<\_ACEOF 8231 #define HAVE_QUOTAV2 1 8232 _ACEOF 8233 8234 fi 8235 8236 _ACEOF 8237 rm -f conftest.$ac_objext conftest$ac_exeext 8238 if { (ac_try="$ac_link" [...] ------------ The line 8210 (" 8210 cat >>conftest.$ac_ext <<_ACEOF") is the "here document". First "_ACEOF" which appears after this line is the line 8224. But the line 8224 is "here document", too. I think that it is syntax error. In the line 8236, there is "_ACEOF". This "_ACEOF" may be just after line 8221, I think. I tried to execute "configure" after above revision, and it succeeded. After this, "make" and "make install" succeeded, too. Regards-- -Tomonori Mitani ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today http://p.sf.net/sfu/msIE9-sfdev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2010-11-19 7:40 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-15 2:54 [LTP] Realtime test failure Mitani
[not found] ` <AANLkTimGi4v_OHzZAD8BbyGKsuVzpBcokEECezPeTC8e@mail.gmail.com>
2010-11-15 4:58 ` Mitani
2010-11-15 5:20 ` Garrett Cooper
2010-11-15 6:29 ` Mitani
2010-11-15 15:57 ` Garrett Cooper
2010-11-16 8:28 ` Mitani
2010-11-16 17:03 ` Garrett Cooper
2010-11-17 2:59 ` Mitani
2010-11-17 3:17 ` Garrett Cooper
2010-11-18 0:21 ` Mitani
2010-11-18 0:30 ` Garrett Cooper
2010-11-18 1:25 ` Mitani
2010-11-19 7:40 ` Mitani
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox