X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2FNEWS;h=228fddf71031ab6caf8e8f8b32c3117d00d7eacd;hb=8b8c7c9f49992750f66f81b4601d593a3858d98c;hp=8c56d4e5d9cbfd65424d934fcd7b894cecac36f9;hpb=41911f68522e3043ab6f32594eea32cdd8581a14;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/NEWS b/ld/NEWS index 8c56d4e5d9..228fddf710 100644 --- a/ld/NEWS +++ b/ld/NEWS @@ -1,7 +1,223 @@ -*- text -*- -* The ARM ELF 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. + +* 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 + sections, --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]. + +* 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. + +* Replace support for openrisc and or32 with support for or1k. + +* Add support for the --build-id command line option to COFF based targets. + +* x86/x86_64 pe-coff now supports the --build-id option. + +* Add support for the Andes NDS32. + +Changes in 2.24: + +* Add LOG2CEIL() builtin function to the linker script language + +* Add support for the Texas Instruments MSP430X processor. + +* Add support for Altera Nios II. + +* Add support for the V850E3V5 architecture. + +* Add support for the Imagination Technologies Meta processor. + +* --enable-new-dtags no longer generates old dtags in addition to new dtags. + +* Remove linker support for MIPS ECOFF targets. + +* Add ALIGN_WITH_INPUT to the linker script language to force the alignment of + an output section to use the maximum alignment of all its input sections. + +Changes in 2.23: + +* Enable compressed debug section feature for x86/x86_64 pe-coff. + +* Add support for the 64-bit ARM architecture: AArch64. + +* Added SORT_NONE to the linker script language to disable section sorting. + +* Add a linker-provided symbol when producing ELF output, '__ehdr_start' + to point to the ELF file header (and nearby program headers) in the + program's memory image. + +* Add support for S12X processor. + +* Add support for the VLE extension to the PowerPC architecture. + +* Add support for the Freescale XGATE architecture. + +* Add option -f FILE on AIX (for response file). + +* Add support for the Renesas RL78 architecture. + +* Add support for the Adapteva EPIPHANY architecture. + +Changes in 2.22: + +* --copy-dt-needed-entries is no longer enabled by default. Instead + --no-copy-dt-needed-entries is the default. + +* INPUT_SECTION_FLAGS has been added to the linker script language + to allow selection of input sections by section header section flags. + +* Add support for the Tilera TILEPro and TILE-Gx architectures. + +* Added SORT_BY_INIT_PRIORITY to the linker script language to permit + sorting sections by numerical value of the GCC init_priority attribute + encoded in the section name. + +Changes in 2.21: + +* Linker script expression evaluation is somewhat more sane. This may + break scripts that depend on quirks of the old expression evaluation. + +* Turn off underscoring for x86_64 PE+-COFF targets. For old behavior the + option --enable-leading-mingw64-underscores can be used on configure of + bfd. + +* Add support for the TMS320C6000 (TI C6X) processor family. + +* --add-needed renamed to --copy-dt-needed-entries in order to avoid confusion + with --as-needed option. + +* Extend .def file syntax by '== ' for imports and exports. This allows + to alias the import/export table name written in PE image. + +* Add --exclude-all-symbols option to PE based linkers. This prevents all + symbols from automatically being exported. + +* Add support for the Renesas RX processor. + +* Add support for alpha-vms target. + +Changes in 2.20: + +* GNU/Linux targets now support the STB_GNU_UNIQUE symbol binding. This is a + GNU extension to the standard set of ELF symbol bindings. The binding will + be passed on to the dynamic linker which will make sure that in the entire + process there is just one symbol with the given name and type in use. + +* PE targets now support a GNU extension to allow the alignment of common + common symbols to be specified. This support uses custom options in + the .drectve section, which will be disregarded by the native tools. + +* PE targets now add primitive support for ELF version scripts; symbols + are not versioned, but the local and global symbol visibility directives + are respected when filtering symbols in auto-export mode. + +* New option --no-export-dynamic to undo the effect of the -E and + --export-dynamic options. + +* ELF: --warn-alternate-em option to warn if an object has alternate + ELF machine code. + +* New script function REGION_ALIAS to add alias names to memory regions. + +* PE targets no longer make use of the long section names PE extension to + the COFF format when generating executable images, by default. The old + (slightly non-conformant) behaviour can still be invoked by using the + new '--enable-long-section-names' command-line option. It is also enabled + automatically in the presence of un-stripped debug information, as GDB + needs to be able to find the debug info sections by their full names. + +* For GNU/Linux systems the linker will now avoid processing any relocations + made against symbols of the STT_GNU_IFUNC type and instead emit them into + the resulting binary for processing by the loader. + +* --as-needed now links in a dynamic library if it satisfies undefined + symbols in regular objects, or in other dynamic libraries. In the + 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 + to set the address of the first byte of the text segment. + +* Add support for Sunplus score architecture. + +* Add new option --use-nul-prefixed-import-tables to ld for PE targets to + allow fallback to old import table generation with null element prefix. + +* Windows PE systems now support a new --exclude-modules-for-implib option, + allowing users to partition object files and archive members between a DLL + and its associated import library as they are generated during linking. + +* Add support for Lattice Mico32 (lm32) architecture. + +* Add CR16 ELF --embedded-relocs (used to embedded relocations into binaries + for Embedded-PIC code) option. + +* Add to the PE/PE+ targets the support of two different kinds of + pseudo-relocations. They can be selected by the switches + --enable-runtime-pseudo-reloc-v1 and --enable-runtime-pseudo-reloc-v2. + For the switch --enable-runtime-pseudo-reloc it uses for 32-bit + runtime pseudo relocation version one, for 64-bit the version two. + +Changes in 2.19: + +* Linker scripts support a new INSERT command that makes it easier to + augment the default script. + +* Linker script input section filespecs may now specify a file within an + archive by writing "archive:file". + +* The --sort-common switch now has an optional argument which specifies the + direction of sorting. + +* The M68K linker now supports multiple GOT generation schemes controlled via + 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. Changes in 2.18: @@ -298,11 +514,14 @@ Changes in version 2.7: Changes in version 2.6: * When an ELF section name is representable as a C identifier (this is not true - of most ELF section names), *and* the section is not explicitly handled by - the linker script (ie it is an orphaned section) then the linker will - automatically PROVIDE symbols __start_SECNAME and __stop_SECNAME, where - SECNAME is the section name, at the beginning and the end of the section. - This is used by glibc. +of most ELF section names), the linker will automatically define symbols +__start_SECNAME and __stop_SECNAME, where SECNAME is the section name, at the +beginning and the end of the section. This is used by glibc. + + Addendum: Current versions of the linker (at least for version 2.18 onwards +and possibly much earlier as well) place two restrictions on this feature: The +symbols are only implemented for orphaned sections, not for explicitly placed +sections and they are PROVIDEd rather than being defined. * When an ELF section named .gnu.warning is encountered in an input file, the contents of the section are displayed as an error message, and the section is @@ -417,6 +636,12 @@ Changes in version 2.1: other utilities should work on Risc/Ultrix and Irix. +Copyright (C) 2012-2016 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + Local variables: fill-column: 79 End: