- Mar 05, 2014
-
-
Rui Ueyama authored
llvm-svn: 203017
-
Rui Ueyama authored
llvm-svn: 203004
-
Rui Ueyama authored
llvm-svn: 203003
-
Rui Ueyama authored
llvm-svn: 202998
-
- Mar 04, 2014
-
-
Rui Ueyama authored
Just like x86 exception handler table, the table for x64 needs to be sorted so that runtime can binary search on it. Unlike x86, the table entry for x64 has multiple fields, and they need to be sorted according to its BeginAddress field. This patch also fixes a bug in relocations. llvm-svn: 202874
-
- Mar 03, 2014
-
-
Ahmed Charles authored
Allows removing #include's in LLVM while switching to std::unique_ptr. llvm-svn: 202679
-
- Mar 02, 2014
-
-
Benjamin Kramer authored
llvm-svn: 202645
-
Chandler Carruth authored
llvm-svn: 202638
-
Chandler Carruth authored
using MSVC 2012 or newer. llvm-svn: 202627
-
Chandler Carruth authored
requiring MSVC 2012 or newer. llvm-svn: 202626
-
Chandler Carruth authored
for C++11 issues. llvm-svn: 202623
-
- Mar 01, 2014
-
-
Chandler Carruth authored
C++11. I'm not sure that this is a good idea, but I know some crazy folks on the core working group who like to live dangerously, and they should still be able to build LLD. =D llvm-svn: 202568
-
- Feb 28, 2014
-
-
Rui Ueyama authored
It looks like the contents of the table need to be sorted according to its value, so that the runtime can find the entry by binary search. I'm not 100% sure if we really have to do that, but at least I can say it's safe to do because the contents of .sxdata is just a list of exception handlers' RVAs. llvm-svn: 202550
-
Rui Ueyama authored
llvm-svn: 202527
-
- Feb 27, 2014
-
-
Shankar Easwaran authored
This is to accomodate future changes for newer revisions of the DSP. No change in functionality. llvm-svn: 202350
-
Rui Ueyama authored
llvm-svn: 202322
-
Rui Ueyama authored
llvm-svn: 202314
-
- Feb 26, 2014
-
-
Simon Atanasyan authored
llvm-svn: 202290
-
Simon Atanasyan authored
external relocations. llvm-svn: 202289
-
Simon Atanasyan authored
llvm-svn: 202288
-
Simon Atanasyan authored
llvm-svn: 202287
-
Rui Ueyama authored
If all input files are compatible with Structured Exception Handling, linker is supposed to create an exectuable with a table for SEH handlers. The table consists of exception handlers entry point addresses. The basic idea of SEH in x86 Microsoft ABI is to list all valid entry points of exception handlers in an read-only memory, so that an attacker cannot override the addresses in it. In x86 ABI, data for exception handling is mostly on stack, so it's volnerable to stack overflow attack. In order to protect against it, Windows runtime uses the table to check a return address, to ensure that the address is really an valid entry point for an exception handler. Compiler emits a list of exception handler functions to .sxdata section. It also emits a marker symbol "@feat.00" to indicate that the object is compatible with SEH. SEH is a relatively new feature for COFF, and mixing SEH-compatible and SEH-incompatible objects will result in an invalid executable, so is the marker. If all input files are compatible with SEH, LLD emits a SEH table. SEH table needs to be pointed by Load Configuration strucutre, so when emitting a SEH table LLD emits it too. The address of a Load Configuration will be stored to the file header. llvm-svn: 202248
-
NAKAMURA Takumi authored
[CMake] Use target_link_libraries(INTERFACE|PRIVATE) on CMake-2.8.12 to increase opportunity for parallel build. target_link_libraries(INTERFACE) doesn't bring inter-target dependencies in add_library, although final targets have dependencies to whole dependent libraries. It makes most libraries can be built in parallel. target_link_libraries(PRIVATE) is used to shaared library. Each dependent library is linked to the target.so, and its user will not see its grandchildren. For example, - libclang.so has sufficient libclang*.a(s). - c-index-test requires just only libclang.so. FIXME: lld is tweaked minimally. Adding INTERFACE in each library would be better thing. llvm-svn: 202241
-
NAKAMURA Takumi authored
For now, use both keywords, INTERFACE and PRIVATE via the variable, - ${cmake_2_8_12_INTERFACE} - ${cmake_2_8_12_PRIVATE} They could be cleaned up when we introduce 2.8.12. llvm-svn: 202239
-
NAKAMURA Takumi authored
Please give LLVMObject explicitly in each subdirectory if any of subdirectories required it. llvm-svn: 202236
-
NAKAMURA Takumi authored
llvm-svn: 202235
-
Rui Ueyama authored
llvm-svn: 202217
-
Rui Ueyama authored
IMAGE_DLL_CHARACTERISTICS_NO_SEH flag should be set only when SEH is disabled. llvm-svn: 202215
-
- Feb 25, 2014
-
-
Shankar Easwaran authored
llvm-svn: 202166
-
Rui Ueyama authored
llvm-svn: 202113
-
Shankar Easwaran authored
llvm-svn: 202111
-
Shankar Easwaran authored
llvm-svn: 202101
-
Shankar Easwaran authored
llvm-svn: 202100
-
- Feb 24, 2014
-
-
Nico Rieck authored
This restores the debug output to how it was before r197727 broke it. This went undetected because the corresponding test was never run due to broken feature detection. llvm-svn: 202079
-
Nico Rieck authored
llvm-svn: 202078
-
Rafael Espindola authored
llvm-svn: 202054
-
Rafael Espindola authored
llvm-svn: 202039
-
- Feb 23, 2014
-
-
Nico Rieck authored
llvm-svn: 201970
-
NAKAMURA Takumi authored
[CMake] add_lld_library: link_system_libs is not needed any more. LLVMSupport may provide dependencies to system libs. llvm-svn: 201967
-
- Feb 21, 2014
-
-
Rui Ueyama authored
LLD now prints an error message if /SAFESEH option is specified and one or more input files are not compatible with SEH. llvm-svn: 201900
-