| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
operator[](0).
This avoids undefined behaviour caused by an out-of-range access if the
vector is empty, which can happen if an object file's directive section
contains only whitespace.
llvm-svn: 240183
|
|
|
|
|
|
|
|
| |
Alternatename option is in the form of /alternatename:<from>=<to>.
It is an error if there are two options having the same <from> but
different <to>. It is *not* an error if both are the same.
llvm-svn: 240075
|
|
|
|
|
|
| |
No functionality change intended.
llvm-svn: 240061
|
|
|
|
| |
llvm-svn: 240045
|
|
|
|
| |
llvm-svn: 240037
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The linker has to create an XML file for each executable.
This patch supports that feature.
You can optionally embed an XML file to an executable as .rsrc
section. If you choose to do that (by passing /manifest:embed
option), the linker has to create a textual resource file
containing an XML file, compile that using rc.exe to a binary
resource file, conver that resource file to a COFF file using
cvtres.exe, and then link that COFF file. This patch implements
that feature too.
llvm-svn: 239978
|
|
|
|
|
|
| |
Executor is a convenience class to run an external command.
llvm-svn: 239945
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows, we have to create a .lib file for each .dll.
When linking against DLLs, the linker doesn't use the DLL files,
but instead read a list of dllexported symbols from corresponding
lib files.
A library file containing descriptors of a DLL is called an
import library file.
lib.exe has a feature to create an import library file from a
module-definition file. In this patch, we create a module-definition
file and pass that to lib.exe.
We eventually want to create an import library file by ourselves
to eliminate dependency to lib.exe. For now, we just use the MSVC
tool.
llvm-svn: 239937
|
|
|
|
|
|
|
|
|
|
|
|
| |
DLL files are in the same format as executables but they have export tables.
The format of the export table is described in PE/COFF spec section 5.3.
A new class, EdataContents, takes care of creating chunks for export tables.
What we need to do is to parse command line flags for dllexports, and then
instantiate the class to create chunks. For the writer, export table chunks
are opaque data -- it just add chunks to .edata section.
llvm-svn: 239869
|
|
|
|
|
|
|
|
|
|
|
| |
Resource files are data files containing i18n messages, icon images, etc.
MSVC has a tool to convert a resource file to a regular COFF file so that
you can just link that file to embed resources to an executable.
However, you can directly pass resource files to the linker. If you do that,
the linker invokes the tool automatically. This patch implements that feature.
llvm-svn: 239704
|
|
|
|
| |
llvm-svn: 239671
|
|
|
|
| |
llvm-svn: 239270
|
|
|
|
| |
llvm-svn: 239269
|
|
|
|
| |
llvm-svn: 239242
|
|
|
|
| |
llvm-svn: 239073
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of returning non-categorized errors, return categorized errors.
All uses of make_dynamic_error_code are removed.
Because we don't have error reporting mechanism, I just chose to print out
error messages to stderr, and then return an error object. Not sure if
that's the right thing to do, but at least it seems practical.
http://reviews.llvm.org/D10129
llvm-svn: 238714
|
|
|
|
| |
llvm-svn: 238691
|
|
|
|
| |
llvm-svn: 238678
|
|
|
|
|
|
|
|
|
| |
The new mechanism is less code, and fixes the case where all inputs
are archives.
Differential Revision: http://reviews.llvm.org/D10136
llvm-svn: 238618
|
|
|
|
| |
llvm-svn: 238571
|
|
|
|
| |
llvm-svn: 238570
|
|
|
|
| |
llvm-svn: 238567
|
|
|
|
| |
llvm-svn: 238565
|
|
|
|
| |
llvm-svn: 238564
|
|
The previous implementation's driver file is cluttered by lots of
small functions, and it was hard to find important functions.
Make a separate file to prevent that issue.
llvm-svn: 238482
|