<html lang="en">
<head>
<title>Symver - 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="SubSection.html#SubSection" title="SubSection">
<link rel="next" href="Tag.html#Tag" title="Tag">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".

Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010 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>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Symver"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Tag.html#Tag">Tag</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="SubSection.html#SubSection">SubSection</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo-Ops">Pseudo Ops</a>
<hr>
</div>

<h3 class="section">7.108 <code>.symver</code></h3>

<p><a name="index-g_t_0040code_007bsymver_007d-directive-475"></a><a name="index-symbol-versioning-476"></a><a name="index-versions-of-symbols-477"></a>Use the <code>.symver</code> directive to bind symbols to specific version nodes
within a source file.  This is only supported on ELF platforms, and is
typically used when assembling files to be linked into a shared library. 
There are cases where it may make sense to use this in objects to be bound
into an application itself so as to override a versioned symbol from a
shared library.

   <p>For ELF targets, the <code>.symver</code> directive can be used like this:
<pre class="smallexample">     .symver <var>name</var>, <var>name2@nodename</var>
</pre>
   <p>If the symbol <var>name</var> is defined within the file
being assembled, the <code>.symver</code> directive effectively creates a symbol
alias with the name <var>name2@nodename</var>, and in fact the main reason that we
just don't try and create a regular alias is that the <var>@</var> character isn't
permitted in symbol names.  The <var>name2</var> part of the name is the actual name
of the symbol by which it will be externally referenced.  The name <var>name</var>
itself is merely a name of convenience that is used so that it is possible to
have definitions for multiple versions of a function within a single source
file, and so that the compiler can unambiguously know which version of a
function is being mentioned.  The <var>nodename</var> portion of the alias should be
the name of a node specified in the version script supplied to the linker when
building a shared library.  If you are attempting to override a versioned
symbol from a shared library, then <var>nodename</var> should correspond to the
nodename of the symbol you are trying to override.

   <p>If the symbol <var>name</var> is not defined within the file being assembled, all
references to <var>name</var> will be changed to <var>name2@nodename</var>.  If no
reference to <var>name</var> is made, <var>name2@nodename</var> will be removed from the
symbol table.

   <p>Another usage of the <code>.symver</code> directive is:
<pre class="smallexample">     .symver <var>name</var>, <var>name2@@nodename</var>
</pre>
   <p>In this case, the symbol <var>name</var> must exist and be defined within
the file being assembled. It is similar to <var>name2@nodename</var>. The
difference is <var>name2@@nodename</var> will also be used to resolve
references to <var>name2</var> by the linker.

   <p>The third usage of the <code>.symver</code> directive is:
<pre class="smallexample">     .symver <var>name</var>, <var>name2@@@nodename</var>
</pre>
   <p>When <var>name</var> is not defined within the
file being assembled, it is treated as <var>name2@nodename</var>. When
<var>name</var> is defined within the file being assembled, the symbol
name, <var>name</var>, will be changed to <var>name2@@nodename</var>.

   </body></html>

