X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=ld%2Fld.texi;h=2663f07e9aea2307f52c90445750acf10f33953d;hb=2aafdd4de60e02dfa7b04fc0c6cc33ee90257700;hp=a007ae7fadea4a0c8be4d36217bf2a28df970500;hpb=fb221fba1a5eb05355f248d6aa1e3ab4316899fd;p=binutils-gdb.git diff --git a/ld/ld.texi b/ld/ld.texi index a007ae7fade..2663f07e9ae 100644 --- a/ld/ld.texi +++ b/ld/ld.texi @@ -1475,6 +1475,17 @@ Specify that the object's filters be processed immediately at runtime. @item max-page-size=@var{value} Set the maximum memory page size supported to @var{value}. +@item mark-plt +@itemx nomark-plt +Mark PLT entries with dynamic tags, DT_X86_64_PLT, DT_X86_64_PLTSZ and +DT_X86_64_PLTENT. Since this option stores a non-zero value in the +r_addend field of R_X86_64_JUMP_SLOT relocations, the resulting +executables and shared libraries are incompatible with dynamic linkers, +such as those in older versions of glibc without the change to ignore +r_addend in R_X86_64_GLOB_DAT and R_X86_64_JUMP_SLOT relocations, which +don't ignore the r_addend field of R_X86_64_JUMP_SLOT relocations. +Supported for x86_64. + @item muldefs Allow multiple definitions. @@ -1544,6 +1555,11 @@ Don't create an ELF @code{PT_GNU_RELRO} segment if @samp{norelro}. Report dynamic relative relocations generated by linker. Supported for Linux/i386 and Linux/x86_64. +@item sectionheader +@itemx nosectionheader +Generate section header. Don't generate section header if +@samp{nosectionheader} is used. @option{sectionheader} is the default. + @item separate-code @itemx noseparate-code Create separate code @code{PT_LOAD} segment header in the object. This @@ -3566,6 +3582,11 @@ can be used to insert a zero value for the timestamp, this ensuring that binaries produced from identical sources will compare identically. +If @option{--insert-timestamp} is active then the time inserted is +either the time that the linking takes place or, if the +@code{SOURCE_DATE_EPOCH} environment variable is defined, the number +of seconds since Unix epoch as specified by that variable. + @kindex --enable-reloc-section @item --enable-reloc-section @itemx --disable-reloc-section @@ -6813,19 +6834,21 @@ the standard bindings and precedence levels: @ifnottex @c END TEXI2ROFF-KILL @smallexample -precedence associativity Operators Notes +precedence associativity Operators Notes (highest) -1 left ! - ~ (1) +1 left ! - ~ (1) 2 left * / % 3 left + - 4 left >> << -5 left == != > < <= >= -6 left & -7 left | -8 left && -9 left || -10 right ? : -11 right &= += -= *= /= (2) +5 left > < <= >= +6 left == != +7 left & +8 left ^ +9 left | +10 left && +11 left || +12 right ? : +13 right += -= *= /= <<= >>= &= |= ^= (2) (lowest) @end smallexample Notes: @@ -6851,13 +6874,15 @@ height2pt&\omit&&\omit&&\omit&\cr &2&&left&&* / \%&\cr &3&&left&&+ -&\cr &4&&left&&>> <<&\cr -&5&&left&&== != > < <= >=&\cr -&6&&left&&\&&\cr -&7&&left&&|&\cr -&8&&left&&{\&\&}&\cr -&9&&left&&||&\cr -&10&&right&&? :&\cr -&11&&right&&\qquad\&= += -= *= /=\qquad\ddag&\cr +&5&&left&& > < <= >=&\cr +&6&&left&&== !=&\cr +&7&&left&&\&&\cr +&8&&left&&\^{}&\cr +&9&&left&&|&\cr +&10&&left&&{\&\&}&\cr +&11&&left&&||&\cr +&12&&right&&? :&\cr +&13&&right&&\qquad += -= *= /= <<= >>= \&= |= \^{}=\qquad\ddag&\cr &lowest&&&&&\cr height2pt&\omit&&\omit&&\omit&\cr} \hrule} @@ -7105,10 +7130,13 @@ The builtin function @code{NEXT} is closely related to @code{ALIGN}. @kindex ALIGNOF(@var{section}) @cindex section alignment Return the alignment in bytes of the named @var{section}, if that section has -been allocated. If the section has not been allocated when this is -evaluated, the linker will report an error. In the following example, -the alignment of the @code{.output} section is stored as the first -value in that section. +been allocated, or zero if the section has not been allocated. If the +section does not exist in the linker script the linker will report an +error. If @var{section} is @code{NEXT_SECTION} then @code{ALIGNOF} will +return the alignment of the next allocated section specified in the +linker script, or zero if there is no such section. In the following +example, the alignment of the @code{.output} section is stored as the +first value in that section. @smallexample @group SECTIONS@{ @dots{} @@ -7257,9 +7285,13 @@ name. @kindex SIZEOF(@var{section}) @cindex section size Return the size in bytes of the named @var{section}, if that section has -been allocated. If the section has not been allocated when this is -evaluated, the linker will report an error. In the following example, -@code{symbol_1} and @code{symbol_2} are assigned identical values: +been allocated, or zero if the section has not been allocated. If the +section does not exist in the linker script the linker will report an +error. If @var{section} is @code{NEXT_SECTION} then @code{SIZEOF} will +return the alignment of the next allocated section specified in the +linker script, or zero if there is no such section. In the following +example, @code{symbol_1} and @code{symbol_2} are assigned identical +values: @smallexample @group SECTIONS@{ @dots{}