Document sparc's %l34 and %h34
authorDavid S. Miller <davem@redhat.com>
Fri, 27 Apr 2012 20:45:23 +0000 (20:45 +0000)
committerDavid S. Miller <davem@redhat.com>
Fri, 27 Apr 2012 20:45:23 +0000 (20:45 +0000)
gas/

* doc/c-sparc.text: Document %l34 and %h34.

gas/ChangeLog
gas/doc/c-sparc.texi

index c81a39e47014a67eab2c140779c417d1b1ea107b..5eee5d3923c58b13cc81489288f0dc5f7b709f9a 100644 (file)
@@ -1,5 +1,7 @@
 2012-04-27  David S. Miller  <davem@davemloft.net>
 
+       * doc/c-sparc.text: Document %l34 and %h34.
+
        * config/tc-sparc.c (v9a_asr_table): Add 'cfr'.
 
        * config/tc-sparc.c (sparc_arch_table): Add HWCAP_PAUSE to sparc4,
index 099c031d2a929cbe726a7438ffe8d1a77174476d..a47e8b2e703bf58d3404b4d6dc3d9d656105847e 100644 (file)
@@ -584,9 +584,24 @@ also be generated using @samp{%ulo}.
 @item
 @code{R_SPARC_M44} is requested using @samp{%m44}.
 @item
-@code{R_SPARC_L44} is requested using @samp{%l44}.
+@code{R_SPARC_L44} is requested using @samp{%l44} or @samp{%l34}.
+@item
+@code{R_SPARC_H34} is requested using @samp{%h34}.
 @end itemize
 
+The @samp{%l34} generates a @code{R_SPARC_L44} relocation because it
+calculates the necessary value, and therefore no explicit
+@code{R_SPARC_L34} relocation needed to be created for this purpose.
+
+The @samp{%h34} and @samp{%l34} relocations are used for the abs34 code
+model.  Here is an example abs34 address generation sequence:
+
+@example
+sethi %h34(symbol), %g1
+sllx  %g1, 2, %g1
+or    %g1, %l34(symbol), %g1
+@end example
+
 The PC relative relocation @code{R_SPARC_PC22} can be obtained by
 enclosing an operand inside of @samp{%pc22}.  Likewise, the
 @code{R_SPARC_PC10} relocation can be obtained using @samp{%pc10}.