1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<!-- This file documents the GNU Assembler "as".
4
5Copyright (C) 1991-2021 Free Software Foundation, Inc.
6
7Permission is granted to copy, distribute and/or modify this document
8under the terms of the GNU Free Documentation License, Version 1.3
9or any later version published by the Free Software Foundation;
10with no Invariant Sections, with no Front-Cover Texts, and with no
11Back-Cover Texts.  A copy of the license is included in the
12section entitled "GNU Free Documentation License".
13 -->
14<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
15<head>
16<title>Using as: Weakref</title>
17
18<meta name="description" content="Using as: Weakref">
19<meta name="keywords" content="Using as: Weakref">
20<meta name="resource-type" content="document">
21<meta name="distribution" content="global">
22<meta name="Generator" content="makeinfo">
23<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
24<link href="index.html#Top" rel="start" title="Top">
25<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
26<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
27<link href="Pseudo-Ops.html#Pseudo-Ops" rel="up" title="Pseudo Ops">
28<link href="Word.html#Word" rel="next" title="Word">
29<link href="Weak.html#Weak" rel="previous" title="Weak">
30<style type="text/css">
31<!--
32a.summary-letter {text-decoration: none}
33blockquote.smallquotation {font-size: smaller}
34div.display {margin-left: 3.2em}
35div.example {margin-left: 3.2em}
36div.indentedblock {margin-left: 3.2em}
37div.lisp {margin-left: 3.2em}
38div.smalldisplay {margin-left: 3.2em}
39div.smallexample {margin-left: 3.2em}
40div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
41div.smalllisp {margin-left: 3.2em}
42kbd {font-style:oblique}
43pre.display {font-family: inherit}
44pre.format {font-family: inherit}
45pre.menu-comment {font-family: serif}
46pre.menu-preformatted {font-family: serif}
47pre.smalldisplay {font-family: inherit; font-size: smaller}
48pre.smallexample {font-size: smaller}
49pre.smallformat {font-family: inherit; font-size: smaller}
50pre.smalllisp {font-size: smaller}
51span.nocodebreak {white-space:nowrap}
52span.nolinebreak {white-space:nowrap}
53span.roman {font-family:serif; font-weight:normal}
54span.sansserif {font-family:sans-serif; font-weight:normal}
55ul.no-bullet {list-style: none}
56-->
57</style>
58
59
60</head>
61
62<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
63<a name="Weakref"></a>
64<div class="header">
65<p>
66Next: <a href="Word.html#Word" accesskey="n" rel="next">Word</a>, Previous: <a href="Weak.html#Weak" accesskey="p" rel="previous">Weak</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>
67</div>
68<hr>
69<a name="g_t_002eweakref-alias_002c-target"></a>
70<h3 class="section">7.109 <code>.weakref <var>alias</var>, <var>target</var></code></h3>
71
72<a name="index-weakref-directive"></a>
73<p>This directive creates an alias to the target symbol that enables the symbol to
74be referenced with weak-symbol semantics, but without actually making it weak.
75If direct references or definitions of the symbol are present, then the symbol
76will not be weak, but if all references to it are through weak references, the
77symbol will be marked as weak in the symbol table.
78</p>
79<p>The effect is equivalent to moving all references to the alias to a separate
80assembly source file, renaming the alias to the symbol in it, declaring the
81symbol as weak there, and running a reloadable link to merge the object files
82resulting from the assembly of the new source file and the old source file that
83had the references to the alias removed.
84</p>
85<p>The alias itself never makes to the symbol table, and is entirely handled
86within the assembler.
87</p>
88
89
90
91</body>
92</html>
93