OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [ld/] [ld.texinfo] - Diff between revs 157 and 166

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 157 Rev 166
Line 1... Line 1...
\input texinfo
\input texinfo
@setfilename ld.info
@setfilename ld.info
@c Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
@c Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
@c Free Software Foundation, Inc.
@c Free Software Foundation, Inc.
@syncodeindex ky cp
@syncodeindex ky cp
@c man begin INCLUDE
@c man begin INCLUDE
@include configdoc.texi
@include configdoc.texi
@c (configdoc.texi is generated by the Makefile)
@c (configdoc.texi is generated by the Makefile)
Line 6708... Line 6708...
optimization.
optimization.
 
 
@cindex PowerPC64 multi-TOC
@cindex PowerPC64 multi-TOC
@kindex --no-multi-toc
@kindex --no-multi-toc
@item --no-multi-toc
@item --no-multi-toc
By default, PowerPC64 GCC generates code for a TOC model where TOC
If given any toc option besides @code{-mcmodel=medium} or
 
@code{-mcmodel=large}, PowerPC64 GCC generates code for a TOC model
 
where TOC
entries are accessed with a 16-bit offset from r2.  This limits the
entries are accessed with a 16-bit offset from r2.  This limits the
total TOC size to 64K.  PowerPC64 @command{ld} extends this limit by
total TOC size to 64K.  PowerPC64 @command{ld} extends this limit by
grouping code sections such that each group uses less than 64K for its
grouping code sections such that each group uses less than 64K for its
TOC entries, then inserts r2 adjusting stubs between inter-group
TOC entries, then inserts r2 adjusting stubs between inter-group
calls.  @command{ld} does not split apart input sections, so cannot
calls.  @command{ld} does not split apart input sections, so cannot
help if a single input file has a @code{.toc} section that exceeds
help if a single input file has a @code{.toc} section that exceeds
64K, most likely from linking multiple files with @command{ld -r}.
64K, most likely from linking multiple files with @command{ld -r}.
Use this option to turn off this feature.
Use this option to turn off this feature.
 
 
 
@cindex PowerPC64 TOC sorting
 
@kindex --no-toc-sort
 
@item --no-toc-sort
 
By default, @command{ld} sorts TOC sections so that those whose file
 
happens to have a section called @code{.init} or @code{.fini} are
 
placed first, followed by TOC sections referenced by code generated
 
with PowerPC64 gcc's @code{-mcmodel=small}, and lastly TOC sections
 
referenced only by code generated with PowerPC64 gcc's
 
@code{-mcmodel=medium} or @code{-mcmodel=large} options.  Doing this
 
results in better TOC grouping for multi-TOC.  Use this option to turn
 
off this feature.
 
 
 
@cindex PowerPC64 PLT stub alignment
 
@kindex --plt-align
 
@kindex --no-plt-align
 
@item --plt-align
 
@itemx --no-plt-align
 
Use these options to control whether individual PLT call stubs are
 
aligned to a 32-byte boundary, or to the specified power of two
 
boundary when using @code{--plt-align=}.  By default PLT call stubs
 
are packed tightly.
 
 
 
@cindex PowerPC64 PLT call stub static chain
 
@kindex --plt-static-chain
 
@kindex --no-plt-static-chain
 
@item --plt-static-chain
 
@itemx --no-plt-static-chain
 
Use these options to control whether PLT call stubs load the static
 
chain pointer (r11).  @code{ld} defaults to not loading the static
 
chain since there is never any need to do so on a PLT call.
 
 
 
@cindex PowerPC64 PLT call stub thread safety
 
@kindex --plt-thread-safe
 
@kindex --no-plt-thread-safe
 
@item --plt-thread-safe
 
@itemx --no-thread-safe
 
With power7's weakly ordered memory model, it is possible when using
 
lazy binding for ld.so to update a plt entry in one thread and have
 
another thread see the individual plt entry words update in the wrong
 
order, despite ld.so carefully writing in the correct order and using
 
memory write barriers.  To avoid this we need some sort of read
 
barrier in the call stub, or use LD_BIND_NOW=1.  By default, @code{ld}
 
looks for calls to commonly used functions that create threads, and if
 
seen, adds the necessary barriers.  Use these options to change the
 
default behaviour.
@end table
@end table
 
 
@ifclear GENERIC
@ifclear GENERIC
@lowersections
@lowersections
@end ifclear
@end ifclear

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.