[Driver] Properly handle -entry for X86 Linux.
llvm-svn: 169718
This commit is contained in:
parent
3825760550
commit
99b99d26bb
|
|
@ -118,7 +118,8 @@ public:
|
||||||
if (llvm::opt::Arg *A = _inputArgs->getLastArg(ld::OPT_entry))
|
if (llvm::opt::Arg *A = _inputArgs->getLastArg(ld::OPT_entry))
|
||||||
newArgs->AddJoinedArg(A, _core.getOption(core::OPT_entry), A->getValue());
|
newArgs->AddJoinedArg(A, _core.getOption(core::OPT_entry), A->getValue());
|
||||||
else
|
else
|
||||||
newArgs->AddJoinedArg(nullptr, _core.getOption(core::OPT_entry), "start");
|
newArgs->AddJoinedArg(nullptr, _core.getOption(core::OPT_entry),
|
||||||
|
"_start");
|
||||||
|
|
||||||
if (llvm::opt::Arg *A = _inputArgs->getLastArg(ld::OPT_output))
|
if (llvm::opt::Arg *A = _inputArgs->getLastArg(ld::OPT_output))
|
||||||
newArgs->AddJoinedArg(A, _core.getOption(core::OPT_output),
|
newArgs->AddJoinedArg(A, _core.getOption(core::OPT_output),
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ using namespace lld;
|
||||||
|
|
||||||
class X86LinuxTarget final : public Target {
|
class X86LinuxTarget final : public Target {
|
||||||
public:
|
public:
|
||||||
X86LinuxTarget(const LinkerOptions &lo) : Target(lo), _woe() {
|
X86LinuxTarget(const LinkerOptions &lo) : Target(lo), _woe(lo._entrySymbol) {
|
||||||
_readerELF.reset(createReaderELF(_roe, _roa));
|
_readerELF.reset(createReaderELF(_roe, _roa));
|
||||||
_readerYAML.reset(createReaderYAML(_roy));
|
_readerYAML.reset(createReaderYAML(_roy));
|
||||||
_writer.reset(createWriterELF(_woe));
|
_writer.reset(createWriterELF(_woe));
|
||||||
|
|
@ -63,12 +63,12 @@ private:
|
||||||
} _roy;
|
} _roy;
|
||||||
|
|
||||||
struct WOpts : lld::WriterOptionsELF {
|
struct WOpts : lld::WriterOptionsELF {
|
||||||
WOpts() {
|
WOpts(StringRef entry) {
|
||||||
_endianness = llvm::support::little;
|
_endianness = llvm::support::little;
|
||||||
_is64Bit = false;
|
_is64Bit = false;
|
||||||
_type = llvm::ELF::ET_EXEC;
|
_type = llvm::ELF::ET_EXEC;
|
||||||
_machine = llvm::ELF::EM_386;
|
_machine = llvm::ELF::EM_386;
|
||||||
_entryPoint = "_start";
|
_entryPoint = entry;
|
||||||
}
|
}
|
||||||
} _woe;
|
} _woe;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue