Add --asm option to elf2e32, so that GCCE builds can use --asm=gas with --dump=a and get a usable .s file (Bug 1405)
// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
// All rights reserved.
// This component and the accompanying materials are made available
// under the terms of "Eclipse Public License v1.0"
// which accompanies this distribution, and is available
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
//
// Initial Contributors:
// Nokia Corporation - initial contribution.
//
// Contributors:
//
// Description:
// Implementation of the Class UseCaseBase for the elf2e32 tool
// @internalComponent
// @released
//
//
#include <iostream>
#include "usecasebase.h"
#include "e32exporttable.h"
#include "errorhandler.h"
UseCaseBase::UseCaseBase(ParameterListInterface *aParameterListInterface)
{
iParameterListInterface = aParameterListInterface;
}
UseCaseBase::~UseCaseBase()
{
}
/**
This function calls the DefInput() from ParameterManager through the interface.
@internalComponent
@released
@return the name of the input DEF file if provided as input through --definput or 0.
*/
char * UseCaseBase::DefInput()
{
return (iParameterListInterface->DefInput());
}
/**
This function calls the DSOOutput() from ParameterManager through the interface.
@internalComponent
@released
@return the name of the outut DSO file if provided as input through --dso or 0.
*/
char * UseCaseBase::DSOOutput()
{
return (iParameterListInterface->DSOOutput());
}
/**
This function calls the LinkAsDLLName() from ParameterManager through the interface.
@internalComponent
@released
@return the name of the DLL to be linked with if provided as input through --linkas or 0.
*/
char * UseCaseBase::LinkAsDLLName()
{
return (iParameterListInterface->LinkAsDLLName());
}
/**
This function calls the FileName() from ParameterManager through the interface.
@internalComponent
@released
@param aFileName
The filename alongwith the absolute path.
@return the filename (without the absolute path) for valid input else 0.
*/
char * UseCaseBase::FileName(char * aFileName)
{
return (iParameterListInterface->FileName(aFileName));
}
/**
This function calls the DefOutput() from ParameterManager through the interface.
@internalComponent
@released
@return the name of the output DEF file if provided as input through --defoutput or 0.
*/
char * UseCaseBase::DefOutput()
{
return iParameterListInterface->DefOutput();
}
/**
This function calls the ElfInput() from ParameterManager through the interface.
@internalComponent
@released
@return the name of the Input ELF file if provided as input through --elfinput or 0.
*/
char * UseCaseBase::InputElfFileName()
{
return iParameterListInterface->ElfInput();
}
/**
This function gets DSO file name from the parameter manager
@internalComponent
@released
@return DSO file name
*/
const char * UseCaseBase::OutputDSOFileName()
{
return iParameterListInterface->DSOOutput();
}
/**
This function gets the E32 image file name freom the parameter manager
@internalComponent
@released
@return E32 image file name
*/
const char * UseCaseBase::OutputE32FileName()
{
return iParameterListInterface->E32ImageOutput();
}
/**
This function returns if data in a DLL is allowed.
@internalComponent
@released
@return if data in a DLL is allowed.
*/
bool UseCaseBase::AllowDllData()
{
return iParameterListInterface->DllDataP();
}
/**
This function returns committed heap size
@internalComponent
@released
@return committed heap size
*/
size_t UseCaseBase::HeapCommittedSize()
{
return iParameterListInterface->HeapCommittedSize();
}
/**
This function returns reserved heap size
@internalComponent
@released
@return reserved heap size
*/
size_t UseCaseBase::HeapReservedSize()
{
return iParameterListInterface->HeapReservedSize();
}
/**
This function returns committed stack size
@internalComponent
@released
@return committed stack size
*/
size_t UseCaseBase::StackCommittedSize()
{
return iParameterListInterface->StackCommittedSize();
}
/**
This function returns if the def file is unfrozen
@internalComponent
@released
@return if the def file is unfrozen
*/
bool UseCaseBase::Unfrozen()
{
return iParameterListInterface->Unfrozen();
}
/**
This function returns Uid1
@internalComponent
@released
@return Uid1
*/
unsigned int UseCaseBase::GetUid1()
{
return iParameterListInterface->Uid1();
}
/**
This function returns Uid2
@internalComponent
@released
@return Uid2
*/
unsigned int UseCaseBase::GetUid2()
{
return iParameterListInterface->Uid2();
}
/**
This function returns Uid3
@internalComponent
@released
@return Uid3
*/
unsigned int UseCaseBase::GetUid3()
{
return iParameterListInterface->Uid3();
}
/**
This function returns secure Id
@internalComponent
@released
@return secure Id
*/
unsigned int UseCaseBase::GetSecureId()
{
return iParameterListInterface->SecureId();
}
/**
This function returns true if the --sid option is enabled.
@internalComponent
@released
@return true if --sid option is passed in.
*/
bool UseCaseBase::GetSecureIdOption()
{
return iParameterListInterface->SecureIdOption();
}
/**
This function returns vendor Id
@internalComponent
@released
@return Vendor Id
*/
unsigned int UseCaseBase::GetVendorId()
{
return iParameterListInterface->VendorId();
}
/**
This function returns version
@internalComponent
@released
@return version
*/
unsigned int UseCaseBase::GetVersion()
{
return iParameterListInterface->Version();
}
/**
This function returns call entry point
@internalComponent
@released
@return call entry point
*/
bool UseCaseBase::GetCallEntryPoints()
{
return iParameterListInterface->CallEntryPoint();
}
/**
This function returns capability
@internalComponent
@released
@return capability
*/
SCapabilitySet UseCaseBase::GetCapability()
{
return iParameterListInterface->Capability();
}
/**
This function returns priority
@internalComponent
@released
@return priority
*/
TProcessPriority UseCaseBase::GetPriority()
{
return iParameterListInterface->Priority();
}
/**
This function returns if fixed address is enabled.
@internalComponent
@released
@return if fixed address is enabled.
*/
bool UseCaseBase::GetFixedAddress()
{
return iParameterListInterface->FixedAddress();
}
/**
This function returns if compression is enabled.
@internalComponent
@released
@return if compression is enabled.
*/
bool UseCaseBase::GetCompress()
{
return iParameterListInterface->Compress();
}
/**
This function returns compression method
@internalComponent
@released
@return UID of compression method
*/
unsigned int UseCaseBase::GetCompressionMethod()
{
return iParameterListInterface->CompressionMethod();
}
/**
This function returns the FPU type.
@internalComponent
@released
@return FPU type.
*/
unsigned int UseCaseBase::GetFPU()
{
return iParameterListInterface->FPU();
}
/**
This function returns the library search path.
@internalComponent
@released
@return libpath
*/
ParameterListInterface::LibSearchPaths & UseCaseBase::GetLibSearchPaths()
{
return iParameterListInterface->LibPath();
}
/**
This function returns the logfile name
@internalComponent
@released
@return log file name
*/
char * UseCaseBase::LogFile()
{
return (iParameterListInterface->LogFile());
}
/**
This function returns if the logging option is enabled
@internalComponent
@released
@return logging option enabled.
*/
bool UseCaseBase::LogFileOption()
{
return (iParameterListInterface->LogFileOption());
}
/**
This function returns if export library is enabled.
@internalComponent
@released
@return if the export library is enabled.
*/
bool UseCaseBase::GetIgnoreNonCallable()
{
return iParameterListInterface->IgnoreNonCallable();
}
/**
This function returns the directory separator
@internalComponent
@released
@return directory separator
*/
char UseCaseBase::GetDirectorySeparator()
{
return iParameterListInterface->DirectorySeparator();
}
bool UseCaseBase::IsCodePaged()
{
return (iParameterListInterface->IsCodePaged());
}
bool UseCaseBase::IsCodeUnpaged()
{
return (iParameterListInterface->IsCodeUnpaged());
}
bool UseCaseBase::IsCodeDefaultPaged()
{
return (iParameterListInterface->IsCodeDefaultPaged());
}
bool UseCaseBase::IsDataPaged()
{
return (iParameterListInterface->IsDataPaged());
}
bool UseCaseBase::IsDataUnpaged()
{
return (iParameterListInterface->IsDataUnpaged());
}
bool UseCaseBase::IsDataDefaultPaged()
{
return (iParameterListInterface->IsDataDefaultPaged());
}
/**
This function returns whether the debuggable option is enabled or not.
@internalComponent
@released
@return whether debuggable option is enabled.
*/
bool UseCaseBase::IsDebuggable()
{
return (iParameterListInterface->IsDebuggable());
}
bool UseCaseBase::IsSmpSafe()
{
return iParameterListInterface->IsSmpSafe();
}
/**
This function returns if the unwanted exports are to be ignored
@internalComponent
@released
@return if the unwanted exports are to be ignored
*/
bool UseCaseBase::ExcludeUnwantedExports()
{
return iParameterListInterface->ExcludeUnwantedExports();
}
/**
This function returns if the target is a custom dll
@internalComponent
@released
@return if target is a custom dll
*/
bool UseCaseBase::IsCustomDllTarget()
{
return iParameterListInterface->IsCustomDllTarget();
}
/**
This function returns whether named lookup of symbols is enabled or not.
@internalComponent
@released
@return default named symbol lookup enabled.
*/
bool UseCaseBase::GetNamedSymLookup()
{
return (iParameterListInterface->SymNamedLookup());
}