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