OLD | NEW |
1 //===- lib/MC/ELFObjectWriter.cpp - ELF File Writer -------------------===// | 1 //===- lib/MC/ELFObjectWriter.cpp - ELF File Writer -------------------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
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 // This file implements ELF object file writer information. | 10 // This file implements ELF object file writer information. |
(...skipping 1181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1192 case ELF::SHT_PROGBITS: | 1192 case ELF::SHT_PROGBITS: |
1193 case ELF::SHT_STRTAB: | 1193 case ELF::SHT_STRTAB: |
1194 case ELF::SHT_NOBITS: | 1194 case ELF::SHT_NOBITS: |
1195 case ELF::SHT_NULL: | 1195 case ELF::SHT_NULL: |
1196 // Nothing to do. | 1196 // Nothing to do. |
1197 break; | 1197 break; |
1198 | 1198 |
1199 case ELF::SHT_HASH: | 1199 case ELF::SHT_HASH: |
1200 case ELF::SHT_GROUP: | 1200 case ELF::SHT_GROUP: |
1201 case ELF::SHT_SYMTAB_SHNDX: | 1201 case ELF::SHT_SYMTAB_SHNDX: |
| 1202 |
| 1203 case ELF::SHT_ARM_EXIDX: |
| 1204 case ELF::SHT_ARM_PREEMPTMAP: |
| 1205 assert(0 && "FIXME: sh_type value not supported!"); |
| 1206 break; |
| 1207 |
| 1208 case ELF::SHT_ARM_ATTRIBUTES: |
| 1209 break; |
| 1210 |
| 1211 case ELF::SHT_ARM_DEBUGOVERLAY: |
| 1212 case ELF::SHT_ARM_OVERLAYSECTION: |
1202 default: | 1213 default: |
1203 assert(0 && "FIXME: sh_type value not supported!"); | 1214 assert(0 && "FIXME: sh_type value not supported!"); |
1204 break; | 1215 break; |
1205 } | 1216 } |
1206 | 1217 |
1207 WriteSecHdrEntry(SectionStringTableIndex[&it->getSection()], | 1218 WriteSecHdrEntry(SectionStringTableIndex[&it->getSection()], |
1208 Section.getType(), Section.getFlags(), | 1219 Section.getType(), Section.getFlags(), |
1209 0, | 1220 0, |
1210 SectionOffsetMap.lookup(&SD.getSection()), | 1221 SectionOffsetMap.lookup(&SD.getSection()), |
1211 Layout.getSectionSize(&SD), sh_link, | 1222 Layout.getSectionSize(&SD), sh_link, |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1246 bool IsPCRel, | 1257 bool IsPCRel, |
1247 const MCFragment *DF) const { | 1258 const MCFragment *DF) const { |
1248 return ((ELFObjectWriterImpl*) Impl)->IsFixupFullyResolved(Asm, Target, | 1259 return ((ELFObjectWriterImpl*) Impl)->IsFixupFullyResolved(Asm, Target, |
1249 IsPCRel, DF); | 1260 IsPCRel, DF); |
1250 } | 1261 } |
1251 | 1262 |
1252 void ELFObjectWriter::WriteObject(MCAssembler &Asm, | 1263 void ELFObjectWriter::WriteObject(MCAssembler &Asm, |
1253 const MCAsmLayout &Layout) { | 1264 const MCAsmLayout &Layout) { |
1254 ((ELFObjectWriterImpl*) Impl)->WriteObject(Asm, Layout); | 1265 ((ELFObjectWriterImpl*) Impl)->WriteObject(Asm, Layout); |
1255 } | 1266 } |
OLD | NEW |