| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
The COFF spec says that the SectionNumber field in the symbol table is 16 bit
signed type, but MSVC treats the field as if it is unsigned.
llvm-svn: 203901
|
|
|
|
|
|
|
|
| |
This results in some simplifications to the code where an OwningPtr had to
be used with the previous api and then ownership moved to a unique_ptr for
the rest of lld.
llvm-svn: 203809
|
|
|
|
|
|
|
|
|
| |
An object whose machine type header value is unknown looks a bit odd but
is valid. If an object contains only machine-type-independent data, you
can leave the type field unspecified. Some files in oldname.lib are such
object files.
llvm-svn: 203752
|
|
|
|
| |
llvm-svn: 203744
|
|
|
|
|
|
|
| |
This function returns a boolean value, so returning STT_COMMON does not
make sense.
llvm-svn: 203731
|
|
|
|
| |
llvm-svn: 203666
|
|
|
|
| |
llvm-svn: 203412
|
|
|
|
| |
llvm-svn: 203411
|
|
|
|
| |
llvm-svn: 203410
|
|
|
|
| |
llvm-svn: 203409
|
|
|
|
|
|
| |
and relocation entry into the two virtual functions.
llvm-svn: 203408
|
|
|
|
|
|
| |
fields.
llvm-svn: 203406
|
|
|
|
| |
llvm-svn: 203405
|
|
|
|
| |
llvm-svn: 203404
|
|
|
|
| |
llvm-svn: 203403
|
|
|
|
|
|
| |
from MipsELFWriter class. MipsELFWriter is just a helper.
llvm-svn: 203402
|
|
|
|
| |
llvm-svn: 203401
|
|
|
|
|
|
| |
and MipsDynamicSymbolTable classes fields.
llvm-svn: 203400
|
|
|
|
|
|
| |
by the returned pointer dereferencing.
llvm-svn: 203399
|
|
|
|
| |
llvm-svn: 203398
|
|
|
|
| |
llvm-svn: 203331
|
|
|
|
| |
llvm-svn: 203313
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
COMDAT_SELECT_SAME_SIZE is a COMDAT type that I presume exist only in COFF.
The semantics of the type is that linker should merge such COMDAT sections if
their sizes are the same. Otherwise it's an error.
Reviewers: Bigcheese, shankarke, kledzik
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2996
llvm-svn: 203308
|
|
|
|
| |
llvm-svn: 203201
|
|
|
|
|
|
|
| |
For the record, I used clang-modernize to add "override" and perl to remove
"virtual".
llvm-svn: 203164
|
|
|
|
|
|
| |
where it is appropriate.
llvm-svn: 203102
|
|
|
|
| |
llvm-svn: 202998
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Allows removing #include's in LLVM while switching to std::unique_ptr.
llvm-svn: 202679
|
|
|
|
| |
llvm-svn: 202645
|
|
|
|
|
|
| |
using MSVC 2012 or newer.
llvm-svn: 202627
|
|
|
|
|
|
| |
requiring MSVC 2012 or newer.
llvm-svn: 202626
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 202527
|
|
|
|
|
|
|
|
| |
This is to accomodate future changes for newer revisions of the DSP.
No change in functionality.
llvm-svn: 202350
|
|
|
|
| |
llvm-svn: 202322
|
|
|
|
| |
llvm-svn: 202290
|
|
|
|
|
|
| |
external relocations.
llvm-svn: 202289
|
|
|
|
| |
llvm-svn: 202288
|
|
|
|
| |
llvm-svn: 202287
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
depend on LLVMObject.
Please give LLVMObject explicitly in each subdirectory if any of subdirectories required it.
llvm-svn: 202236
|
|
|
|
| |
llvm-svn: 202217
|
|
|
|
|
|
| |
IMAGE_DLL_CHARACTERISTICS_NO_SEH flag should be set only when SEH is disabled.
llvm-svn: 202215
|
|
|
|
| |
llvm-svn: 202166
|
|
|
|
| |
llvm-svn: 202113
|
|
|
|
| |
llvm-svn: 202111
|
|
|
|
| |
llvm-svn: 202100
|
|
|
|
|
|
|
|
| |
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
|