<html lang="en">
<head>
<title>Literal Prefix Directive - 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="Xtensa-Directives.html#Xtensa-Directives" title="Xtensa Directives">
<link rel="prev" href="Literal-Position-Directive.html#Literal-Position-Directive" title="Literal Position Directive">
<link rel="next" href="Absolute-Literals-Directive.html#Absolute-Literals-Directive" title="Absolute Literals Directive">
<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="Literal-Prefix-Directive"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Absolute-Literals-Directive.html#Absolute-Literals-Directive">Absolute Literals Directive</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Literal-Position-Directive.html#Literal-Position-Directive">Literal Position Directive</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Xtensa-Directives.html#Xtensa-Directives">Xtensa Directives</a>
<hr>
</div>

<h5 class="subsubsection">9.42.5.6 literal_prefix</h5>

<p><a name="index-g_t_0040code_007bliteral_005fprefix_007d-directive-2053"></a>
The <code>literal_prefix</code> directive allows you to override the default
literal section names, which are derived from the names of the sections
where the literals are defined.

<pre class="smallexample">         .begin literal_prefix [<var>name</var>]
         .end literal_prefix
</pre>
   <p>For literals defined within the delimited region, the literal section
names are derived from the <var>name</var> argument instead of the name of
the current section.  The rules used to derive the literal section names
do not change.  See <a href="Literal-Directive.html#Literal-Directive">literal</a>.  If the <var>name</var>
argument is omitted, the literal sections revert to the defaults.  This
directive has no effect when using the
&lsquo;<samp><span class="samp">--text-section-literals</span></samp>&rsquo; option (see <a href="Xtensa-Options.html#Xtensa-Options">Command Line Options</a>).

   </body></html>

