This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH] Add support for ARM AAPCS R_ARM_V4BX relocation type
- From: Julian Brown <julian at codesourcery dot com>
- To: Ian Lance Taylor <ian at airs dot com>
- Cc: binutils at sources dot redhat dot com
- Date: Fri, 28 Jan 2005 16:26:49 +0000
- Subject: Re: [PATCH] Add support for ARM AAPCS R_ARM_V4BX relocation type
- References: <41FA5907.6020505@codesourcery.com> <m3sm4lpnx1.fsf@gossamer.airs.com>
Ian Lance Taylor wrote:
This option should be documented in ld.texinfo, and the new option
should be mentioned in ld/NEWS.
Is this ok?
--
Julian Brown
CodeSourcery, LLC
? bfd/doc/bfd.info
? bfd/doc/bfd.info-1
? gas/doc/as.info
? gas/doc/as.info-1
Index: ld/NEWS
===================================================================
RCS file: /cvs/src/src/ld/NEWS,v
retrieving revision 1.57
diff -c -p -r1.57 NEWS
*** ld/NEWS 21 Jan 2005 12:04:25 -0000 1.57
--- ld/NEWS 28 Jan 2005 16:22:31 -0000
***************
*** 1,5 ****
--- 1,8 ----
-*- text -*-
+ * Support for the R_ARM_V4BX relocation as defined in the ARM AAELF
+ specification has been added via the --fix-v4bx command-line option.
+
* New linker script construct AS_NEEDED(), which sets the --as-needed flag
for input files listed inside of it.
Index: ld/ld.texinfo
===================================================================
RCS file: /cvs/src/src/ld/ld.texinfo,v
retrieving revision 1.137
diff -c -p -r1.137 ld.texinfo
*** ld/ld.texinfo 23 Jan 2005 07:43:52 -0000 1.137
--- ld/ld.texinfo 28 Jan 2005 16:22:36 -0000
*************** meanings, and target defaults are as fol
*** 5139,5144 ****
--- 5139,5158 ----
@samp{R_ARM_GOT_PREL} (arm*-*-linux, arm*-*-*bsd)
@end table
+ @cindex FIX_V4BX
+ @kindex --fix-v4bx
+ The @samp{R_ARM_V4BX} relocation (defined by the ARM AAELF
+ specification) enables objects compiled for the ARMv4 architecture to be
+ interworking-safe when linked with other objects compiled for ARMv4t, but
+ also allows pure ARMv4 binaries to be built from the same ARMv4 objects.
+
+ In the latter case, the switch @option{--fix-v4bx} must be passed to the
+ linker, which causes v4t @code{BX rM} instructions to be rewritten as
+ @code{MOV PC,rM}, since v4 processors do not have a @code{BX} instruction.
+
+ In the former case, the switch should not be used, and @samp{R_ARM_V4BX}
+ relocations are ignored.
+
@ifclear GENERIC
@lowersections
@end ifclear