diff -r 000000000000 -r 83f4b4db085c toolsandutils/e32tools/elf2e32/source/pl_elflocalrelocation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolsandutils/e32tools/elf2e32/source/pl_elflocalrelocation.h Tue Feb 02 01:39:43 2010 +0200 @@ -0,0 +1,54 @@ +// 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 the License "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 ElfLocalRelocation for the elf2e32 tool +// @internalComponent +// @released +// +// + +#if !defined(_PL_ELFLOCALRELOCATION_H) +#define _PL_ELFLOCALRELOCATION_H + +#include "pl_elfrelocation.h" + +/** +This class represents relocations generated by the linker that need to be interpreted into +the E32 image. +@internalComponent +@released +*/ +class ElfLocalRelocation : public ElfRelocation +{ + +public: + ElfLocalRelocation(ElfExecutable *aElfExec,PLMemAddr32 aAddr, \ + PLUINT32 aAddend, PLUINT32 aIndex, PLUCHAR aRelType, \ + Elf32_Rel* aRel, bool aVeneerSymbol=false); + ElfLocalRelocation(ElfExecutable *aElfExec,PLMemAddr32 aAddr, \ + PLUINT32 aAddend, PLUINT32 aIndex, PLUCHAR aRelType, \ + Elf32_Rel* aRel, ESegmentType aSegmentType, Elf32_Sym* aSym, bool aDelSym, bool aVeneerSymbol=false); + ~ElfLocalRelocation(); + bool IsImportRelocation(); + void Add(); + + bool ExportTableReloc(); + PLUINT16 Fixup(); + bool iDelSym; + bool iVeneerSymbol; +}; + + + + +#endif // !defined(_PL_ELFLOCALRELOCATION_H)