<html lang="en">
<head>
<title>Global - 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="Func.html#Func" title="Func">
<link rel="next" href="Gnu_005fattribute.html#Gnu_005fattribute" title="Gnu_attribute">
<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="Global"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Gnu_005fattribute.html#Gnu_005fattribute">Gnu_attribute</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Func.html#Func">Func</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo-Ops">Pseudo Ops</a>
<hr>
</div>

<h3 class="section">7.55 <code>.global </code><var>symbol</var>, <code>.globl </code><var>symbol</var></h3>

<p><a name="index-g_t_0040code_007bglobal_007d-directive-337"></a><a name="index-symbol_002c-making-visible-to-linker-338"></a><code>.global</code> makes the symbol visible to <code>ld</code>.  If you define
<var>symbol</var> in your partial program, its value is made available to
other partial programs that are linked with it.  Otherwise,
<var>symbol</var> takes its attributes from a symbol of the same name
from another file linked into the same program.

   <p>Both spellings (&lsquo;<samp><span class="samp">.globl</span></samp>&rsquo; and &lsquo;<samp><span class="samp">.global</span></samp>&rsquo;) are accepted, for
compatibility with other assemblers.

   <p>On the HPPA, <code>.global</code> is not always enough to make it accessible to other
partial programs.  You may need the HPPA-only <code>.EXPORT</code> directive as well. 
See <a href="HPPA-Directives.html#HPPA-Directives">HPPA Assembler Directives</a>.

   </body></html>

