.TH "BINUTILS-CONFIG" "8" "Jan 2005" "Gentoo" "Gentoo"
.SH "NAME"
binutils-config \- manage active versions of the binutils programs
.SH "DESCRIPTION"
The \fBbinutils-config\fR script allows you to switch between different 
versions of binutils when you have installed multiple copies (see
USE=multislot).  It also allows you to manage multiple cross-compiling
targets simultaneously.

Remember, you may have one version of binutils active per \fICTARGET\fR,
and changing the version for one target has no bearing on any other.  So
changing an active cross-compiler will not break your native compiler
(i.e. \fICHOST\fR).
.SH "SYNOPSIS"
\fBbinutils-config\fR [\fIcrufty options\fR] \fIPROFILE\fR

\fBbinutils-config\fR \fB--get-current-profile\fR \fI[TARGET]\fR

\fBbinutils-config\fR \fB--list-profiles\fR

\fBbinutils-config\fR \fB--uninstall\fR \fITARGET\fR
.SH "GENERIC OPTIONS"
.TP
\fBPROFILE\fR
Change the system to use the specified binutils version.  This may take the
form of the list index number (the number shown on the left in the
\fB\-\-list\-profiles\fR output), a full \fITARGET-VERSION\fR (useful when
working with cross-compilers), just a \fITARGET\fR where the \fIVERSION\fR
is picked from the active, or just a binutils \fIVERSION\fR where the
\fITARGET\fR is assumed to be the native \fIHOST\fR value.
.TP
\fBTARGET\fR
Similiar to \fBPROFILE\fR, but this is only the target and no version info
(i.e. \fICTARGET\fR or \fICHOST\fR).
.TP
\fB\-c\fR, \fB\-\-get\-current\-profile\fR \fI[TARGET]\fR
Display the active profile for \fITARGET\fR.  If none is specified, the 
host system's \fITARGET\fR will be shown (i.e. \fICHOST\fR).
.TP
\fB\-l\fR, \fB\-\-list\-profiles\fR
Show all the profiles that your system currently has installed and what
versions are active.  The active native version is noted with a bright green
asterisk while the active cross-compiler versions are noted with a light blue
asterisk.
.TP
\fB-u\fR, \fB\-\-uninstall\fR \fITARGET\fR
This is really for internal use only.  Used to remove all traces of the 
\fITARGET\fR binutils from your system.
.SH "CRUFTY OPTIONS"
.TP
\fB\-\-gold\fR
Change the default linker for the specified \fIPROFILE\fR to the [newer] gold
linker.  This only works if the binutils actually supports gold.  Note that
not all options supported by the bfd linker are supportd by the gold linker.
.TP
\fB\-\-bfd\fR
Change the default linker for the specified \fIPROFILE\fR to the [older but
stable] bfd linker.  If unsure, stick to this one.
.TP
\fB\-\-amd64\fR
A nice feature of the amd64/x86 toolchain is that each can produce code for 
other.  The typical user could care less, but some may want to be able to 
cross-compile for an amd64 on a x86 system.  This will install the extra 
symlinks ('x86_64') to facilitate this process.
.TP
\fB\-\-arm\fR
The arm architecture comes in both big and little endian versions.  Typically 
you only need support for the native target, but sometimes it's helpful to 
have links for the other endian target.  This will make sure you have both the 
big endian target ('armeb') and the little endian target ('arm').
.TP
\fB\-\-mips\fR
The mips architecture (like arm) comes in both big and little endian versions.  
Typically you only need support for the native target, but sometimes it's 
helpful to have links for the other endian target.  This will make sure you 
have both the big endian target ('mips') and the little endian target 
('mipsel').
.TP
\fB\-\-x86\fR
One oddity of the x86 toolchain is that they may be named 'i386', or 'i486', 
or 'i586', or 'i686', yet still produce the same exact code.  When dealing 
with distcc systems that are mixed (some i586 and some i686), you will need 
symlinks for all these targets.  This option will install those extra targets.
.SH "REPORTING BUGS"
Please report bugs via http://bugs.gentoo.org/
.SH "SEE ALSO"
.BR ar (1),
.BR as (1),
.BR ld (1),
.BR nm (1),
.BR objcopy (1),
.BR ranlib (1),
.BR readelf (1),
.BR strings (1),
.BR strip (1)
.SH "FILES"
.nf
.BR /usr/bin/binutils-config
.BR /etc/env.d/binutils/*
.fi
.SH "AUTHORS"
Mike Frysinger <vapier@gentoo.org>
