summaryrefslogtreecommitdiff
path: root/ld/ld.texinfo
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2007-03-20 20:19:07 +0000
committerPaul Brook <paul@codesourcery.com>2007-03-20 20:19:07 +0000
commit27e55c4d0b94f5d358385b9641d26b84ee611768 (patch)
treeeaacfbddbcc1ecc50c48870fa35865384a46de2c /ld/ld.texinfo
parentbf21ed7807b864b6f137d093bbf0164b443b504b (diff)
downloadbinutils-gdb-27e55c4d0b94f5d358385b9641d26b84ee611768.tar.gz
2007-03-20 Paul Brook <paul@codesourcery.com>
ld/ * emultempl/armelf.em (pic_veneer): New variable. (PARSE_AND_LIST_PROLOGUE): Add OPTION_PIC_VENEER. (PARSE_AND_LIST_ARGS_CASES): Ditto. (PARSE_AND_LIST_LONGOPTS): Add "pic-veneer". (PARSE_AND_LIST_OPTIONS): Ditto. * ld.texinfo: Document --pic-veneer. ld/testsuite/ * ld-arm/arm-elf.exp (ld-arm/arm-elf.exp): Add arm-pic-veneer. * ld-arm/arm-pic-veneer.d: New test. * ld-arm/arm-pic-veneer.s: New test. bfd/ * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype. * bfd-in2.h: Regenerate. * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer. (record_arm_to_thumb_glue): Use globals->pic_veneer. (elf32_arm_create_thumb_stub): Ditto. (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
Diffstat (limited to 'ld/ld.texinfo')
-rw-r--r--ld/ld.texinfo7
1 files changed, 7 insertions, 0 deletions
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index 1ffabf46916..abcf5c0b011 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -5406,6 +5406,13 @@ trampoline address instead of the function address. This is typically the
case when a pointer to a function is taken. The pointer will in fact
point to the function trampoline.
+@cindex PIC_VENEER
+@kindex --pic-veneer
+The @samp{--pic-veneer} switch makes the linker use PIC sequences for
+ARM/Thumb interworking veneers, even if the rest of the binary
+is not PIC. This avoids problems on uClinux targets where
+@samp{--emit-relocs} is used to generate relocatable binaries.
+
@ifclear GENERIC
@lowersections
@end ifclear