llvm-capstone/lld/COFF
Nico Weber d48ea5da94 lld-link: Add a flag /lldignoreenv that makes lld-link ignore env vars.
This is useful for enforcing that builds are independent of the
environment; it can be used when all system library paths are added
via /libpath: already. It's similar ot cl.exe's /X flag.

Since it should also affect %LINK% (the other caller of
`Process::GetEnv` in lld/COFF), the early-option-parsing needs
to move around a bit. The options are:

- Add a manual loop over the argv ArrayRef and look for "/lldignoreenv".
  This repeats the name of the flag in both Options.td and in
  DriverUtils.cpp.

- Add yet another table.ParseArgs() call just for /lldignoreenv before
  adding %LINK%.

- Use the existing early ParseArgs() that's there for --rsp-quoting and use
  it for /lldignoreenv for %LINK% as well. This means --rsp-quoting
  and /lldignoreenv can't be passed via %LINK%.

I went with the third approach.

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

llvm-svn: 371852
2019-09-13 13:13:52 +00:00
..
Chunks.cpp [COFF] Rename variale references in comments after VariableName -> variableName change 2019-07-16 08:26:38 +00:00
Chunks.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
CMakeLists.txt [LLD][COFF] Early dependency detection 2019-04-01 13:36:59 +00:00
Config.h [lld-link] implement -lto-obj-path 2019-08-21 18:24:59 +00:00
DebugTypes.cpp reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
DebugTypes.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
DLL.cpp [COFF] Clarify a comment. NFC. 2019-08-02 11:08:15 +00:00
DLL.h [COFF] Share the tail in delayimport symbol thunks 2019-07-11 21:19:11 +00:00
Driver.cpp lld-link: Add a flag /lldignoreenv that makes lld-link ignore env vars. 2019-09-13 13:13:52 +00:00
Driver.h lld-link: Add a flag /lldignoreenv that makes lld-link ignore env vars. 2019-09-13 13:13:52 +00:00
DriverUtils.cpp lld-link: Add a flag /lldignoreenv that makes lld-link ignore env vars. 2019-09-13 13:13:52 +00:00
ICF.cpp [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
ICF.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
InputFiles.cpp reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
InputFiles.h reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
LTO.cpp [lld-link] implement -lto-obj-path 2019-08-21 18:24:59 +00:00
LTO.h [lld-link] implement -thinlto-index-only 2019-07-11 18:03:14 +00:00
MapFile.cpp Fight a bit against global initializers. NFC. 2019-08-22 19:43:27 +00:00
MapFile.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MarkLive.cpp Fix odd variable names. 2019-07-12 06:12:27 +00:00
MarkLive.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
MinGW.cpp Rename F_{None,Text,Append} to OF_{None,Text,Append}. NFC 2019-08-05 05:43:48 +00:00
MinGW.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Options.td lld-link: Add a flag /lldignoreenv that makes lld-link ignore env vars. 2019-09-13 13:13:52 +00:00
PDB.cpp [COFF] Print the file name on errors writing the pdb file 2019-08-20 18:56:48 +00:00
PDB.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
README.md Update the documents of the new LLD. 2016-03-12 06:06:40 +00:00
Symbols.cpp reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
Symbols.h reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
SymbolTable.cpp reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
SymbolTable.h reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
TypeMerger.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00
Writer.cpp reland "[lld-link] implement -start-lib and -end-lib" 2019-09-03 20:32:16 +00:00
Writer.h [Coding style change][lld] Rename variables for non-ELF ports 2019-07-11 05:40:30 +00:00

See docs/NewLLD.rst