aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-08-18 00:43:02 +0000
committerRui Ueyama <ruiu@google.com>2016-08-18 00:43:02 +0000
commitc7a55d7ac556f002f12e605aefd6d89f55de9d25 (patch)
tree4e393fb70a450154c80755c05bbdf714deab3bda
parent006e15048266055de46ba2b36583cf3b1f66a877 (diff)
Update release notes.
git-svn-id: https://llvm.org/svn/llvm-project/lld/branches/release_39@279018 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/ReleaseNotes.rst71
1 files changed, 64 insertions, 7 deletions
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index a257676cd..2f3ecf79b 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -16,26 +16,83 @@ Here we describe the status of LLD, including major improvements
from the previous release. All LLD releases may be downloaded
from the `LLVM releases web site <http://llvm.org/releases/>`_.
-Non-comprehensive list of changes in this release
-=================================================
+What's new in ELF Support?
+==========================
-ELF Improvements
+Link-Time Optimization
+----------------------
+
+Initial support for LTO has been added. It is compatible with `the
+LLVM gold plugin <http://llvm.org/docs/GoldPlugin.html>` in terms of
+command line flags and input file format so that LLD is usable as a
+drop-in replacement for GNU gold. LTO is implemented as a native
+feature unlike the GNU gold's plugin mechanism.
+
+Identical Code Folding
+----------------------
+
+LLD 3.9 can now merge identical code sections to produce smaller
+output files. It is expected to be used with ``-ffunction-sections``.
+
+Symbol Versioning
+-----------------
+
+LLD 3.9 is able to link against versioned symbols as well as produce
+versioned symbols. Both the original Sun's symbol versioning scheme
+and the GNU extension are supported.
+
+New Targets
+-----------
+
+LLD has expanded support for new targets, including ARM/Thumb, the x32
+ABI and MIPS N64 ABI, in addition to the existing support for x86,
+x86-64, MIPS, PowerPC and PPC64.
+
+TLS Relocation Optimizations
+----------------------------
+
+The ELF ABI specification of the thread-local variable define a few
+peephole optimizations linkers can do by rewriting instructions at the
+link-time to reduce run-time overhead to access TLS variables. That
+feature has been implemented.
+
+New Linker Flags
----------------
-* Initial support for LTO.
+Many command line options have been added in this release, including:
+
+- Symbol resolution and output options: ``-Bsymbolic-functions``,
+ ``-export-dynamic-symbol``, ``-image-base``, ``-pie``, ``-end-lib``,
+ ``-start-lib``, ``-build-id={md5,sha1,none,0x<hexstring>}``.
+
+- Symbol versioning option: ``-dynamic-list``.
+
+- LTO options: ``-lto-O``, ``-lto-aa-pipeline``, ``-lto-jobs``,
+ ``-lto-newpm-passes``, ``-plugin``, ``-plugin-eq``, ``-plugin-opt``,
+ ``-plugin-opt-eq``, ``-disable-verify``, ``-mllvm``.
+
+- Driver optionss: ``-help``, ``-version``, ``-unresolved-symbols``.
+
+- Debug options: ``-demangle``, ``-reproduce``, ``-save-temps``,
+ ``-strip-debug``, ``-trace``, ``-trace-symbol``,
+ ``-warn-execstack``.
+
+- Exception handling option: ``-eh-frame-hdr``.
+
+- Identical Code Folding option: ``-icf``.
Changes to the MIPS Target
-~~~~~~~~~~~~~~~~~~~~~~~~~~
+--------------------------
* Added support for MIPS N64 ABI.
* Added support for TLS relocations for both O32 and N64 MIPS ABIs.
COFF Improvements
------------------
+=================
* Item 1.
MachO Improvements
-------------------
+==================
* Item 1.