summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/go32/README
blob: fa0d3efd291a87dc5e191557b0ebb907291e9564 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#
#  $Id$
#

1.  This is based on djgpp v1.x which has been superceded.  That version
    is still available but is no longer supported.  It would be greatly
    appreciated if someone would update this bsp to the current version.

2.  In general the regular instructions for building a cross GNU toolset
    apply to the i386-go32-rtems toolset.  However, you will need some items
    from the djgpp distribution.  Here is the list of djgpp files we use:

       djeoe112.zip - files required on target PC
       djdev112.zip - libraries and include files required on host

3.  We attempt to minimize what we copy into our built and installed GNU
    toolset from the binary distribution of the GNU tools.  Here is what
    we do by hand.  You will need to localize this to meet your directory
    structure.  All paths are starting at the toolset install point.

    a. Copy go32.h, dpmi.h, dos.h. and pc.h  in the i386-go32-rtems/include
       directory.  These files only include sys/types.h and newlib has that.

    b. copy  crt0.o to i386-go32-rtems/gcc-lib/i386-go32-rtems/2.7.2
    c. copy  libc.a to i386-go32-rtems/gcc-lib/i386-go32-rtems/2.7.2/libcgo32.a
    d. copy  libpc.a to i386-go32-rtems/gcc-lib/i386-go32-rtems/2.7.2/libpc.a

    It is almost a certainty that libcgo32.a and libpc.a have symbols and 
    routines which duplicate those in newlib.  In post 3.6.0 RTEMS versions,
    the --start-group and --end-group GNU ld options are used to group 
    the non-GO32 supplied libraries.  This attempts to resolve every symbolic
    reference from RTEMS specific libraries before getting them from
    GO32 libraries.

4.  This configuration is built on a UNIX host by the RTEMS Team using 
    cross configurations of the tools.  Building it under DOS requires
    special effort.