From: David S. Miller Date: Fri, 27 Apr 2012 20:45:23 +0000 (+0000) Subject: Document sparc's %l34 and %h34 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2755f698e14dabda211bc592a414ee21e0421a2d;p=binutils-gdb.git Document sparc's %l34 and %h34 gas/ * doc/c-sparc.text: Document %l34 and %h34. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index c81a39e4701..5eee5d3923c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,7 @@ 2012-04-27 David S. Miller + * 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 099c031d2a9..a47e8b2e703 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}.