@@ -82,34 +82,76 @@ COFF Improvements
82
82
83
83
* Added support for ``--time-trace `` and associated ``--time-trace-granularity ``.
84
84
This generates a .json profile trace of the linker execution.
85
+ (`#68236 <https://github.com/llvm/llvm-project/pull/68236 >`_)
86
+
87
+ * The ``-dependentloadflag `` option was implemented.
88
+ (`#71537 <https://github.com/llvm/llvm-project/pull/71537 >`_)
85
89
86
90
* LLD now prefers library paths specified with ``-libpath: `` over the implicitly
87
91
detected toolchain paths.
92
+ (`#78039 <https://github.com/llvm/llvm-project/pull/78039 >`_)
93
+
94
+ * Added new options ``-lldemit:llvm `` and ``-lldemit:asm `` for getting
95
+ the output of LTO compilation as LLVM bitcode or assembly.
96
+ (`#66964 <https://github.com/llvm/llvm-project/pull/66964 >`_)
97
+ (`#67079 <https://github.com/llvm/llvm-project/pull/67079 >`_)
98
+
99
+ * Added a new option ``-build-id `` for generating a ``.buildid `` section
100
+ when not generating a PDB. A new symbol ``__buildid `` is generated by
101
+ the linker, allowing code to reference the build ID of the binary.
102
+ (`#71433 <https://github.com/llvm/llvm-project/pull/71433 >`_)
103
+ (`#74652 <https://github.com/llvm/llvm-project/pull/74652 >`_)
104
+
105
+ * A new, LLD specific option, ``-lld-allow-duplicate-weak ``, was added
106
+ for allowing duplicate weak symbols.
107
+ (`#68077 <https://github.com/llvm/llvm-project/pull/68077 >`_)
108
+
109
+ * More correctly handle LTO of files that define ``__imp_ `` prefixed dllimport
110
+ redirections.
111
+ (`#70777 <https://github.com/llvm/llvm-project/pull/70777 >`_)
112
+ (`#71376 <https://github.com/llvm/llvm-project/pull/71376 >`_)
113
+ (`#72989 <https://github.com/llvm/llvm-project/pull/72989 >`_)
114
+
115
+ * Linking undefined references to weak symbols with LTO now works.
116
+ (`#70430 <https://github.com/llvm/llvm-project/pull/70430 >`_)
88
117
89
118
* Use the ``SOURCE_DATE_EPOCH `` environment variable for the PE header and
90
119
debug directory timestamps, if neither the ``/Brepro `` nor ``/timestamp: ``
91
120
options have been specified. This makes the linker output reproducible by
92
121
setting this environment variable.
122
+ (`#81326 <https://github.com/llvm/llvm-project/pull/81326 >`_)
123
+
124
+ * Lots of incremental work towards supporting linking ARM64EC binaries.
93
125
94
126
MinGW Improvements
95
127
------------------
96
128
97
129
* Added support for many LTO and ThinLTO options (most LTO options supported
98
130
by the ELF driver, that are implemented by the COFF backend as well,
99
131
should be supported now).
132
+ (`D158412 <https://reviews.llvm.org/D158412 >`_)
133
+ (`D158887 <https://reviews.llvm.org/D158887 >`_)
134
+ (`#77387 <https://github.com/llvm/llvm-project/pull/77387 >`_)
135
+ (`#81475 <https://github.com/llvm/llvm-project/pull/81475 >`_)
100
136
101
137
* LLD no longer tries to autodetect and use library paths from MSVC/WinSDK
102
138
installations when run in MinGW mode; that mode of operation shouldn't
103
139
ever be needed in MinGW mode, and could be a source of unexpected
104
140
behaviours.
141
+ (`D144084 <https://reviews.llvm.org/D144084 >`_)
105
142
106
143
* The ``--icf=safe `` option now works as expected; it was previously a no-op.
107
-
108
- * More correctly handle LTO of files that define ``__imp_ `` prefixed dllimport
109
- redirections.
144
+ (`#70037 <https://github.com/llvm/llvm-project/pull/70037 >`_)
110
145
111
146
* The strip flags ``-S `` and ``-s `` now can be used to strip out DWARF debug
112
147
info and symbol tables while emitting a PDB debug info file.
148
+ (`#75181 <https://github.com/llvm/llvm-project/pull/75181 >`_)
149
+
150
+ * The option ``--dll `` is handled as an alias for the ``--shared `` option.
151
+ (`#68575 <https://github.com/llvm/llvm-project/pull/68575 >`_)
152
+
153
+ * The option ``--sort-common `` is ignored now.
154
+ (`#66336 <https://github.com/llvm/llvm-project/pull/66336 >`_)
113
155
114
156
MachO Improvements
115
157
------------------
0 commit comments