linux/posix port compiling problem

Wei-Tsun Sun wsun013 at gmail.com
Thu Apr 9 02:47:48 UTC 2009


Joel Sherrill <joel.sherrill at oarcorp.com> wrote:

> Submit the patches and let's move from there.  Which distribution
> and version?
> > Ticker only have 2 tasks active although they both stop at 35 seconds. 
> That sounds like correct behaviour if you ignore the error below.
> 
> > Creation of task 3 returned a error code of
> > 14 (I guess this can be obtained from errno.h:  #define EFAULT 14 /* Bad address */)........
> >
> >   
> No.  The error codes in the Classic API are defined in
> cpukit/rtems/include/rtems/rtems/status.h. 
>   /**
>    *  This is the status to indicate that a thread is in wrong state
>    *  was in the wrong execution state for the requested operation.
>    */
>   RTEMS_INCORRECT_STATE          = 14,
> 
Hi,

The patch is located at:
http://www.ece.auckland.ac.nz/~wsun013/rtems/rtems-linux-posix-20090409.patch

Here are the instructions from what I have been doing:

1. Check out the CVS Head of the RTEMS

2. run ./bootstrap

3. apply the patch, ie cat ../rtems-linux-posix-20090409.patch | patch -p1

4. make a directory outside the rtems, namely build

5. make a directory which to put the bin, ie /cvs/wip/rtems/i386-linux-rtems/rtems-4.10/bin in my case

6. Export PATH, ie Export PATH=/cvs/wip/rtems/i386-linux-rtems/rtems-4.10/bin:$PATH
 
7. Link the tool chain and add i386-linux-rtems4.10 as the prefix to the names or you can use the script from
http://www.ece.auckland.ac.nz/~wsun013/rtems/build-tools-i386-linux-rtems4.10.sh
Note that the directories inside the script are hardcoded

8. configure the RTEMS from the build directory by
../rtems/configure --prefix=/cvs/wip/rtems/i386-linux-rtems/rtems-4.10 --target=i386-linux-rtems4.10 --host=i386-unknown-linux-gnu --build=i386-unknown-linux-gnu --enable-test=samples --disable-rdbg --disable-rtems-debug --enable-itron --enable-posix --enable-networking --enable-cxx 

9. make all

I am using Debian Testing, the libc version 2.9
ii  libc6                                         2.9-4                       GNU C Library: Shared libraries

The info of my gcc:
./i386-linux-rtems4.10-gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.3-3' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.3 (Debian 4.3.3-3)

Some of the resulting sample programs can run fine, eg, hello.exe, ticker.exe only has 2 tasks running. minimum causes segfault.

Let me know if you have any questions.

Wei-Tsun Sun





More information about the users mailing list