aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog2
-rw-r--r--gas/doc/c-sparc.texi17
2 files changed, 18 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index c81a39e..5eee5d3 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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,
diff --git a/gas/doc/c-sparc.texi b/gas/doc/c-sparc.texi
index 099c031..a47e8b2 100644
--- a/gas/doc/c-sparc.texi
+++ b/gas/doc/c-sparc.texi
@@ -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}.