[all-commits] [llvm/llvm-project] f8340c: [LLD] [MinGW] Add more options for disabling flags...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Thu Aug 12 03:27:53 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8340c8c5de6273c2f000a8cef7e1de056b34332
      https://github.com/llvm/llvm-project/commit/f8340c8c5de6273c2f000a8cef7e1de056b34332
  Author: Martin Storsjö <martin at martin.st>
  Date:   2021-08-12 (Thu, 12 Aug 2021)

  Changed paths:
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/MinGW/driver.test

  Log Message:
  -----------
  [LLD] [MinGW] Add more options for disabling flags in the executable

In e72403f96de7f1c681acd5968f72aa986412dfce, we added the flag
"--no-dynamicbase" for disabling the dynamicbase flag which we set
by default. At the time, ld.bfd didn't have any corresponding
option (as ld.bfd defaulted to not setting the flag). Almost at
the same time, corresponding options were added to ld.bfd for
disabling it (while it was being enabled by default), with a
different name, "--disable-dynamicbase".

Thus add the "--disable-dynamicbase" option. Make this default
one advertised in the help listing, but keep the "--no-dynamicbase"
form as an alias. Also improve checking for the last option set
if there are multiple ones on the same command line.

Also add corresponding disable options for a lot of other flags
that we set by default, also added in ld.bfd in the same commit:
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=514b4e191d5f46de8e142fe216e677a35fa9c4bb

Differential Revision: https://reviews.llvm.org/D107930


  Commit: 592adb0b24aca2ccc88d9f5f1c427361897d1172
      https://github.com/llvm/llvm-project/commit/592adb0b24aca2ccc88d9f5f1c427361897d1172
  Author: Martin Storsjö <martin at martin.st>
  Date:   2021-08-12 (Thu, 12 Aug 2021)

  Changed paths:
    M llvm/cmake/modules/GetHostTriple.cmake

  Log Message:
  -----------
  [CMake] Make the vendor part of default mingw triples consistent

Consistently use 'w64' as vendor string; it was 'pc' for the original
i686 triple added in 91bd6c922d7cf, but the later x86_64 triple
used 'w64' as vendor, added in d6c1f37f86440.

When the arm triples were added in c84ad73a27da6, the differing
vendors were copied over accidentally to the arm targets too.

When using per-target runtime directories, having inconsistent vendor
parts of the target triples is fatal.

Differential Revision: https://reviews.llvm.org/D107894


  Commit: 5ed9e5c2c0ee9a77ed4a2a5bd817b03acf78fbac
      https://github.com/llvm/llvm-project/commit/5ed9e5c2c0ee9a77ed4a2a5bd817b03acf78fbac
  Author: Martin Storsjö <martin at martin.st>
  Date:   2021-08-12 (Thu, 12 Aug 2021)

  Changed paths:
    M clang/lib/Driver/ToolChains/MinGW.cpp
    A clang/test/Driver/Inputs/mingw_clang_tree/mingw32/include/i686-unknown-windows-gnu/c++/v1/.keep
    M clang/test/Driver/mingw.cpp

  Log Message:
  -----------
  [clang] [MinGW] Consider the per-target libc++ include directory too

The existing logic for per-target libc++ include directories only
seem to exist for the Gnu and Fuchsia drivers, added in
ea12d779bc238c387511fe7462020f4ecf4a8246 / D89013.

This is less generic than the corresponding case in the Gnu driver,
but matches the existing level of genericity in the MinGW driver
(and others too).

Differential Revision: https://reviews.llvm.org/D107893


Compare: https://github.com/llvm/llvm-project/compare/1f87c7c478a6...5ed9e5c2c0ee


More information about the All-commits mailing list