From 86aba9dbfa7eb9bf07dd611c85e3cff31ebaa740 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 29 Aug 2002 06:49:35 +0000 Subject: Add linker relaxation to v850 toolchain --- gas/doc/c-v850.texi | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'gas/doc') diff --git a/gas/doc/c-v850.texi b/gas/doc/c-v850.texi index 4b36461..f67ad5c 100644 --- a/gas/doc/c-v850.texi +++ b/gas/doc/c-v850.texi @@ -62,6 +62,14 @@ routines used by the code produced by GCC for all versions of the v850 architecture, together with support routines only used by the V850E architecture. +@cindex @code{-mrelax} command line option, V850 +@item -mrelax +Enables relaxation. This allows the .longcall and .longjump pseudo +ops to be used in the assembler source code. These ops label sections +of code which are either a long function call or a long branch. The +assembler will then flag these sections of code and the linker will +attempt to relax them. + @end table @@ -354,10 +362,23 @@ example: will put the call the function whoes address is held in the call table at the location labeled 'table_func1'. +@cindex @code{longcall} pseudo-op, V850 +@item .longcall @code{name} +Indicates that the following sequence of instructions is a long call +to function @code{name}. The linker will attempt to shorten this call +sequence if @code{name} is within a 22bit offset of the call. Only +valid if the @code{-mrelax} command line switch has been enabled. + +@cindex @code{longjump} pseudo-op, V850 +@item .longjump @code{name} +Indicates that the following sequence of instructions is a long jump +to label @code{name}. The linker will attempt to shorten this code +sequence if @code{name} is within a 22bit offset of the jump. Only +valid if the @code{-mrelax} command line switch has been enabled. + @end table For information on the V850 instruction set, see @cite{V850 Family 32-/16-Bit single-Chip Microcontroller Architecture Manual} from NEC. Ltd. - -- cgit v1.1