1cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project//===- EntryCmd.cpp -------------------------------------------------------===// 2cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project// 305436638acc7c010349a69c3395f1a57c642dc62Ying Wang// The MCLinker Project 4cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project// 505436638acc7c010349a69c3395f1a57c642dc62Ying Wang// This file is distributed under the University of Illinois Open Source 6cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project// License. See LICENSE.TXT for details. 705436638acc7c010349a69c3395f1a57c642dc62Ying Wang// 805436638acc7c010349a69c3395f1a57c642dc62Ying Wang//===----------------------------------------------------------------------===// 9cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <mcld/Script/EntryCmd.h> 10cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <mcld/Support/raw_ostream.h> 11cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <mcld/LinkerScript.h> 12cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project#include <mcld/Module.h> 13cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 14cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Projectusing namespace mcld; 15cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project 1605436638acc7c010349a69c3395f1a57c642dc62Ying Wang//===----------------------------------------------------------------------===// 17cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project// EntryCmd 1805436638acc7c010349a69c3395f1a57c642dc62Ying Wang//===----------------------------------------------------------------------===// 1905436638acc7c010349a69c3395f1a57c642dc62Ying WangEntryCmd::EntryCmd(const std::string& pEntry) 20cea198a11f15a2eb071d98491ca9a8bc8cebfbc4The Android Open Source Project : ScriptCommand(ScriptCommand::ENTRY), 2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang m_Entry(pEntry) 2205436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 2405436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2505436638acc7c010349a69c3395f1a57c642dc62Ying WangEntryCmd::~EntryCmd() 2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 2705436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang 2905436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid EntryCmd::dump() const 3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang mcld::outs() << "ENTRY ( " << m_Entry << " )\n"; 3205436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang 3405436638acc7c010349a69c3395f1a57c642dc62Ying Wangvoid EntryCmd::activate(Module& pModule) 3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang{ 3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang LinkerScript& script = pModule.getScript(); 3705436638acc7c010349a69c3395f1a57c642dc62Ying Wang if (!script.hasEntry()) 3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang script.setEntry(m_Entry); 3905436638acc7c010349a69c3395f1a57c642dc62Ying Wang} 4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang 4105436638acc7c010349a69c3395f1a57c642dc62Ying Wang