Lines Matching refs:llvm

23 #include <llvm/ADT/StringRef.h>
24 #include <llvm/ADT/Twine.h>
25 #include <llvm/Support/ELF.h>
26 #include <llvm/Support/Host.h>
48 const llvm::ELF::Elf32_Ehdr* hdr =
49 reinterpret_cast<const llvm::ELF::Elf32_Ehdr*>(pELFHeader);
50 if (0 == memcmp(llvm::ELF::ElfMagic, hdr, 4))
70 llvm::StringRef pRegion,
74 size_t entsize = pRegion.size()/sizeof(llvm::ELF::Elf32_Sym);
75 const llvm::ELF::Elf32_Sym* symtab =
76 reinterpret_cast<const llvm::ELF::Elf32_Sym*>(pRegion.begin());
95 if (llvm::sys::IsLittleEndianHost) {
111 st_shndx < llvm::ELF::SHN_LORESERVE &&
112 st_shndx != llvm::ELF::SHN_UNDEF) {
114 st_shndx = llvm::ELF::SHN_UNDEF;
134 if (st_shndx < llvm::ELF::SHN_LORESERVE) // including ABS and COMMON
215 llvm::StringRef pRegion) const
218 size_t entsize = pRegion.size() / sizeof(llvm::ELF::Elf32_Rela);
219 const llvm::ELF::Elf32_Rela* relaTab =
220 reinterpret_cast<const llvm::ELF::Elf32_Rela*>(pRegion.begin());
243 llvm::StringRef pRegion) const
246 size_t entsize = pRegion.size() / sizeof(llvm::ELF::Elf32_Rel);
247 const llvm::ELF::Elf32_Rel* relTab =
248 reinterpret_cast<const llvm::ELF::Elf32_Rel*>(pRegion.begin());
271 const llvm::ELF::Elf32_Ehdr* hdr =
272 reinterpret_cast<const llvm::ELF::Elf32_Ehdr*>(pELFHeader);
274 return (hdr->e_ident[llvm::ELF::EI_DATA] == llvm::ELF::ELFDATA2LSB);
280 const llvm::ELF::Elf32_Ehdr* hdr =
281 reinterpret_cast<const llvm::ELF::Elf32_Ehdr*>(pELFHeader);
283 if (llvm::sys::IsLittleEndianHost)
291 const llvm::ELF::Elf32_Ehdr* hdr =
292 reinterpret_cast<const llvm::ELF::Elf32_Ehdr*>(pELFHeader);
294 if (llvm::sys::IsLittleEndianHost)
300 case llvm::ELF::ET_REL:
302 case llvm::ELF::ET_EXEC:
304 case llvm::ELF::ET_DYN:
306 case llvm::ELF::ET_CORE:
308 case llvm::ELF::ET_NONE:
318 const llvm::ELF::Elf32_Ehdr* ehdr =
319 reinterpret_cast<const llvm::ELF::Elf32_Ehdr*>(pELFHeader);
326 if (llvm::sys::IsLittleEndianHost) {
343 const llvm::ELF::Elf32_Shdr *shdr = NULL;
344 llvm::StringRef shdr_region;
355 if (shnum == llvm::ELF::SHN_UNDEF || shstrtab == llvm::ELF::SHN_XINDEX) {
358 shdr = reinterpret_cast<const llvm::ELF::Elf32_Shdr*>(shdr_region.begin());
360 if (llvm::sys::IsLittleEndianHost) {
369 if (shnum == llvm::ELF::SHN_UNDEF)
371 if (shstrtab == llvm::ELF::SHN_XINDEX)
379 const llvm::ELF::Elf32_Shdr* shdrTab =
380 reinterpret_cast<const llvm::ELF::Elf32_Shdr*>(shdr_region.begin());
384 if (llvm::sys::IsLittleEndianHost) {
393 llvm::StringRef sect_name_region = pInput.memArea()->request(
401 if (llvm::sys::IsLittleEndianHost) {
460 sizeof(llvm::ELF::Elf32_Sym) * pSymIdx;
461 llvm::StringRef symbol_region =
462 pInput.memArea()->request(offset, sizeof(llvm::ELF::Elf32_Sym));
463 const llvm::ELF::Elf32_Sym* entry =
464 reinterpret_cast<const llvm::ELF::Elf32_Sym*>(symbol_region.begin());
472 if (llvm::sys::IsLittleEndianHost) {
481 llvm::StringRef strtab_region = pInput.memArea()->request(
485 llvm::StringRef ld_name(strtab_region.begin() + st_name);
510 llvm::StringRef dynamic_region = pInput.memArea()->request(
513 llvm::StringRef dynstr_region = pInput.memArea()->request(
516 const llvm::ELF::Elf32_Dyn* dynamic =
517 reinterpret_cast<const llvm::ELF::Elf32_Dyn*>(dynamic_region.begin());
520 size_t numOfEntries = dynamic_sect->size() / sizeof(llvm::ELF::Elf32_Dyn);
524 llvm::ELF::Elf32_Sword d_tag = 0x0;
525 llvm::ELF::Elf32_Word d_val = 0x0;
527 if (llvm::sys::IsLittleEndianHost) {
536 case llvm::ELF::DT_SONAME:
541 case llvm::ELF::DT_NEEDED:
544 case llvm::ELF::DT_NULL:
573 const llvm::ELF::Elf64_Ehdr* hdr =
574 reinterpret_cast<const llvm::ELF::Elf64_Ehdr*>(pELFHeader);
575 if (0 == memcmp(llvm::ELF::ElfMagic, hdr, 4))
595 llvm::StringRef pRegion,
599 size_t entsize = pRegion.size() / sizeof(llvm::ELF::Elf64_Sym);
600 const llvm::ELF::Elf64_Sym* symtab =
601 reinterpret_cast<const llvm::ELF::Elf64_Sym*>(pRegion.begin());
620 if (llvm::sys::IsLittleEndianHost) {
636 st_shndx < llvm::ELF::SHN_LORESERVE &&
637 st_shndx != llvm::ELF::SHN_UNDEF) {
639 st_shndx = llvm::ELF::SHN_UNDEF;
659 if (st_shndx < llvm::ELF::SHN_LORESERVE) // including ABS and COMMON
735 llvm::StringRef pRegion) const
738 size_t entsize = pRegion.size() / sizeof(llvm::ELF::Elf64_Rela);
739 const llvm::ELF::Elf64_Rela* relaTab =
740 reinterpret_cast<const llvm::ELF::Elf64_Rela*>(pRegion.begin());
765 llvm::StringRef pRegion) const
768 size_t entsize = pRegion.size() / sizeof(llvm::ELF::Elf64_Rel);
769 const llvm::ELF::Elf64_Rel* relTab =
770 reinterpret_cast<const llvm::ELF::Elf64_Rel*>(pRegion.begin());
792 const llvm::ELF::Elf64_Ehdr* hdr =
793 reinterpret_cast<const llvm::ELF::Elf64_Ehdr*>(pELFHeader);
795 return (hdr->e_ident[llvm::ELF::EI_DATA] == llvm::ELF::ELFDATA2LSB);
801 const llvm::ELF::Elf64_Ehdr* hdr =
802 reinterpret_cast<const llvm::ELF::Elf64_Ehdr*>(pELFHeader);
804 if (llvm::sys::IsLittleEndianHost)
812 const llvm::ELF::Elf64_Ehdr* hdr =
813 reinterpret_cast<const llvm::ELF::Elf64_Ehdr*>(pELFHeader);
815 if (llvm::sys::IsLittleEndianHost)
821 case llvm::ELF::ET_REL:
823 case llvm::ELF::ET_EXEC:
825 case llvm::ELF::ET_DYN:
827 case llvm::ELF::ET_CORE:
829 case llvm::ELF::ET_NONE:
839 const llvm::ELF::Elf64_Ehdr* ehdr =
840 reinterpret_cast<const llvm::ELF::Elf64_Ehdr*>(pELFHeader);
847 if (llvm::sys::IsLittleEndianHost) {
864 const llvm::ELF::Elf64_Shdr *shdr = NULL;
865 llvm::StringRef shdr_region;
876 if (shnum == llvm::ELF::SHN_UNDEF || shstrtab == llvm::ELF::SHN_XINDEX) {
879 shdr = reinterpret_cast<const llvm::ELF::Elf64_Shdr*>(shdr_region.begin());
881 if (llvm::sys::IsLittleEndianHost) {
890 if (shnum == llvm::ELF::SHN_UNDEF)
892 if (shstrtab == llvm::ELF::SHN_XINDEX)
900 const llvm::ELF::Elf64_Shdr* shdrTab =
901 reinterpret_cast<const llvm::ELF::Elf64_Shdr*>(shdr_region.begin());
905 if (llvm::sys::IsLittleEndianHost) {
914 llvm::StringRef sect_name_region = pInput.memArea()->request(
922 if (llvm::sys::IsLittleEndianHost) {
981 sizeof(llvm::ELF::Elf64_Sym) * pSymIdx;
982 llvm::StringRef symbol_region =
983 pInput.memArea()->request(offset, sizeof(llvm::ELF::Elf64_Sym));
984 const llvm::ELF::Elf64_Sym* entry =
985 reinterpret_cast<const llvm::ELF::Elf64_Sym*>(symbol_region.begin());
993 if (llvm::sys::IsLittleEndianHost) {
1002 llvm::StringRef strtab_region = pInput.memArea()->request(
1006 llvm::StringRef ld_name(strtab_region.begin() + st_name);
1031 llvm::StringRef dynamic_region = pInput.memArea()->request(
1034 llvm::StringRef dynstr_region = pInput.memArea()->request(
1037 const llvm::ELF::Elf64_Dyn* dynamic =
1038 reinterpret_cast<const llvm::ELF::Elf64_Dyn*>(dynamic_region.begin());
1041 size_t numOfEntries = dynamic_sect->size() / sizeof(llvm::ELF::Elf64_Dyn);
1045 llvm::ELF::Elf64_Sxword d_tag = 0x0;
1046 llvm::ELF::Elf64_Xword d_val = 0x0;
1048 if (llvm::sys::IsLittleEndianHost) {
1057 case llvm::ELF::DT_SONAME:
1062 case llvm::ELF::DT_NEEDED:
1065 case llvm::ELF::DT_NULL: