You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.1 KiB
39 lines
1.1 KiB
4 months ago
|
//===- MipsELFDynamic.h ---------------------------------------------------===//
|
||
|
//
|
||
|
// The MCLinker Project
|
||
|
//
|
||
|
// This file is distributed under the University of Illinois Open Source
|
||
|
// License. See LICENSE.TXT for details.
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
#ifndef TARGET_MIPS_MIPSELFDYNAMIC_H_
|
||
|
#define TARGET_MIPS_MIPSELFDYNAMIC_H_
|
||
|
|
||
|
#include "mcld/Target/ELFDynamic.h"
|
||
|
|
||
|
namespace mcld {
|
||
|
|
||
|
class MipsGNULDBackend;
|
||
|
|
||
|
class MipsELFDynamic : public ELFDynamic {
|
||
|
public:
|
||
|
MipsELFDynamic(const MipsGNULDBackend& pParent, const LinkerConfig& pConfig);
|
||
|
|
||
|
private:
|
||
|
const MipsGNULDBackend& m_pParent;
|
||
|
const LinkerConfig& m_pConfig;
|
||
|
|
||
|
private:
|
||
|
void reserveTargetEntries(const ELFFileFormat& pFormat);
|
||
|
void applyTargetEntries(const ELFFileFormat& pFormat);
|
||
|
|
||
|
size_t getSymTabNum(const ELFFileFormat& pFormat) const;
|
||
|
size_t getGotSym(const ELFFileFormat& pFormat) const;
|
||
|
size_t getLocalGotNum(const ELFFileFormat& pFormat) const;
|
||
|
uint64_t getBaseAddress();
|
||
|
};
|
||
|
|
||
|
} // namespace mcld
|
||
|
|
||
|
#endif // TARGET_MIPS_MIPSELFDYNAMIC_H_
|