toolchain/share/doc/as.html/Linkonce.html

79 lines
3.3 KiB
HTML

<html lang="en">
<head>
<title>Linkonce - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Pseudo-Ops.html#Pseudo-Ops" title="Pseudo Ops">
<link rel="prev" href="Line.html#Line" title="Line">
<link rel="next" href="List.html#List" title="List">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991-2019 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''.
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Linkonce"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="List.html#List">List</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Line.html#Line">Line</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo-Ops">Pseudo Ops</a>
<hr>
</div>
<h3 class="section">7.54 <code>.linkonce [</code><var>type</var><code>]</code></h3>
<p><a name="index-COMDAT-395"></a><a name="index-g_t_0040code_007blinkonce_007d-directive-396"></a><a name="index-common-sections-397"></a>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>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>The <var>type</var> argument is optional. If specified, it must be one of the
following strings. For example:
<pre class="smallexample"> .linkonce same_size
</pre>
<p>Not all types may be supported on all object file formats.
<dl>
<dt><code>discard</code><dd>Silently discard duplicate sections. This is the default.
<br><dt><code>one_only</code><dd>Warn if there are duplicate sections, but still keep only one copy.
<br><dt><code>same_size</code><dd>Warn if any of the duplicates have different sizes.
<br><dt><code>same_contents</code><dd>Warn if any of the duplicates do not have exactly the same contents.
</dl>
</body></html>