aboutsummaryrefslogtreecommitdiff
path: root/ld/ld.texinfo
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2000-09-27 17:30:19 +0000
committerAlan Modra <amodra@gmail.com>2000-09-27 17:30:19 +0000
commit47d89dba5e87eb8f200e5f1a8a37d71716856a6d (patch)
tree35e27d3ec96747bf2587c7ca2f96f6a70b93c938 /ld/ld.texinfo
parent5506e1a5d86d957f3e71068785509d96d81e46a9 (diff)
downloadfsf-binutils-gdb-47d89dba5e87eb8f200e5f1a8a37d71716856a6d.zip
fsf-binutils-gdb-47d89dba5e87eb8f200e5f1a8a37d71716856a6d.tar.gz
fsf-binutils-gdb-47d89dba5e87eb8f200e5f1a8a37d71716856a6d.tar.bz2
.plt stub for lazy linking, --stub-group-size=N ld switch,
import stub fix, extra DIR14F reloc to fix abort in tc_gen_reloc
Diffstat (limited to 'ld/ld.texinfo')
-rw-r--r--ld/ld.texinfo33
1 files changed, 33 insertions, 0 deletions
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index e907e30..0b898ec 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -3904,6 +3904,7 @@ functionality are not listed.
* H8/300:: @code{ld} and the H8/300
* i960:: @code{ld} and the Intel 960 family
* ARM:: @code{ld} and the ARM family
+* HPPA ELF32:: @code{ld} and HPPA 32-bit ELF
@ifset TICOFF
* TI COFF:: @code{ld} and TI COFF
@end ifset
@@ -4047,6 +4048,38 @@ But it also sets the bottom bit of the address, so that it can be
branched to using a BX instruction, and the program will start
executing in Thumb mode straight away.
+@node HPPA ELF32
+@section @code{ld} and HPPA 32-bit ELF support
+@cindex HPPA multiple sub-space stubs
+@kindex --multi-subspace
+When generating a shared library, @code{ld} will by default generate
+import stubs suitable for use with a single sub-space application.
+The @samp{--multi-subspace} switch causes @code{ld} to generate export
+stubs, and different (larger) import stubs suitable for use with
+multiple sub-spaces.
+
+@cindex HPPA stub grouping
+@kindex --stub-group-size=@var{N}
+Long branch stubs and import/export stubs are placed by @code{ld} in
+stub sections located between groups of input sections.
+@samp{--stub-group-size} specifies the maximum size of a group of input
+sections handled by one stub section. Since branch offsets are signed,
+a stub section may serve two groups of input sections, one group before
+the stub section, and one group after it. However, when using
+conditional branches that require stubs, it may be better (for branch
+prediction) that stub sections only serve one group of input sections.
+A negative value for @samp{N} chooses this scheme, ensuring that
+branches to stubs always use a negative offset. Two special values of
+@samp{N} are recognized, @samp{1} and @samp{-1}. These both instruct
+@code{ld} to automatically size input section groups for the branch types
+detected, with the same behaviour regarding stub placement as other
+positive or negative values of @samp{N} respectively.
+
+Note that @samp{--stub-group-size} does not split input sections. A
+single input section larger than the group size specified will of course
+create a larger group (of one section). If input sections are too
+large, it may not be possible for a branch to reach its stub.
+
@ifset TICOFF
@node TI COFF
@section @code{ld}'s support for various TI COFF versions