Lines Matching refs:opd
120 // Some platforms use a special .opd section to store function pointers.
121 const char kOpdSectionName[] = ".opd";
124 // Use opd section for function descriptors on these platforms, the function
661 const ElfW(Shdr) * opd, char *tmp_buf, int tmp_buf_size) {
672 // On platforms using an .opd section (PowerPC & IA64), a function symbol
676 // pointer into the .opd section, e.g. FindSymbol(&foo,...).
678 kPlatformUsesOPDSections && opd != nullptr && InSection(pc, opd);
680 kPlatformUsesOPDSections && opd != nullptr && !pc_in_opd;
698 // We keep the original address for opd redirection below.
705 InSection(original_start_address, opd)) {
706 // The opd section is mapped into memory. Just dereference
712 // If pc is inside the .opd section, it points to a function descriptor.
770 ElfW(Shdr) opd;
773 // On platforms using an .opd sections for function descriptor, read
774 // the section header. The .opd section is in data segment and should be
778 sizeof(kOpdSectionName) - 1, &opd) &&
779 FindObjFile(reinterpret_cast<const char *>(opd.sh_addr) + relocation,
780 opd.sh_size) != nullptr) {
781 opd_ptr = &opd;
941 // On the PowerPC, function pointers point to descriptors in the .opd