Alistair Crooks (agc@netbsd) -- help welcome. tendra is a multi-targetted BSD-licensed C and C++ compiler. Alistair says: At the moment, it can't handle the RENAME()s in NetBSD's header files, and I build things in a ${WRKSRC}/build directory, and these files need to be moved to ${PREFIX} in the install stage. The files should also be checked to see if there are any embedded hardcoded paths, which would make this approach infeasible.
168 lines
8.9 KiB
Text
168 lines
8.9 KiB
Text
$NetBSD: patch-aj,v 1.1.1.1 2003/04/29 09:22:28 thomasklausner Exp $
|
|
|
|
--- /dev/null 2003-04-28 11:20:53.000000000 +0100
|
|
+++ src/installers/80x86/netbsd/trans.1 2003-04-28 11:14:17.000000000 +0100
|
|
@@ -0,0 +1,163 @@
|
|
+.\" Crown Copyright (c) 1997
|
|
+.\"
|
|
+.\" This TenDRA(r) Manual Page is subject to Copyright
|
|
+.\" owned by the United Kingdom Secretary of State for Defence
|
|
+.\" acting through the Defence Evaluation and Research Agency
|
|
+.\" (DERA). It is made available to Recipients with a
|
|
+.\" royalty-free licence for its use, reproduction, transfer
|
|
+.\" to other parties and amendment for any purpose not excluding
|
|
+.\" product development provided that any such use et cetera
|
|
+.\" shall be deemed to be acceptance of the following conditions:-
|
|
+.\"
|
|
+.\" (1) Its Recipients shall ensure that this Notice is
|
|
+.\" reproduced upon any copies or amended versions of it;
|
|
+.\"
|
|
+.\" (2) Any amended version of it shall be clearly marked to
|
|
+.\" show both the nature of and the organisation responsible
|
|
+.\" for the relevant amendment or amendments;
|
|
+.\"
|
|
+.\" (3) Its onward transfer from a recipient to another
|
|
+.\" party shall be deemed to be that party's acceptance of
|
|
+.\" these conditions;
|
|
+.\"
|
|
+.\" (4) DERA gives no warranty or assurance as to its
|
|
+.\" quality or suitability for any purpose and DERA accepts
|
|
+.\" no liability whatsoever in relation to any use to which
|
|
+.\" it may be put.
|
|
+.\"
|
|
+.TH trans386 1
|
|
+.SH NAME
|
|
+trans386 \- Translator for 80386, 80486 and Pentium
|
|
+.SH SYNOPSIS
|
|
+\fBtrans386\fR [ \fIoptions\fR ] \fIinput-file\fR \fIoutput-file\fR
|
|
+.\" ----------------------------------------------------------------------
|
|
+.SH DESCRIPTION
|
|
+The code production portion of the TDF compiler is under the control of
|
|
+a TDF translator, which translates a TDF capsule into an assembly source
|
|
+file. There are separate TDF translators for each target architecture.
|
|
+This manual page describes the installer for the 80x86 architecture.
|
|
+.PP
|
|
+The basic action of the TDF translator, \fBtrans386\fR, is to
|
|
+translate a TDF capsule, \fIinput-file\fR, into an assembly source
|
|
+file, \fIoutput-file\fR.
|
|
+.PP
|
|
+It is recommended that \fBtrans386\fR should not be invoked directly, but via the
|
|
+user interface \fItcc\fR(1). The option \fB-\fIopt\fR can be passed
|
|
+to \fBtrans386\fR by passing the option \fB-Wt, -\fIopt\fR to \fItcc\fR(1).
|
|
+.\" ----------------------------------------------------------------------
|
|
+.SH OPTIONS
|
|
+The options denoted by a capital letter are common to the TDF installers
|
|
+for all the architectures. The options denoted by a lower case letter are
|
|
+specific to the 80x86. \fIswitch\fR stands for either \fB0\fR, to switch
|
|
+an option off, or \fB1\fR, to switch it on. The default states described
|
|
+here may be different on other translators.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-A\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should inline calls to
|
|
+\fIalloca\fR. This is done by default.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-B\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should report floating point
|
|
+constants which exceed their range. This is always done by default.
|
|
+If this option is switched off such constants are replaced by infinity.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-C\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should apply the "constants
|
|
+out of loops" optimisation. This optimisation is performed by default.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-D\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should produce Position
|
|
+Independent Code (PIC). This is not done by default. This option is not
|
|
+supported on the SCO, FreeBSD or NetBSD platforms, and on the Linux platform it is
|
|
+supported only for ELF binary format.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-E\fR
|
|
+This option disables \fBtrans386\fR's constant overflow checks.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-F\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should apply the "strength
|
|
+reduction" optimisation. This optimisation is performed by default.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-H\fR
|
|
+This option causes \fBtrans386\fR to output debugging information in its
|
|
+output file. This will only work if the input TDF capsule contains
|
|
+debugging information. On the SCO platform the format used by \fBdbxtra\fR
|
|
+and \fBcodeview\fR is supported. On the SVR4.2 platform Dwarf 1 is supported,
|
|
+which is used by \fBdebug\fR. On the Solaris, FreeBSD, NetBSD and Linux platforms,
|
|
+\fBstabs\fR is supported. The GNU debugger \fBgdb\fR may be used on all
|
|
+platforms.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-I\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should apply the "inlining"
|
|
+optimisation. This optimisation is performed by default.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-K\fIstr\fR
|
|
+Causes \fBtrans386\fR to optimise its code for a particular processor
|
|
+model, determined by \fIstr\fR. The available values of \fIstr\fR are
|
|
+3 for the 80386, 4 for the 80486 (the default) and 5 for the Pentium.
|
|
+So \fB-K3\fR means optimise for the 80386 etc.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-M\fIswitch\fR
|
|
+If this option is on, \fBtrans386\fR preserves division by a
|
|
+floating point number rather than replacing it by multiplication by
|
|
+the reciprocal of the number. While the latter produces faster code,
|
|
+it may lead to rounding errors. By default, division by constants is
|
|
+preserved.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-P\fR
|
|
+This option causes \fBtrans386\fR to output profiling information suitable
|
|
+for use with \fIprof\fR(1) or a similar tool (see individual manual
|
|
+pages for details). This option is currently not supported on the Solaris platform.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-Q\fR
|
|
+This option causes \fBtrans386\fR to quit before processing its input
|
|
+files. This is particularly useful in conjunction with \fB-V\fR.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-R\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should immediately round every
|
|
+floating point operation to its appropriate range. This produces slower
|
|
+code, but is necessary for strict IEEE conformance. The default is not
|
|
+to round after every operation.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-U\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should apply the "loop
|
|
+unrolling" optimisation. This optimisation is performed by default.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-V\fR
|
|
+This option causes \fBtrans386\fR to print its version number and the
|
|
+version of the TDF specification it supports.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-W\fIswitch\fR
|
|
+This option determines whether \fBtrans386\fR should make string literals
|
|
+writable. At present the C producer does not make use of this
|
|
+facility, so strings are writable.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-X\fR
|
|
+This option disables all optimisations. All \fBtrans386\fR's optimisations
|
|
+are believed to be valid, so that any error in optimisation is a genuine
|
|
+bug.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-Z\fR
|
|
+This option causes \fBtrans386\fR to print the version number of all the
|
|
+TDF capsules it decodes.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-a\fR
|
|
+Always use a frame pointer. The default is to avoid using a frame pointer
|
|
+whenever possible. The default results in better performance, but
|
|
+in special cases where the stack is to be processed it may be necessary to
|
|
+enforce the use of a frame pointer.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-h\fR
|
|
+Do not use the .bss segment, always put data into the .data segment even
|
|
+if it is zero. This should very rarely be needed. The default is to use
|
|
+the .bss segment.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.IP \fB-k\fIswitch\fR
|
|
+This option is applicable to Linux platforms only. If this option is on,
|
|
+\fBtrans386\fR will produce output for an ELF binary format assembler, otherwise
|
|
+a.out binary format is assumed. By default this option is on, as appropriate for
|
|
+later versions of Linux.
|
|
+.\" ----------------------------------------------------------------------
|
|
+.SH SEE ALSO
|
|
+\fIas\fR(1),\fIprof\fR(1), \fItcc\fR(1).
|
|
+.\" ----------------------------------------------------------------------
|