// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

/*

8l is the linker for the 32-bit x86.
The $GOARCH for these tools is 386.

The flags are documented in ../ld/doc.go.

*/
package documentation
