1affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//===- ELFSectLinker.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// 10affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// ELFSectLinker is a customized linker pass for ELF platform. 11affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// This pass set up default parameters for ELF. 12affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// 13affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//===----------------------------------------------------------------------===// 14affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#ifndef MCLD_ELF_SECTION_LINKER_H 15affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#define MCLD_ELF_SECTION_LINKER_H 16affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#ifdef ENABLE_UNITTEST 17affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#include <gtest.h> 18affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#endif 19affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#include <mcld/CodeGen/SectLinker.h> 20affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 21affc150dc44fab1911775a49636d0ce85333b634Zonr Changnamespace mcld 22affc150dc44fab1911775a49636d0ce85333b634Zonr Chang{ 23affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 24affc150dc44fab1911775a49636d0ce85333b634Zonr Changclass ELFSectLinker : public SectLinker 25affc150dc44fab1911775a49636d0ce85333b634Zonr Chang{ 26affc150dc44fab1911775a49636d0ce85333b634Zonr Changpublic: 27affc150dc44fab1911775a49636d0ce85333b634Zonr Chang ELFSectLinker(SectLinkerOption &pOption, 28affc150dc44fab1911775a49636d0ce85333b634Zonr Chang mcld::TargetLDBackend &pLDBackend); 29affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 30affc150dc44fab1911775a49636d0ce85333b634Zonr Chang virtual ~ELFSectLinker(); 31affc150dc44fab1911775a49636d0ce85333b634Zonr Chang}; 32affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 33affc150dc44fab1911775a49636d0ce85333b634Zonr Chang} // namespace of mcld 34affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 35affc150dc44fab1911775a49636d0ce85333b634Zonr Chang#endif 36affc150dc44fab1911775a49636d0ce85333b634Zonr Chang 37