Retro68/elf2flt
Wolfgang Thaller 012f491d4e deal with odd-address errors:
handle non-aligned relocations
make sure .init/.fini sections are aligned
2012-04-03 10:57:27 +02:00
..
CVS add elf2flt from CVS 2012-03-27 23:31:44 +02:00
.gitignore add elf2flt from CVS 2012-03-27 23:31:44 +02:00
.ld-elf2flt.c.swp add elf2flt from CVS 2012-03-27 23:31:44 +02:00
compress.c add elf2flt from CVS 2012-03-27 23:31:44 +02:00
compress.h add elf2flt from CVS 2012-03-27 23:31:44 +02:00
config.guess add elf2flt from CVS 2012-03-27 23:31:44 +02:00
config.sub add elf2flt from CVS 2012-03-27 23:31:44 +02:00
configure add elf2flt from CVS 2012-03-27 23:31:44 +02:00
configure.in add elf2flt from CVS 2012-03-27 23:31:44 +02:00
cygwin-elf.h add elf2flt from CVS 2012-03-27 23:31:44 +02:00
e1-elf2flt.ld add elf2flt from CVS 2012-03-27 23:31:44 +02:00
elf2flt.c add elf2flt from CVS 2012-03-27 23:31:44 +02:00
elf2flt.ld.in deal with odd-address errors: 2012-04-03 10:57:27 +02:00
flat.h add elf2flt from CVS 2012-03-27 23:31:44 +02:00
flthdr.c add elf2flt from CVS 2012-03-27 23:31:44 +02:00
install-sh add elf2flt from CVS 2012-03-27 23:31:44 +02:00
ld-elf2flt.c elf2flt: remove unused nonexistent include <filesystem.h> 2012-03-29 10:27:23 +02:00
ld-elf2flt.in add elf2flt from CVS 2012-03-27 23:31:44 +02:00
LICENSE.TXT add elf2flt from CVS 2012-03-27 23:31:44 +02:00
Makefile.in add elf2flt from CVS 2012-03-27 23:31:44 +02:00
README add elf2flt from CVS 2012-03-27 23:31:44 +02:00
stubs.c add elf2flt from CVS 2012-03-27 23:31:44 +02:00
stubs.h add elf2flt from CVS 2012-03-27 23:31:44 +02:00

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, SuperH, and Blackfin.

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