Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(423)

Side by Side Diff: src/IceELFObjectWriter.h

Issue 1669443002: Subzero. Uses fixups to calculate addend to relocations. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addresses comments. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 //===- subzero/src/IceELFObjectWriter.h - ELF object writer -----*- C++ -*-===// 1 //===- subzero/src/IceELFObjectWriter.h - ELF object writer -----*- C++ -*-===//
2 // 2 //
3 // The Subzero Code Generator 3 // The Subzero Code Generator
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 /// 9 ///
10 /// \file 10 /// \file
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 /// RelocationKind for any relocations. 62 /// RelocationKind for any relocations.
63 void writeDataSection(const VariableDeclarationList &Vars, 63 void writeDataSection(const VariableDeclarationList &Vars,
64 FixupKind RelocationKind, 64 FixupKind RelocationKind,
65 const IceString &SectionSuffix, bool IsPIC); 65 const IceString &SectionSuffix, bool IsPIC);
66 66
67 /// Copy data of a function's text section to file and note the offset of the 67 /// Copy data of a function's text section to file and note the offset of the
68 /// symbol's definition in the symbol table. Copy the text fixups for use 68 /// symbol's definition in the symbol table. Copy the text fixups for use
69 /// after all functions are written. The text buffer and fixups are extracted 69 /// after all functions are written. The text buffer and fixups are extracted
70 /// from the Assembler object. 70 /// from the Assembler object.
71 void writeFunctionCode(const IceString &FuncName, bool IsInternal, 71 void writeFunctionCode(const IceString &FuncName, bool IsInternal,
72 const Assembler *Asm); 72 Assembler *Asm);
73 73
74 /// Queries the GlobalContext for constant pools of the given type and writes 74 /// Queries the GlobalContext for constant pools of the given type and writes
75 /// out read-only data sections for those constants. This also fills the 75 /// out read-only data sections for those constants. This also fills the
76 /// symbol table with labels for each constant pool entry. 76 /// symbol table with labels for each constant pool entry.
77 template <typename ConstType> void writeConstantPool(Type Ty); 77 template <typename ConstType> void writeConstantPool(Type Ty);
78 78
79 /// Write a jump table and register fixups for the target addresses. 79 /// Write a jump table and register fixups for the target addresses.
80 void writeJumpTable(const JumpTableData &JT, FixupKind RelocationKind, 80 void writeJumpTable(const JumpTableData &JT, FixupKind RelocationKind,
81 bool IsPIC); 81 bool IsPIC);
82 82
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
165 165
166 /// Write the ELF file header with the given information about sections. 166 /// Write the ELF file header with the given information about sections.
167 template <bool IsELF64> 167 template <bool IsELF64>
168 void writeELFHeaderInternal(Elf64_Off SectionHeaderOffset, 168 void writeELFHeaderInternal(Elf64_Off SectionHeaderOffset,
169 SizeT SectHeaderStrIndex, SizeT NumSections); 169 SizeT SectHeaderStrIndex, SizeT NumSections);
170 }; 170 };
171 171
172 } // end of namespace Ice 172 } // end of namespace Ice
173 173
174 #endif // SUBZERO_SRC_ICEELFOBJECTWRITER_H 174 #endif // SUBZERO_SRC_ICEELFOBJECTWRITER_H
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698