powerpc gold, work around pr17670
[platform/upstream/binutils.git] / ld / NEWS
diff --git a/ld/NEWS b/ld/NEWS
index 8c56d4e..c44c0ab 100644 (file)
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,7 +1,179 @@
 -*- 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.
+
+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 '== <ID>' 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=<type> 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 +470,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 +592,12 @@ Changes in version 2.1:
   other utilities should work on Risc/Ultrix and Irix.
 
 \f
+Copyright (C) 2012-2014 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: