//===- NullaryOp.cpp ------------------------------------------------------===// // // The MCLinker Project // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #include "mcld/Script/NullaryOp.h" #include "mcld/Script/Operand.h" #include "mcld/Target/TargetLDBackend.h" namespace mcld { //===----------------------------------------------------------------------===// // NullaryOp //===----------------------------------------------------------------------===// template <> IntOperand* NullaryOp<Operator::SIZEOF_HEADERS>::eval( const Module& pModule, const TargetLDBackend& pBackend) { IntOperand* res = result(); res->setValue(pBackend.sectionStartOffset()); return res; } template <> IntOperand* NullaryOp<Operator::MAXPAGESIZE>::eval( const Module& pModule, const TargetLDBackend& pBackend) { IntOperand* res = result(); res->setValue(pBackend.abiPageSize()); return res; } template <> IntOperand* NullaryOp<Operator::COMMONPAGESIZE>::eval( const Module& pModule, const TargetLDBackend& pBackend) { IntOperand* res = result(); res->setValue(pBackend.commonPageSize()); return res; } } // namespace mcld