122d40dcfSBill Schmidt //===-- PPCTargetObjectFile.h - PPC Object Info -----------------*- C++ -*-===// 222d40dcfSBill Schmidt // 3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 622d40dcfSBill Schmidt // 722d40dcfSBill Schmidt //===----------------------------------------------------------------------===// 822d40dcfSBill Schmidt 9a7c40ef0SBenjamin Kramer #ifndef LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H 10a7c40ef0SBenjamin Kramer #define LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H 1122d40dcfSBill Schmidt 1222d40dcfSBill Schmidt #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" 136054e650SDavid Blaikie #include "llvm/Target/TargetLoweringObjectFile.h" 1422d40dcfSBill Schmidt #include "llvm/Target/TargetMachine.h" 1522d40dcfSBill Schmidt 1622d40dcfSBill Schmidt namespace llvm { 1722d40dcfSBill Schmidt 1822d40dcfSBill Schmidt /// PPC64LinuxTargetObjectFile - This implementation is used for 1922d40dcfSBill Schmidt /// 64-bit PowerPC Linux. 2022d40dcfSBill Schmidt class PPC64LinuxTargetObjectFile : public TargetLoweringObjectFileELF { 2122d40dcfSBill Schmidt 2273156025SCraig Topper void Initialize(MCContext &Ctx, const TargetMachine &TM) override; 2322d40dcfSBill Schmidt 246733564eSPeter Collingbourne MCSection *SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, 2573156025SCraig Topper const TargetMachine &TM) const override; 260f039824SUlrich Weigand 275f8f34e4SAdrian Prantl /// Describe a TLS variable address within debug info. 2873156025SCraig Topper const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const override; 2922d40dcfSBill Schmidt }; 3022d40dcfSBill Schmidt 3122d40dcfSBill Schmidt } // end namespace llvm 3222d40dcfSBill Schmidt 3322d40dcfSBill Schmidt #endif 34