122add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao//===- ELFMCLinker.h ------------------------------------------------------===//
2affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//
3affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//                     The MCLinker Project
4affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//
5affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// This file is distributed under the University of Illinois Open Source
6affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// License. See LICENSE.TXT for details.
7affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//
8affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//===----------------------------------------------------------------------===//
9affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//
1022add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao// ELFMCLinker is a customized linker pass for ELF platform.
11affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// This pass set up default parameters for ELF.
12affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//
13affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//===----------------------------------------------------------------------===//
1487f34658dec9097d987d254a990ea7f311bfc95fStephen Hines#ifndef MCLD_TARGET_ELFMCLINKER_H
1587f34658dec9097d987d254a990ea7f311bfc95fStephen Hines#define MCLD_TARGET_ELFMCLINKER_H
1622add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao#include <mcld/CodeGen/MCLinker.h>
17affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
1822add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liaonamespace mcld {
1922add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao
2022add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liaoclass Module;
2122add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liaoclass Output;
2287f34658dec9097d987d254a990ea7f311bfc95fStephen Hinesclass FileHandle;
23affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
2422add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liaoclass ELFMCLinker : public MCLinker
25affc150dc44fab1911775a49636d0ce85333b634Zonr Chang{
26affc150dc44fab1911775a49636d0ce85333b634Zonr Changpublic:
2722add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  ELFMCLinker(LinkerConfig& pConfig,
2822add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao              mcld::Module& pModule,
2987f34658dec9097d987d254a990ea7f311bfc95fStephen Hines              FileHandle& pFileHandle);
30affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
3122add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  virtual ~ELFMCLinker();
32affc150dc44fab1911775a49636d0ce85333b634Zonr Chang};
33affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
34affc150dc44fab1911775a49636d0ce85333b634Zonr Chang} // namespace of mcld
35affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
36affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#endif
37affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
38