X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2FNEWS;h=bc21c39c05bfd27447996359941b7ee9b42795af;hb=45d735237b7edf282131d570a7a9f6aa9ee1bd9c;hp=e3de4328095c53f9463060da535835430ee931d3;hpb=0f088b2a9417b1d4ed597849ffa671eba25f5051;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/NEWS b/ld/NEWS index e3de432809..bc21c39c05 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -1,26 +1,188 @@ -*- text -*- +* cr16c support removed. + +Changes in 2.33: + +* Add command-line option --no-print-map-discarded. + +* The Cortex-A53 Erratum 843419 workaround now supports a choice of which + workaround to use. The option --fix-cortex-a53-843419 now takes an + optional argument --fix-cortex-a53-843419[=full|adr|adrp] which can be + used to force a particular workaround to be used. See --help for AArch64 + for more details. + +* Add target handlers for AArch64 for ELF GNU program properties. + +* Add support for GNU_PROPERTY_AARCH64_FEATURE_1_BTI in ELF GNU program + properties in the AArch64 ELF linker. + +* Add support for GNU_PROPERTY_AARCH64_FEATURE_1_PAC in ELF GNU program + properties in the AArch64 ELF linker. + +* Add -z force-bti for AArch64 to enable GNU_PROPERTY_AARCH64_FEATURE_1_BTI + on output while warning about missing GNU_PROPERTY_AARCH64_FEATURE_1_BTI + on inputs and use PLTs protected with BTI. + +* Add -z pac-plt for AArch64 to pick PAC enabled PLTs. + +Changes in 2.32: + +* Report property change in linker map file when merging GNU properties. + +* Add support for the C-SKY processor series. + +* -t now doesn't report members within archives, unless -t is given twice. + A single -t is now more useful when generating a list of files that should be + packaged for a linker bug report. For example: + gcc hello.c -save-temps -Wl,-t | xargs realpath | sort | uniq > files + tar cJf test.tar.xz `cat files` + +Changes in 2.31: + +* Speed up direct linking with DLLs for Cygwin and Mingw targets. + +* Add a configure option --enable-separate-code to decide whether + -z separate-code should be enabled in ELF linker by default. Default + to yes for Linux/x86 targets. Note that -z separate-code can increase + disk and memory size. + +Changes in 2.30: + +* Add -z separate-code to generate separate code PT_LOAD segment. + +* Add "-z undefs" command-line option as the inverse of the "-z defs" option. + +* Add -z globalaudit command-line option to force audit libraries to be run + for every dynamic object loaded by an executable - provided that the loader + supports this functionality. + +* Tighten linker script grammar around file name specifiers to prevent the use + of SORT_BY_ALIGNMENT and SORT_BY_INIT_PRIORITY on filenames. These would + previously be accepted but had no effect. + +* The EXCLUDE_FILE directive can now be placed within any SORT_* directive + within input section lists. + +Changes in 2.29: + +* Support for -z shstk in the x86 ELF linker to generate + GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF GNU program properties. + +* Add support for GNU_PROPERTY_X86_FEATURE_1_SHSTK in ELF GNU program + properties in the x86 ELF linker. + +* Add support for GNU_PROPERTY_X86_FEATURE_1_IBT in ELF GNU program + properties in the x86 ELF linker. + +* Support for -z ibtplt in the x86 ELF linker to generate IBT-enabled + PLT. + +* Support for -z ibt in the x86 ELF linker to generate IBT-enabled + PLT as well as GNU_PROPERTY_X86_FEATURE_1_IBT in ELF GNU program + properties. + +* Add support for ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX. + +* Add support for ELF GNU program properties. + +* Add support for the Texas Instruments PRU processor. + +* When configuring for arc*-*-linux* targets the default linker emulation will + change if --with-cpu=nps400 is used at configure time. + +* Improve assignment of LMAs to orphan sections in some edge cases where a + mixture of both AT>LMA_REGION and AT(LMA) are used. + +* Orphan sections placed after an empty section that has an AT(LMA) will now + take an load memory address starting from LMA. + +* Section groups can now be resolved (the group deleted and the group members + placed like normal sections) at partial link time either using the new linker + option --force-group-allocation or by placing FORCE_GROUP_ALLOCATION into the + linker script. + +Changes in 2.28: + +* The EXCLUDE_FILE linker script construct can now be applied outside of the + section list in order for the exclusions to apply over all input sections in + the list. + +* Add support for the RISC-V architecture. + +* The command-line option --no-eh-frame-hdr can now be used in ELF based + linkers to disable the automatic generation of .eh_frame_hdr sections. + +* Add --in-implib= to the ARM linker to enable specifying a set of + Secure Gateway veneers that must exist in the output import library specified + by --out-implib= and the address they must have. As such, + --in-implib is only supported in combination with --cmse-implib. + +* Extended the --out-implib= option, previously restricted to x86 PE + targets, to any ELF based target. This allows the generation of an import + library for an ELF executable, which can then be used by another application + to link against the executable. + +Changes in 2.27: + +* Add a configure option --enable-relro to decide whether -z relro should + be enabled in ELF linker by default. Default to yes for all Linux + targets except FRV, HPPA, IA64 and MIPS. Note that -z relro can increase + disk and memory size. + +* Support for -z noreloc-overflow in the x86-64 ELF linker to disable + relocation overflow check. + +* Add -z common/-z nocommon options for ELF targets to control whether to + convert common symbols to the STT_COMMON type during a relocatable link. + +* Support for -z nodynamic-undefined-weak in the x86 ELF linker, which + avoids dynamic relocations against undefined weak symbols in executable. + +* The NOCROSSREFSTO command was added to the linker script language. + +* Add --no-apply-dynamic-relocs to the AArch64 linker to do not apply link-time + values for dynamic relocations. + +Changes in 2.26: + +* Add --fix-stm32l4xx-629360 to the ARM linker to enable a link-time + workaround for a bug in the bus matrix / memory controller for some of + the STM32 Cortex-M4 based products (STM32L4xx) + +* Add a configure option --enable-compressed-debug-sections={all,ld} to + decide whether DWARF debug sections should be compressed by default. + +* Add support for the ARC EM/HS, and ARC600/700 architectures. + * Experimental support for linker garbage collection (--gc-sections) has been enabled for COFF and PE based targets. -* New command line option for ELF targets to compress DWARF debug +* New command-line option for ELF targets to compress DWARF debug sections, --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. -* Add --warn-orphan option to report orphan sections. +* New command-line option, --orphan-handling=[place|warn|error|discard], to + adjust how orphan sections are handled. The default is 'place' which gives + the current behaviour, 'warn' and 'error' issue a warning or error + respectively when orphan sections are found, and 'discard' will discard all + orphan sections. * Add support for LLVM plugin. * Add --print-memory-usage option to report memory blocks usage. +* Add --require-defined option, it's like --undefined except the new symbol + must be defined by the end of the link. + Changes in 2.25: * PE binaries now once again contain real timestamps by default. To disable the inclusion of a timestamp in a PE binary, use the --no-insert-timestamp - command line option. + command-line option. * Replace support for openrisc and or32 with support for or1k. -* Add support for the --build-id command line option to COFF based targets. +* Add support for the --build-id command-line option to COFF based targets. * x86/x86_64 pe-coff now supports the --build-id option. @@ -146,7 +308,7 @@ Changes in 2.20: latter case the library is not linked if it is found in a DT_NEEDED entry of one of the libraries already linked. -* Add a new command line option, -Ttext-segment ADDR, for ELF targets +* Add a new command-line option, -Ttext-segment ADDR, for ELF targets to set the address of the first byte of the text segment. * Add support for Sunplus score architecture. @@ -181,11 +343,11 @@ Changes in 2.19: direction of sorting. * The M68K linker now supports multiple GOT generation schemes controlled via - the --got= command line option. + the --got= command-line option. * The ARM EABI linker will now generate stubs for function calls to symbols that are too far away. The placement of the stubs is controlled by a new - linker command line option: --stub-group-size=N. + linker command-line option: --stub-group-size=N. Changes in 2.18: @@ -200,7 +362,7 @@ Changes in 2.18: * -l:foo now searches the library path for a filename called foo, without converting it to libfoo.a or libfoo.so. -* Add a new command line option '--default-script=FILE' or '-dT FILE' +* Add a new command-line option '--default-script=FILE' or '-dT FILE' which specifies a replacement for the built in, default linker script. @@ -274,7 +436,7 @@ Changes in 2.16: language to permit sorting sections by section name or section maximum alignment. -* Added a new linker command line switch, --sort-section name|alignment, +* Added a new linker command-line switch, --sort-section name|alignment, to sort sections by section name or maximum alignment. * ELF: --add-needed/--no-add-needed options to control if a DT_NEEDED tag @@ -284,7 +446,7 @@ Changes in 2.16: * Support for the sh-symbianelf target added. -* A new linker command line switch has been added which allows the hash table +* A new linker command-line switch has been added which allows the hash table size to be set to a suitable prime value near to its argument. This switch is --hash-size=. Also if the switch --reduce-memory-overheads is used, and --hash-size has not been used, then the default value will be set @@ -384,7 +546,7 @@ Changes in version 2.11: * TI C54x support, by Timothy Wall. -* Added command line switch --section-start to set the start address of any +* Added command-line switch --section-start to set the start address of any specified section. * Added ability to emit full relocation information in linked executables, @@ -604,7 +766,7 @@ Changes in version 2.1: other utilities should work on Risc/Ultrix and Irix. -Copyright (C) 2012-2015 Free Software Foundation, Inc. +Copyright (C) 2012-2019 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright