This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: How to build linux-x-go32 environment with RTEMS support?


> 
> I want to build a linux to go32 cross environment with RTEMS support
> to test the RTEMS program on a PC. I've read all documents I could find
> and tried all methods I could think of, but because of my ignorance, I
> completely failed.
> 
> The problem is, I can build a linux to go32 cross compiler and related
> tools, but I can't add the RTEMS support parts.
> 
> The host is a Linux 2.0.30 (Slackware 3.4), here's what I did:
> 
> $ pwd
> /home/tanph
> $
> $ tar xzf misc/binutils-2.8.1.0.1.tar.gz
> $ tar xzf misc/gcc-2.7.2.1.tar.gz
> $ cd gcc-2.7.2.1
> $ patch -p1 <../misc/crossgcc/crossgcc-gcc-2.7.2.1.patch
> $ cd ..
> $ tar xzf misc/newlib-1.8.0.tar.gz
> 
> I downloaded 3 newlib: newlib-1.8.0, newlib-1.7.0-rtems
> and newlib-1.7.0-posix-rtems-3.6.0, but I don't know
> which one to use really, which one should I use?

   We used newlib-1.7.0-posix-rtems-3.6.0 for a mvme136 RTEMS target.
Also we used binutils-2.7. The host is a Linux Redhat 4.2.

> $ tar xzf misc/rtems-3.6.0.tar.gz
> $
> $ host=i586-pc-linux
> $ target=i386-go32
> $ prefix=/home/tanph/cross-devel
> $ i=$prefix/bin
> $ mkdir build-binutils build-gcc build-newlib
> $ cd build-binutils
> $ ../binutils-2.8.1.0.1/configure --host=$host --target=$target
>   --prefix=$prefix -v
> $ make all install
> $ cd ../build-gcc
> $ ../gcc-2.7.2.1/configure --host=$host --target=$target
>   --prefix=$prefix -v
> $ make all install
> $ cd ../build-newlib
> $ ../newlib-1.8.0/configre --host=$host --target=i386-go32-rtems
>   --prefix=$prefix -v
> $ make all install CC_FOR_TARGET=$i/${target}-gcc
>                    AS_FOR_TARGET=$i/${target}-as
>                    LD_FOR_TARGET=$i/${target}-ld
>                    AR_FOR_TARGET=$i/${target}-ar
>                    RANLIB_FOR_TARGET=$/${target}-ranlib
> 
> This make process produces many syntax errors, after I modified
> the source files, it passed finally, but the tools and libs and
> includes are not in the same directory tree. It caused me many
> trouble when I use the just compiled tools and newlib to compile
> the rtems-3.6.0, such as syntax errors, missing crt0, unresolved
> symbols etc.
> 
> What's wrong anyway? All opinions are appreciated.
> 
> Best regards,
>  Tan Pinghui                         mailto:tanph@bj.col.com.cn
> 

   To compile rtems-3.6.0 you must modify files an set enviroment
variables such as:

rtems-3.6.0/c/make/compilers/gcc-mvme136.cfg
rtems-3.6.0/c/make/custom/mvme136.cfg
rtems-3.6.0/c/make/os/Linux-2.0.cfg
rtems-3.6.0/c/src/lib/libbsp/m68k/mvme136/startup/linkcmds

RTEMS_HOST
RTEMS_LIBC_DIR
RTEMS_ROOT
RTEMS_BSP
RTEMS_GNUTOOLS_HOST
RTEMS_HOME
RTEMS_GNUTOOLS
RTEMS_CUSTOM
RTEMS_HAS_POSIX_API

    I can send you a draft of a guide for installing RTEMS targeted to
mvme136 and hosted in a Linux, but it is written in spanish. Anyway,
if you want it let me know.

    Good luck

    Juan