SuccessChanges

Summary

  1. [Object/llvm-readelf/llvm-readobj] - Improve error reporting when e_shstrndx is broken. When e_shstrndx is broken, it is impossible to get a section name. In this patch I improved the error message we show and added tests for Object and for llvm-readelf/llvm-readobj Message was changed in two places: 1) llvm-readelf/llvm-readobj previously used a code from Object/ELF.h, now they have a modified version of it (it has less checks and allows dumping broken things). 2) Code in Object/ELF.h is still used for generic cases. Differential revision: https://reviews.llvm.org/D64714
  2. [Driver] Don't pass --dynamic-linker to ld on Solaris I noticed that clang currently passes --dynamic-linker to ld. This has been the case since Solaris 11 support was added initially back in 2012 by David Chisnall (r150580). I couldn't find any patch submission, let alone a justification, for this, and it seems completely useless: --dynamic-linker is a gld compatibility form of the option, the native option being -I. First of all, however, the dynamic linker passed is simply the default, so there's no reason at all to specify it in the first place. This patch removes passing the option and adjusts the affected testcase accordingly. Tested on x86_64-pc-solaris2.11 and sparcv9-sun-solaris2.11. Differential Revision: https://reviews.llvm.org/D64493
Revision 366203 by grimar:
[Object/llvm-readelf/llvm-readobj] - Improve error reporting when e_shstrndx is broken.

When e_shstrndx is broken, it is impossible to get a section name.
In this patch I improved the error message we show and
added tests for Object and for llvm-readelf/llvm-readobj

Message was changed in two places:
1) llvm-readelf/llvm-readobj previously used a code from Object/ELF.h,
now they have a modified version of it (it has less checks and allows
dumping broken things).
2) Code in Object/ELF.h is still used for generic cases.

Differential revision: https://reviews.llvm.org/D64714
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Object/ELF.h (diff)llvm.src/include/llvm/Object/ELF.h
The file was modified/llvm/trunk/test/Object/invalid.test (diff)llvm.src/test/Object/invalid.test
The file was added/llvm/trunk/test/tools/llvm-readobj/elf-invalid-shstrndx.testllvm.src/test/tools/llvm-readobj/elf-invalid-shstrndx.test
The file was modified/llvm/trunk/tools/llvm-readobj/ELFDumper.cpp (diff)llvm.src/tools/llvm-readobj/ELFDumper.cpp
The file was modified/llvm/trunk/tools/llvm-readobj/llvm-readobj.cpp (diff)llvm.src/tools/llvm-readobj/llvm-readobj.cpp
The file was modified/llvm/trunk/tools/llvm-readobj/llvm-readobj.h (diff)llvm.src/tools/llvm-readobj/llvm-readobj.h
Revision 366202 by ro:
[Driver] Don't pass --dynamic-linker to ld on Solaris

I noticed that clang currently passes --dynamic-linker to ld.  This has been the case
since Solaris 11 support was added initially back in 2012 by David Chisnall (r150580).
I couldn't find any patch submission, let alone a justification, for this, and it seems
completely useless: --dynamic-linker is a gld compatibility form of the option, the
native option being -I.  First of all, however, the dynamic linker passed is simply the
default, so there's no reason at all to specify it in the first place.

This patch removes passing the option and adjusts the affected testcase accordingly.

Tested on x86_64-pc-solaris2.11 and sparcv9-sun-solaris2.11.

Differential Revision: https://reviews.llvm.org/D64493
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/Solaris.cpp (diff)clang.src/lib/Driver/ToolChains/Solaris.cpp
The file was removed/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/ld.so.1clang.src/test/Driver/Inputs/solaris_sparc_tree/usr/lib/ld.so.1
The file was removed/cfe/trunk/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/ld.so.1clang.src/test/Driver/Inputs/solaris_sparc_tree/usr/lib/sparcv9/ld.so.1
The file was removed/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/ld.so.1clang.src/test/Driver/Inputs/solaris_x86_tree/usr/lib/amd64/ld.so.1
The file was removed/cfe/trunk/test/Driver/Inputs/solaris_x86_tree/usr/lib/ld.so.1clang.src/test/Driver/Inputs/solaris_x86_tree/usr/lib/ld.so.1
The file was modified/cfe/trunk/test/Driver/solaris-ld.c (diff)clang.src/test/Driver/solaris-ld.c