64 lines
1.7 KiB
Groff
64 lines
1.7 KiB
Groff
.TH AELFLOD 1 2017-01-18
|
|
.SH NAME
|
|
aelflod \- ACK ELF loader
|
|
.SH SYNOPSIS
|
|
.B aelflod
|
|
[\-a\fInumber\fP] [\-b] [\-h] [\-l] [\-m\fInumber\fP] [\-v]
|
|
inputfile outputfile
|
|
.SH DESCRIPTION
|
|
.I aelflod
|
|
converts an absolute ack.out file into a simple binary memory
|
|
dump wrapped up in an ELF executable.
|
|
It is suitable for producing executables for operating systems
|
|
such as Linux.
|
|
.PP
|
|
.I aelflod
|
|
accepts the following flags:
|
|
.TP
|
|
.BI \-a number
|
|
Set the ABI in the ELF header to \fInumber\fP.
|
|
The default value is \fI3\fP for Linux.
|
|
.TP
|
|
.B \-b
|
|
Write a big-endian ELF file.
|
|
.TP
|
|
.B \-h
|
|
Print a help message and exit.
|
|
.TP
|
|
.B \-l
|
|
Write a little-endian ELF file.
|
|
This is the default.
|
|
.TP
|
|
.BI \-m number
|
|
Set the machine type in the ELF header to \fInumber\fP.
|
|
The default value is \fI3\fP for Intel 386 (i386).
|
|
Other values are \fI4\fP for Motorola 68000 (m68k)
|
|
and \fI20\fP for PowerPC.
|
|
.TP
|
|
.BI \-f number
|
|
Set the processor flags in the ELF header to \fInumber\fP.
|
|
The default value is 0.
|
|
.TP
|
|
.B \-v
|
|
Be verbose.
|
|
.PP
|
|
The input file must contain exactly four segments: TEXT, ROM,
|
|
DATA and BSS, in that order, all occupying contiguous memory.
|
|
The file must have all references resolved and be linked to a
|
|
fixed address.
|
|
The fixed address must be at least 0x54 bytes greater than a
|
|
page boundary, in order to make room for the ELF header itself.
|
|
.PP
|
|
.I aelflod
|
|
will write out an ELF header followed by each segment, in order,
|
|
ensuring that enough padding is inserted between each segment
|
|
to keep the offsets correct.
|
|
The created executable will contain just one ELF segment mapped rwx.
|
|
.PP
|
|
If the input file has symbols, then
|
|
.I aelflod
|
|
will convert the symbol table to ELF.
|
|
The output file has ELF section headers if and only if it has symbols.
|
|
.SH "SEE ALSO"
|
|
ack.out(5)
|