tinlink 1.0.0

Warning
=======

This program is used to create elf programs for i386 architecture
under Linux. In all other cases, it might not work.

  Even under Linux, it is very possible that it does not work.
I know it to work under the 2.2.1 kernel.

  I can't be held liable for any damage this program could generate.

What is it ?
============

  This tool takes a binary file (that is code, produced by "nasm -f bin"
for example (or if you like to write hexa-code, have fun too !)) and
transforms it in small elf, so Linux can load it and run it.

  The tool does not really respect the elf format, to have a small
executable. There is no section, only the elf header and one program
header.

  The elf header and the program header overlaps on two bytes, the elf
header misses 8 bytes and the program header misses 2 ! So, if it does
not work on your box, you know why ! It works under Linux 2.2.1 (my box).

How to use
==========

  Go read example.asm to understand something. You should create
an asm file that looks almost the same. You can change the "org" stuff,
but you'll have to change the default value given with tinlink (option
-s).

  After nasming you asm file (nasm -f bin <your file>), you run tinlink
on it, and you have a small executable (the smallest elf possible, I
think, but not a real one, for example, gdb or objdump won't like it).

  You can put data in there, auto-modifying code, because you'll have
a segment mapped read/write/exe.

  If you need memory (for tables or stuff like that set up at runtime),
you'll have to increase the size of the binary in memory with option
-m of tinlink. Note that it won't change the size of the binary itself.
You'll just set a variable in the elf header that will inform the loader
to put a bigger segment than the size of the file. Very efficient malloc,
nope ?

  The primary purpose of this tool is to create 4Ko intro under Linux.
If you don't know what's all this about, well, tinlink is probably not
for you.

Hi flies to the Linux scene. You know who you are. Let's make this scene
great ! with the free spirit of Linux !

May the penguin be with you.

Sed - Wed Aug 25 23:15:17 MET DST 1999
