X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Fld.texinfo;h=bc16764b0554851217316c438ada863843915307;hb=ef53be89160126f2fa5dec8f1ec3bd6d99fb0681;hp=8374ccf6a2153887a85acffb3ec16a5d853729dd;hpb=a504d23a83d115b1b29a5b1fbfaeb2b09bc0e22c;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ld.texinfo b/ld/ld.texinfo index 8374ccf6a2..bc16764b05 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -1,6 +1,6 @@ \input texinfo @setfilename ld.info -@c Copyright (C) 1991-2015 Free Software Foundation, Inc. +@c Copyright (C) 1991-2016 Free Software Foundation, Inc. @syncodeindex ky cp @c man begin INCLUDE @include configdoc.texi @@ -55,7 +55,7 @@ This file documents the @sc{gnu} linker LD @end ifset version @value{VERSION}. -Copyright @copyright{} 1991-2015 Free Software Foundation, Inc. +Copyright @copyright{} 1991-2016 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 @@ -92,7 +92,7 @@ section entitled ``GNU Free Documentation License''. @vskip 0pt plus 1filll @c man begin COPYRIGHT -Copyright @copyright{} 1991-2015 Free Software Foundation, Inc. +Copyright @copyright{} 1991-2016 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 @@ -1092,6 +1092,10 @@ The recognized keywords are: Combines multiple reloc sections and sorts them to make dynamic symbol lookup caching possible. +@item common +Generate common symbols with the STT_COMMON type druing a relocatable +link. + @item defs Disallows undefined symbols in object files. Undefined symbols in shared libraries are still allowed. @@ -1132,6 +1136,10 @@ Allows multiple definitions. @item nocombreloc Disables multiple reloc sections combining. +@item nocommon +Generate common symbols with the STT_OBJECT type druing a relocatable +link. + @item nocopyreloc Disable linker generated .dynbss variables used in place of variables defined in shared libraries. May result in dynamic text relocations. @@ -1199,6 +1207,17 @@ generated by compiler. Updates on protected data symbols by another module aren't visible to the resulting shared library. Supported for i386 and x86-64. +@item nodynamic-undefined-weak +Don't treat undefined weak symbols as dynamic when building executable. +This option overrides linker backend default. It can be used to avoid +dynamic relocations against undefined weak symbols in executable. +Supported for i386 and x86-64. + +@item noreloc-overflow +Disable relocation overflow check. This can be used to disable +relocation overflow check if there will be no dynamic relocation +overflow at run-time. Supported for x86_64. + @item call-nop=prefix-addr @itemx call-nop=prefix-nop @itemx call-nop=suffix-nop @@ -1325,15 +1344,21 @@ libraries. When creating a shared library, bind references to global symbols to the definition within the shared library, if any. Normally, it is possible for a program linked against a shared library to override the definition -within the shared library. This option is only meaningful on ELF -platforms which support shared libraries. +within the shared library. This option can also be used with the +@option{--export-dynamic} option, when creating a position independent +executable, to bind references to global symbols to the definition within +the executable. This option is only meaningful on ELF platforms which +support shared libraries and position independent executables. @kindex -Bsymbolic-functions @item -Bsymbolic-functions When creating a shared library, bind references to global function symbols to the definition within the shared library, if any. +This option can also be used with the @option{--export-dynamic} option, +when creating a position independent executable, to bind references +to global function symbols to the definition within the executable. This option is only meaningful on ELF platforms which support shared -libraries. +libraries and position independent executables. @kindex --dynamic-list=@var{dynamic-list-file} @item --dynamic-list=@var{dynamic-list-file} @@ -1801,7 +1826,7 @@ ELF executable, the contents of the environment variable @code{LD_RUN_PATH} will be used if it is defined. The @option{-rpath} option may also be used on SunOS. By default, on -SunOS, the linker will form a runtime search patch out of all the +SunOS, the linker will form a runtime search path out of all the @option{-L} options it is given. If a @option{-rpath} option is used, the runtime search path will be formed exclusively using the @option{-rpath} options, ignoring the @option{-L} options. This can be useful when using @@ -3649,6 +3674,25 @@ an error and returns a non-zero exit status. Note that the @code{NOCROSSREFS} command uses output section names, not input section names. +@item NOCROSSREFS_TO(@var{tosection} @var{fromsection} @dots{}) +@kindex NOCROSSREFS_TO(@var{tosection} @var{fromsections}) +@cindex cross references +This command may be used to tell @command{ld} to issue an error about any +references to one section from a list of other sections. + +The @code{NOCROSSREFS} command is useful when ensuring that two or more +output sections are entirely independent but there are situations where +a one-way dependency is needed. For example, in a multi-core application +there may be shared code that can be called from each core but for safety +must never call back. + +The @code{NOCROSSREFS_TO} command takes a list of output section names. +The first section can not be referenced from any of the other sections. +If @command{ld} detects any references to the first section from any of +the other sections, it reports an error and returns a non-zero exit +status. Note that the @code{NOCROSSREFS_TO} command uses output section +names, not input section names. + @ifclear SingleFormat @item OUTPUT_ARCH(@var{bfdarch}) @kindex OUTPUT_ARCH(@var{bfdarch}) @@ -6108,7 +6152,8 @@ This is equivalent to either @end smallexample or @smallexample -(ALIGN(@var{maxpagesize}) + (. & (@var{maxpagesize} - @var{commonpagesize}))) +(ALIGN(@var{maxpagesize}) + + ((. + @var{commonpagesize} - 1) & (@var{maxpagesize} - @var{commonpagesize}))) @end smallexample @noindent depending on whether the latter uses fewer @var{commonpagesize} sized pages @@ -6803,6 +6848,11 @@ The @samp{--long-plt} option enables the use of 16 byte PLT entries which support up to 4Gb of code. The default is to use 12 byte PLT entries which only support 512Mb of code. +@kindex --no-apply-dynamic-relocs +@cindex AArch64 rela addend +The @samp{--no-apply-dynamic-relocs} option makes AArch64 linker do not apply +link-time values for dynamic relocations. + @ifclear GENERIC @lowersections @end ifclear