blob: 797670db9abe656cc02c3dcfa72805dd348d19d1 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".
Copyright (C) 1991-2013 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
-->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: Linkonce</title>
<meta name="description" content="Using as: Linkonce">
<meta name="keywords" content="Using as: Linkonce">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Pseudo-Ops.html#Pseudo-Ops" rel="up" title="Pseudo Ops">
<link href="List.html#List" rel="next" title="List">
<link href="Line.html#Line" rel="prev" title="Line">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Linkonce"></a>
<div class="header">
<p>
Next: <a href="List.html#List" accesskey="n" rel="next">List</a>, Previous: <a href="Line.html#Line" accesskey="p" rel="prev">Line</a>, Up: <a href="Pseudo-Ops.html#Pseudo-Ops" accesskey="u" rel="up">Pseudo Ops</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="g_t_002elinkonce-_005btype_005d"></a>
<h3 class="section">7.72 <code>.linkonce [<var>type</var>]</code></h3>
<a name="index-COMDAT"></a>
<a name="index-linkonce-directive"></a>
<a name="index-common-sections"></a>
<p>Mark the current section so that the linker only includes a single copy of it.
This may be used to include the same section in several different object files,
but ensure that the linker will only include it once in the final output file.
The <code>.linkonce</code> pseudo-op must be used for each instance of the section.
Duplicate sections are detected based on the section name, so it should be
unique.
</p>
<p>This directive is only supported by a few object file formats; as of this
writing, the only object file format which supports it is the Portable
Executable format used on Windows NT.
</p>
<p>The <var>type</var> argument is optional. If specified, it must be one of the
following strings. For example:
</p><div class="smallexample">
<pre class="smallexample">.linkonce same_size
</pre></div>
<p>Not all types may be supported on all object file formats.
</p>
<dl compact="compact">
<dt><code>discard</code></dt>
<dd><p>Silently discard duplicate sections. This is the default.
</p>
</dd>
<dt><code>one_only</code></dt>
<dd><p>Warn if there are duplicate sections, but still keep only one copy.
</p>
</dd>
<dt><code>same_size</code></dt>
<dd><p>Warn if any of the duplicates have different sizes.
</p>
</dd>
<dt><code>same_contents</code></dt>
<dd><p>Warn if any of the duplicates do not have exactly the same contents.
</p></dd>
</dl>
</body>
</html>