- Jan 06, 2017
-
-
Rui Ueyama authored
llvm-svn: 291223
-
- Dec 22, 2016
-
-
Rui Ueyama authored
Previously, that was an alias to -color-diagnostics=auto. However, Clang's -fcolor-diagnostics is an alias to -fcolor-diagnostics=always, so that was confusing. This patch fixes that issue. llvm-svn: 290332
-
- Dec 20, 2016
-
-
Rui Ueyama authored
Previously, some errors that were checked before we set to Config->ColorDiagnostics weren't colored. This patch moves the code to set the variable so that such error messages are colored just like other error messages. llvm-svn: 290157
-
- Dec 18, 2016
-
-
Rui Ueyama authored
I thought for a while about how to remove it, but it looks like we can just copy the file for now. Of course I'm not happy about that, but it's just less than 50 lines of code, and we already have duplicate code in Error.h and some other places. I want to solve them all at once later. Differential Revision: https://reviews.llvm.org/D27819 llvm-svn: 290062
-
- Dec 08, 2016
-
-
Rui Ueyama authored
llvm-svn: 289084
-
Rafael Espindola authored
The feature is documented as ----------------------------- The format of the dynamic list is the same as the version node without scope and node name. See *note VERSION:: for more information. -------------------------------- And indeed qt uses a dynamic list with an 'extern "C++"' in it. With this patch we support that The change to gc-sections-shared makes us match bfd. Just because we kept bar doesn't mean it has to be in the dynamic symbol table. The changes to invalid-dynamic-list.test and reproduce.s are because of the new parser. The changes to version-script.s are the only case where we change behavior with regards to bfd, but I would like to see a mix of --version-script and --dynamic-list used in the wild before complicating the code. llvm-svn: 289082
-
- Nov 21, 2016
-
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D26795 llvm-svn: 287547
-
Rui Ueyama authored
llvm-svn: 287510
-
- Nov 20, 2016
-
-
Rui Ueyama authored
We have a .cpp and a .h for parseDynamicList(). This patch moves the function to DriverUtil.cpp. llvm-svn: 287468
-
- Nov 19, 2016
-
-
Rui Ueyama authored
llvm-svn: 287457
-
Rui Ueyama authored
llvm-svn: 287456
-
Rui Ueyama authored
This patch also changes its return type to simplify callers. llvm-svn: 287455
-
Rui Ueyama authored
We do not have an option taking more than one arguments, so we can just say "missing argument" instead of "missing argument(s)". llvm-svn: 287454
-
- Nov 14, 2016
-
-
George Rimar authored
llvm-svn: 286805
-
- Oct 28, 2016
-
-
Rui Ueyama authored
Previously, we have a lot of BumpPtrAllocators, but all these allocators virtually have the same lifetime because they are not freed until the linker finishes its job. This patch aggregates them into a single allocator. Differential revision: https://reviews.llvm.org/D26042 llvm-svn: 285452
-
- Oct 19, 2016
-
-
Rui Ueyama authored
llvm-svn: 284641
-
- Jul 26, 2016
-
-
Peter Collingbourne authored
This flag is implemented similarly to --reproduce in the ELF linker. This patch implements /linkrepro by moving the cpio writer and associated utility functions to lldCore, and using that implementation in both linkers. One COFF-specific detail is that we store the object file from which the resource files were created in our reproducer, rather than the resource files themselves. This allows the reproducer to be used on non-Windows systems for example. Differential Revision: https://reviews.llvm.org/D22418 llvm-svn: 276719
-
- Jul 16, 2016
-
-
Rui Ueyama authored
llvm-svn: 275695
-
Rui Ueyama authored
llvm-svn: 275694
-
- Jul 07, 2016
-
-
Rui Ueyama authored
warning() depends on Config->FatalWarnings, so we don't want to call that function before we initialize that member. llvm-svn: 274723
-
Rui Ueyama authored
llvm-svn: 274719
-
- Jul 06, 2016
-
-
Davide Italiano authored
Differential Revision: http://reviews.llvm/org/D22015 llvm-svn: 274684
-
Rafael Espindola authored
Otherwise when extracting these files on a unix system one ends up with files named like "repro\bar\foo.o". llvm-svn: 274622
-
- Jun 29, 2016
-
-
Rui Ueyama authored
llvm-svn: 274109
-
- Jun 27, 2016
-
-
Rui Ueyama authored
Previously, we searched for a .so file from all library paths and then searched for a .a file. That logic is wrong. What we need to do is to look for a .so and a .a for each library path. llvm-svn: 273846
-
- Jun 06, 2016
-
-
Rui Ueyama authored
Differential Revision: http://reviews.llvm.org/D21008 llvm-svn: 271901
-
- Jun 01, 2016
-
-
Rafael Espindola authored
We were not reading it or including in the --reproduce archive. llvm-svn: 271367
-
- May 15, 2016
-
-
Rui Ueyama authored
This code separates the code to create cpio archive from the driver. llvm-svn: 269593
-
- May 13, 2016
-
-
Rui Ueyama authored
If you specify the option in the form of --build-id=0x<hexstring>, that hexstring is set as a build ID. We observed that the feature is actually in use in some builds, so we want this feature. llvm-svn: 269495
-
- May 10, 2016
-
-
Rafael Espindola authored
llvm-svn: 269102
-
- May 05, 2016
-
-
Rui Ueyama authored
Fixes bug 27648. llvm-svn: 268569
-
- May 04, 2016
-
-
Rafael Espindola authored
This is both simpler and safer. If we crash at any point, there is a valid cpio file to reproduce the crash. Thanks to Rui for the suggestion. llvm-svn: 268495
-
- May 03, 2016
-
-
Rafael Espindola authored
We want --reproduce to * not rewrite scripts and thin archives * work with absolute paths Given that, it pretty much has to create a full directory tree. On windows that is problematic because of the very short maximum path limit. On most cases users can still work around it with "--repro c:\r", but that is annoying and not viable for automated testing. We then need to produce some form of archive with the files. The first option that comes to mind is .a files since we already have code for writing them. There are a few problems with them The format has a dedicated string table, so we cannot start writing it until all members are known. Regular implementations don't support creating directories. We could make llvm-ar support that, but that is probably not a good idea. The next natural option would be tar. The problem is that to support long path names (which is how this started) it needs a "pax extended header" making this an annoying format to write. The next option I looked at seems a natural fit: cpio files. They are available on pretty much every unix, support directories and long path names and are really easy to write. The only slightly annoying part is a terminator, but at least gnu cpio only prints a warning if it is missing, which is handy for crashes. This patch still makes an effort to always create it. llvm-svn: 268404
-
Rafael Espindola authored
llvm-svn: 268324
-
- May 02, 2016
-
-
Rui Ueyama authored
llvm-svn: 268292
-
Rui Ueyama authored
llvm-svn: 268278
-
Rui Ueyama authored
llvm-svn: 268275
-
Rui Ueyama authored
--export-dynamic-symbol doesn't take path. llvm-svn: 268273
-
Rui Ueyama authored
llvm-svn: 268258
-
Rafael Espindola authored
With this it is possible to use chroot/fakechroot to have a completely reproducible link even when thin archives or linker scripts have absolute paths. llvm-svn: 268231
-