]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - ld/NEWS
Add markers for 2.39 branch
[thirdparty/binutils-gdb.git] / ld / NEWS
diff --git a/ld/NEWS b/ld/NEWS
index 695348141b88e3c34f0ec89da464a83a10fa92a6..40f7059b8975698a96ab2c1a4b820db4ecfc83a1 100644 (file)
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,102 @@
 -*- text -*-
 
+Changes in 2.39:
+
+* The ELF linker will now generate a warning message if the stack is made
+  executable.  By default this warning is not issued if the user has
+  specifically requested an executable stack via the "-z execstack"
+  command line option, but the warning can be forced via the new
+  "--warn-execstack" option.  Alternatively all warnings about creating
+  an executable stack can be suppressed via the "--no-warn-execstack"
+  option.
+
+  In addition the ELF linker will also warn if it creates a memory resident
+  segment with all three of the Read, Write and eXecute permissions set, or
+  if it creates a thread local data segment with the eXecute permission set.
+  These warnings can be disabled via --no-warn-rwx-segments option and
+  re-enabled via the --warn-rwx-segments option.
+
+  New configure options can also control these new features:
+  
+  --enable-warn-execstack=no
+     will disable the warnings about creating an executable stack.
+     
+  --enable-warn-execstack=yes
+     will make --warn-execstack enabled by default.
+     
+  --enable-warn-rwx-segments=no
+     will make --no-warn-rwx-segments enabled by default.
+     
+  --enable-defaul-execstack=no
+     will stop the creation of an executable stack simply because an input file
+     is missing a .note.GNU-stack section, even on architectures where this
+     ehaviour is the default.
+
+* TYPE=<type> is now supported in an output section description to set the
+  section type value.
+
+* Remove (rudimentary) support for the x86-64 sub-architectures Intel L1OM and
+  Intel K1OM.
+
+* The ELF linker now supports a new --package-metadata option that allows
+  embedding a JSON payload in accordance to the Package Metadata specification.
+  If support for libjansson is enabled at build time, the linker will use it to
+  validate the input. This can be enabled with --enable-jansson.
+  For more details, see: https://systemd.io/ELF_PACKAGE_METADATA/
+
+Changes in 2.38:
+
+* Add -z pack-relative-relocs/-z no pack-relative-relocs to x86 ELF
+  linker to pack relative relocations in the DT_RELR section.
+
+* Add support for the LoongArch architecture.
+
+* Add -z indirect-extern-access/-z noindirect-extern-access to x86 ELF
+  linker to control canonical function pointers and copy relocation.
+
+* Add --max-cache-size=SIZE to set the the maximum cache size to SIZE
+  bytes.
+
+Changes in 2.37:
+
+* arm-symbianelf support removed.
+
+* Add -z report-relative-reloc to x86 ELF linker to report dynamic
+  relative relocations.
+
+* Add -z start-stop-gc to disable special treatment of __start_*/__stop_*
+  references when --gc-sections.
+
+* Add -Bno-symbolic to cancel -Bsymbolic and -Bsymbolic-functions.
+
+Changes in 2.36:
+
+* Add libdep plugin, for linking dependencies of static libraries that
+  were recorded by ar in the __.LIBDEP archive member.
+
+* Add --error-handling-script=<NAME> command line option to allow a helper
+  script to be invoked when an undefined symbol or a missing library is
+  encountered.  This option can be suppressed via the configure time
+  switch: --enable-error-handling-script=no.
+
+* Add -z lam-u48 to x86-64 ELF linker to generate LAM_U48 property.
+
+* Add -z lam-u57 to x86-64 ELF linker to enerate LAM_U57 property.
+
+* Add -z lam-u48-report=[none|warning|error] to report missing LAM_U48
+  property.
+
+* Add -z lam-u57-report=[none|warning|error] to report missing LAM_U57
+  property.
+
+* Add -z lam-report=[none|warning|error] to report missing LAM_U48 and
+  LAM_U57 properties.
+
+* Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark
+  x86-64-{baseline|v[234]} ISA level as needed.
+
+* Add -z unique-symbol to avoid duplicated local symbol names.
+
 * The creation of PE format DLLs now defaults to using a more secure set of DLL
   characteristics.
 
   unless you are working on a project that has its own analogue
   of symbol tables that are not reflected in the ELF symtabs.
 
+* Add support for the SHF_GNU_RETAIN ELF section flag.
+  This flag specifies that the section should not be garbage collected by the
+  linker.
+
 Changes in 2.35:
 
 * X86 NaCl target support is removed.
@@ -830,7 +931,7 @@ Changes in version 2.1:
   other utilities should work on Risc/Ultrix and Irix.
 
 \f
-Copyright (C) 2012-2020 Free Software Foundation, Inc.
+Copyright (C) 2012-2022 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright