summaryrefslogtreecommitdiffstats
path: root/toolchain/elf2flt/elf2flt/README
blob: 6e8a687e105aab1b5ec6843b2b0ca69c7cf9b6f7 (plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

README - elf2flt
----------------

Copyright (C) 2001-2003, SnapGear (www.snapgear.com)
davidm@snapgear.com
gerg@snapgear.com

This is Free Software, under the GNU Public Licence v2 or greater.  See
LICENSE.TXT for more details.

Elf2flt with PIC, ZFLAT and full reloc support. Currently supported
targets include: m68k/ColdFire, ARM, Sparc, NEC v850, MicroBlaze, 
h8300 and SuperH.

COMPILING:

You need an appropriate libbfd.a and libiberty.a for your target to 
build this tool. They are normally part of the binutils package.

To compile elf2flt do:

    ./configure --target=<ARCH> --with-libbfd=<libbfd.a> --with-libiberty=<libiberty.a>
    make
    make install

The <ARCH> argument to configure specifies what the target architecture is.
This should be the same target as you used to build the binutils and gcc
cross development tools. The --with-libbfd and --with-libiberty arguments
specify where the libbfd.a and libiberty.a library files are to use.


FILES:

README      - this file
configure   - autoconf configuration shell script
configure.in- original autoconf file
config.*    - autoconf support scripts
Makefile.in - Makefile template used by configure
elf2flt.c   - the source
flthdr.c    - flat header manipulation program
flat.h      - header from uClinux kernel sources
elf2flt.ld  - an example linker script that works for C/C++ and uClinux
ld-elf2flt  - A linker replacement that implements a -elf2flt option for the
              linker and runs elf2flt automatically for you.  It auto
              detects PIC/non-PIC code and adjusts its option accordingly.
              It uses the environment variable FLTFLAGS when running
              elf2flt.  It runs /.../m68k-elf-ld.real to do the actual
              linking.

TIPS:

The ld-elf2flt produces 2 files as output.  The binary flat file X, and
X.gdb which is used for debugging and PIC purposes.

The '-p' option requires an elf executable linked at address 0.  The
elf2flt.ld provided will generate the correct format binary when linked
with the real linker with *no* '-r' option for the linker.

The '-r' flag can be added to PIC builds to get contiguous code/data.  This
is good for loading application symbols into gdb (add-symbol-file XXX.gdb).