[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))
|
||||
newArgs->AddJoinedArg(A, _core.getOption(core::OPT_entry), A->getValue());
|
||||
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))
|
||||
newArgs->AddJoinedArg(A, _core.getOption(core::OPT_output),
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ using namespace lld;
|
|||
|
||||
class X86LinuxTarget final : public Target {
|
||||
public:
|
||||
X86LinuxTarget(const LinkerOptions &lo) : Target(lo), _woe() {
|
||||
X86LinuxTarget(const LinkerOptions &lo) : Target(lo), _woe(lo._entrySymbol) {
|
||||
_readerELF.reset(createReaderELF(_roe, _roa));
|
||||
_readerYAML.reset(createReaderYAML(_roy));
|
||||
_writer.reset(createWriterELF(_woe));
|
||||
|
|
@ -63,12 +63,12 @@ private:
|
|||
} _roy;
|
||||
|
||||
struct WOpts : lld::WriterOptionsELF {
|
||||
WOpts() {
|
||||
WOpts(StringRef entry) {
|
||||
_endianness = llvm::support::little;
|
||||
_is64Bit = false;
|
||||
_type = llvm::ELF::ET_EXEC;
|
||||
_machine = llvm::ELF::EM_386;
|
||||
_entryPoint = "_start";
|
||||
_entryPoint = entry;
|
||||
}
|
||||
} _woe;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue