]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - ld/ld.texi
Change names given to Ravenscar threads
[thirdparty/binutils-gdb.git] / ld / ld.texi
index 165a3d935e16e9c7497bdf51c1f50ae39bdc2e76..b9b331b35605f92b3bb17309d1cab18580f3ec96 100644 (file)
@@ -1612,6 +1612,40 @@ definition.  If the symbol is defined as a common value then any files
 where this happens appear next.  Finally any files that reference the
 symbol are listed.
 
+@cindex ctf variables
+@kindex --ctf-variables
+@kindex --no-ctf-variables
+@item --ctf-variables
+@item --no-ctf-variables
+The CTF debuginfo format supports a section which encodes the names and
+types of variables found in the program which do not appear in any symbol
+table. These variables clearly cannot be looked up by address by
+conventional debuggers, so the space used for their types and names is
+usually wasted: the types are usually small but the names are often not.
+@option{--ctf-variables} causes the generation of such a section.
+The default behaviour can be restored with @option{--no-ctf-variables}.
+
+@cindex ctf type sharing
+@kindex --ctf-share-types
+@item --ctf-share-types=@var{method}
+Adjust the method used to share types between translation units in CTF.
+
+@table @samp
+@item share-unconflicted
+Put all types that do not have ambiguous definitions into the shared dictionary,
+where debuggers can easily access them, even if they only occur in one
+translation unit.  This is the default.
+
+@item share-duplicated
+Put only types that occur in multiple translation units into the shared
+dictionary: types with only one definition go into per-translation-unit
+dictionaries.  Types with ambiguous definitions in multiple translation units
+always go into per-translation-unit dictionaries.  This tends to make the CTF
+larger, but may reduce the amount of CTF in the shared dictionary.  For very
+large projects this may speed up opening the CTF and save memory in the CTF
+consumer at runtime.
+@end table
+
 @cindex common allocation
 @kindex --no-define-common
 @item --no-define-common
@@ -7922,15 +7956,13 @@ care.  @option{--no-plt-localentry} is the default.
 @itemx --no-power10-stubs
 When PowerPC64 @command{ld} links input object files containing
 relocations used on power10 prefixed instructions it normally creates
-linkage stubs (PLT call and long branch) using power10 instructions.
-In particular for @code{@@notoc} PLT calls where @code{r2} is not
-known the power10 stubs are smaller and faster, so are preferred for
+linkage stubs (PLT call and long branch) using power10 instructions
+for @code{@@notoc} PLT calls where @code{r2} is not known.  The
+power10 notoc stubs are smaller and faster, so are preferred for
 power10.  @option{--power10-stubs} and @option{--no-power10-stubs}
 allow you to override the linker's selection of stub instructions.
-For example, when linking a shared library that contains cpu-optimized
-versions of functions for both power9 and power10, you might use
-@option{--no-power10-stubs} so that power9 code making calls doesn't
-attempt to execute power10 instructions.
+@option{--power10-stubs=auto} allows the user to select the default
+auto mode.
 @end table
 
 @ifclear GENERIC