All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Mitani" <mitani@ryobi.co.jp>
To: 'Garrett Cooper' <yanegomi@gmail.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] Realtime test failure
Date: Mon, 15 Nov 2010 15:29:45 +0900	[thread overview]
Message-ID: <001501cb848e$7e894960$7b9bdc20$@co.jp> (raw)
In-Reply-To: <AANLkTim3wqv3fS8Sg9TNvZ=nDuXGcTB4GmPcH4d9pEee@mail.gmail.com>



> -----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

  reply	other threads:[~2010-11-15  6:29 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001501cb848e$7e894960$7b9bdc20$@co.jp' \
    --to=mitani@ryobi.co.jp \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=yanegomi@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.