toolsandutils/e32tools/elf2e32/source/pl_elfrelocations.cpp
branchGCC_SURGE
changeset 56 626366955efb
parent 55 59148e28d9f6
child 57 e69da8462916
--- a/toolsandutils/e32tools/elf2e32/source/pl_elfrelocations.cpp	Fri Jun 25 18:24:47 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-// 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 ElfRelocations for the elf2e32 tool
-// @internalComponent
-// @released
-// 
-//
-
-#include "pl_elfrelocations.h"
-#include "pl_elflocalrelocation.h"
-
-/**
-Constructor for class ElfRelocations
-@internalComponent
-@released
-*/
-ElfRelocations::ElfRelocations() : \
-	iCodeSortedP(false), iDataSortedP(false)
-{
-}
-
-/**
-Destructor for class ElfRelocations to release allocated memory
-@internalComponent
-@released
-*/
-ElfRelocations::~ElfRelocations()
-{
-	if(iCodeRelocations.size())
-	{
-		RelocationList::iterator aItr = iCodeRelocations.begin();
-		RelocationList::iterator last = iCodeRelocations.end();
-		ElfLocalRelocation *temp;
-
-		while( aItr != last)
-		{
-			temp = *aItr;
-			aItr++;
-			delete temp;
-		}
-		iCodeRelocations.clear();
-	}
-	if(iDataRelocations.size())
-	{
-		RelocationList::iterator aItr = iDataRelocations.begin();
-		RelocationList::iterator last = iDataRelocations.end();
-		ElfLocalRelocation *temp;
-
-		while( aItr != last)
-		{
-			temp = *aItr;
-			aItr++;
-			delete temp;
-		}
-		iDataRelocations.clear();
-	}
-}
-
-
-/**
-Function for adding Elf local Relocations.
-@internalComponent
-@released
-@return 0 if therelocation is valid.
-*/
-PLUINT32 ElfRelocations::Add(ElfLocalRelocation* aReloc){
-	if(!aReloc) return 1;
-	
-	switch (aReloc->iSegmentType)
-	{
-	case ESegmentRO:
-		iCodeSortedP = false;
-		iCodeRelocations.push_back(aReloc);
-		break;
-	case ESegmentRW:
-		iDataSortedP = false;
-		iDataRelocations.push_back(aReloc);
-		break;
-	default:
-		;
-	}
-
-	return 0;
-}
-
-/**
-Function for getting code relocations. The reloc entries are
-sorted on the address they refer to.
-@internalComponent
-@released
-@return list of code relocation
-*/
-ElfRelocations::RelocationList & ElfRelocations::GetCodeRelocations()
-{
-	if (!iCodeSortedP) 
-	{
-		iCodeRelocations.sort(Cmp());
-		iCodeSortedP = true;
-	}
-  return iCodeRelocations;
-}
-
-/**
-Function for getting data relocations. The reloc entries are
-sorted on the address they refer to.
-@internalComponent
-@released
-@return list of code relocation
-*/
-ElfRelocations::RelocationList & ElfRelocations::GetDataRelocations()
-{
-	if (!iDataSortedP) 
-	{
-		iDataRelocations.sort(Cmp());
-		iDataSortedP = true;
-	}
-  return iDataRelocations;
-}
-
-/**
-Overloaded operator for comparing location the relocations refer to.
-@internalComponent
-@released
-@return comparison of both relocation
-*/
-bool ElfRelocations::Cmp::operator()(ElfRelocation * x, ElfRelocation * y)
-{
-	return x->iAddr < y->iAddr;
-}
-
-