atom.1   [plain text]


.TH ATOM 1 "June 14, 1989" "NeXT Computer, Inc."
.SH NAME
atom \- a.out to Mach-O object file converter
.SH SYNOPSIS
.B atom
[ option ] a.out Mach-O
.SH DESCRIPTION
.I Atom
converts the specified 4.3BSD a.out format object file to a Mach-O (Mach object)
format file.  Only ZMAGIC and OMAGIC a.out formats can be converted.  ZMAGIC
formats are converted to the Mach-O demand paged executable file type
(MH_EXECUTE).  OMAGIC formats are converted to the Mach-O relocatable file type
(MH_OBJECT).  The conversion involves adding a Mach-O header and load commands
to the file, changing the types of symbol table entries, changing the symbolnum
of local relocation entries, and converting symbol segments.
.PP
There are currently three options to
\fIatom\fR(1):
.TP
.BI "\-segcreate " "seg sect file"
Create a section, 
.I sect,
in the segment,
.I seg,
that contains the contents of
.I file.
The resulting section size is rounded to a multiple of 4 bytes and the resulting
segment is rounded to a multiple of the page size (8192 bytes).  More than
one section can be created in the same segment.
This is the same as the
.IR ld (1)
\fB-segcreate\fR option.
.TP
.BI \-objc
Create the Objective-C sections for relocatable object files (OMAGIC files).
This has a known bug in converting the local relocation entries.  If a local
relocation entry's item to be relocated is a symbol's value plus an offset it
can be converted to be relative to the wrong section if the value of the
expression is not in the same section as the value of the symbol.  This can't
be fixed because object files lack the information of what symbol's value make
up the expression.  This is done correctly in the assembler when the file is
assembled and a Mach-O file is created.
.TP
.B \-gg
Copy the symsegs created by the
obsolete \fB-gg\fR
option of
.IR cc (1)
into the output.   Symsegs are obsolete, and this is not the default.
.SH "SEE ALSO"
ld(1), otool(1)