Skip to content

Update LLVM and clang from 4.0.1 to 6.0.1 #830

Merged
merged 3 commits into from
Jul 6, 2018

Conversation

pmenzel
Copy link
Collaborator

@pmenzel pmenzel commented Jun 26, 2018

Tested on keineahnung.

Rust 1.25.0 requires clang 6.0.0.

[Release notes for LLVM 6.0.0][1] (excerpt):

> ### Non-comprehensive list of changes in this release ###
>
> *   Support for retpolines was added to help mitigate “branch target
> injection” (variant #2) of the “Spectre” speculative side channels
> described by Project Zero and the Spectre paper.
> *   The Redirects argument of llvm::sys::ExecuteAndWait and
> llvm::sys::ExecuteNoWait was changed to an ArrayRef of optional
> StringRef‘s to make it safer and more convenient to use.
> *   The backend name was added to the Target Registry to allow
> run-time information to be fed back into TableGen. Out-of-tree targets
> will need to add the name used in the def X : Target definition to the
> call to RegisterTarget.
> *   The Debugify pass was added to opt to facilitate testing of debug
> info preservation. This pass attaches synthetic DILocations and
> DIVariables to the instructions in a Module. The CheckDebugify pass
> determines how much of the metadata is lost.
> *   Significantly improved quality of CodeView debug info for Windows.
> *   Preliminary support for Sanitizers and sibling features on
> X86(_64) NetBSD (ASan, UBsan, TSan, MSan, SafeStack, libFuzzer).

[1]: https://releases.llvm.org/6.0.0/docs/ReleaseNotes.html
[Release notes for 6.0.0][1] (excerpt):

> ### Non-comprehensive list of changes in this release ###
>
> *   Support for retpolines was added to help mitigate “branch target injection”
> (variant #2) of the “Spectre” speculative side channels described by Project
> Zero and the Spectre paper.
> *   Bitrig OS was merged back into OpenBSD, so Bitrig support has been removed
> from Clang/LLVM.
> *   The default value of _MSC_VER was raised from 1800 to 1911, making it
> compatible with the Visual Studio 2015 and 2017 C++ standard library headers.
> Users should generally expect this to be regularly raised to match the most
> recently released version of the Visual C++ compiler.
> *   clang now defaults to .init_array if no gcc installation can be found. If a
> gcc installation is found, it still prefers .ctors if the found gcc is older
> than 4.7.0.
> *   The new builtin preprocessor macros __is_target_arch, __is_target_vendor,
> __is_target_os, and __is_target_environment can be used to to examine the
> individual components of the target triple.

[1]: https://releases.llvm.org/6.0.0/tools/clang/docs/ReleaseNotes.html
@pmenzel pmenzel merged commit a6392a1 into master Jul 6, 2018
@donald donald deleted the update-llvm-and-clang-to-6.0.1 branch September 14, 2018 08:47
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant