1f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines//===- EntryCmd.cpp -------------------------------------------------------===// 2f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// 3f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// The MCLinker Project 4f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// 5f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// This file is distributed under the University of Illinois Open Source 6f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// License. See LICENSE.TXT for details. 7f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// 8f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines//===----------------------------------------------------------------------===// 937b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/Script/EntryCmd.h" 10f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines 1137b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/Support/raw_ostream.h" 1237b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/LinkerScript.h" 1337b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/Module.h" 1437b74a387bb3993387029859c2d9d051c41c724eStephen Hines 1537b74a387bb3993387029859c2d9d051c41c724eStephen Hinesnamespace mcld { 16f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines 17f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines//===----------------------------------------------------------------------===// 18f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines// EntryCmd 19f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines//===----------------------------------------------------------------------===// 20f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen HinesEntryCmd::EntryCmd(const std::string& pEntry) 2137b74a387bb3993387029859c2d9d051c41c724eStephen Hines : ScriptCommand(ScriptCommand::ENTRY), m_Entry(pEntry) { 22f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines} 23f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines 2437b74a387bb3993387029859c2d9d051c41c724eStephen HinesEntryCmd::~EntryCmd() { 25f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines} 26f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines 2737b74a387bb3993387029859c2d9d051c41c724eStephen Hinesvoid EntryCmd::dump() const { 28f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines mcld::outs() << "ENTRY ( " << m_Entry << " )\n"; 29f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines} 30f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines 3137b74a387bb3993387029859c2d9d051c41c724eStephen Hinesvoid EntryCmd::activate(Module& pModule) { 32f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines LinkerScript& script = pModule.getScript(); 33f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines if (!script.hasEntry()) 34f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines script.setEntry(m_Entry); 35f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines} 36f33f6de54db174aa679a4b6d1e040d37e95541c0Stephen Hines 3737b74a387bb3993387029859c2d9d051c41c724eStephen Hines} // namespace mcld 38