Home
last modified time | relevance | path

Searched refs:fde (Results 1 – 25 of 25) sorted by relevance

/system/core/libunwindstack/tests/
DDwarfDebugFrameTest.cpp168 const DwarfFde* fde = this->debug_frame_->GetFdeFromPc(0x3600); in TYPED_TEST_P() local
169 ASSERT_TRUE(fde != nullptr); in TYPED_TEST_P()
170 EXPECT_EQ(0x3500U, fde->pc_start); in TYPED_TEST_P()
171 EXPECT_EQ(0x3900U, fde->pc_end); in TYPED_TEST_P()
202 const DwarfFde* fde = this->debug_frame_->GetFdeFromPc(0x1600); in TYPED_TEST_P() local
203 ASSERT_TRUE(fde != nullptr); in TYPED_TEST_P()
204 EXPECT_EQ(0x1500U, fde->pc_start); in TYPED_TEST_P()
206 fde = this->debug_frame_->GetFdeFromPc(0x2600); in TYPED_TEST_P()
207 ASSERT_TRUE(fde != nullptr); in TYPED_TEST_P()
208 EXPECT_EQ(0x2500U, fde->pc_start); in TYPED_TEST_P()
[all …]
DDwarfEhFrameTest.cpp65 const DwarfFde* fde = this->eh_frame_->GetFdeFromOffset(0x5100); in TYPED_TEST_P() local
66 ASSERT_TRUE(fde != nullptr); in TYPED_TEST_P()
67 EXPECT_EQ(0x5000U, fde->cie_offset); in TYPED_TEST_P()
68 EXPECT_EQ(0x5110U, fde->cfa_instructions_offset); in TYPED_TEST_P()
69 EXPECT_EQ(0x5200U, fde->cfa_instructions_end); in TYPED_TEST_P()
70 EXPECT_EQ(0x6608U, fde->pc_start); in TYPED_TEST_P()
71 EXPECT_EQ(0x6808U, fde->pc_end); in TYPED_TEST_P()
72 EXPECT_EQ(0U, fde->lsda_address); in TYPED_TEST_P()
74 const DwarfCie* cie = fde->cie; in TYPED_TEST_P()
104 const DwarfFde* fde = this->eh_frame_->GetFdeFromOffset(0x5100); in TYPED_TEST_P() local
[all …]
DDwarfSectionTest.cpp75 DwarfFde fde{}; in TEST_F() local
76 fde.pc_end = 0x2000; in TEST_F()
77 fde.cie = nullptr; in TEST_F()
79 EXPECT_CALL(*section_, GetFdeFromPc(0x1000)).WillOnce(::testing::Return(&fde)); in TEST_F()
87 DwarfFde fde{}; in TEST_F() local
88 fde.pc_end = 0x2000; in TEST_F()
89 fde.cie = &cie; in TEST_F()
91 EXPECT_CALL(*section_, GetFdeFromPc(0x1000)).WillOnce(::testing::Return(&fde)); in TEST_F()
92 EXPECT_CALL(*section_, GetCfaLocationInfo(0x1000, &fde, ::testing::_, ::testing::_)) in TEST_F()
101 DwarfFde fde{}; in TEST_F() local
[all …]
DDwarfEhFrameWithHdrTest.cpp139 const DwarfFde* fde = this->eh_frame_->GetFdeFromPc(0x4600); in TYPED_TEST_P() local
140 ASSERT_TRUE(fde != nullptr); in TYPED_TEST_P()
141 EXPECT_EQ(0x4500U, fde->pc_start); in TYPED_TEST_P()
142 EXPECT_EQ(0x4700U, fde->pc_end); in TYPED_TEST_P()
174 const DwarfFde* fde = this->eh_frame_->GetFdeFromPc(0x4600); in TYPED_TEST_P() local
175 ASSERT_TRUE(fde != nullptr); in TYPED_TEST_P()
176 EXPECT_EQ(0x4500U, fde->pc_start); in TYPED_TEST_P()
177 EXPECT_EQ(0x4700U, fde->pc_end); in TYPED_TEST_P()
210 const DwarfFde* fde = this->eh_frame_->GetFdeFromPc(0x4600); in TYPED_TEST_P() local
211 ASSERT_TRUE(fde != nullptr); in TYPED_TEST_P()
[all …]
DVerifyBionicTerminationTest.cpp53 const DwarfFde* fde = section->GetFdeFromPc(rel_pc); in GetReturnAddressLocation() local
54 if (fde == nullptr || fde->cie == nullptr) { in GetReturnAddressLocation()
58 if (!section->GetCfaLocationInfo(rel_pc, fde, &regs, ARCH_UNKNOWN)) { in GetReturnAddressLocation()
62 auto reg_entry = regs.find(fde->cie->return_address_register); in GetReturnAddressLocation()
DDwarfSectionImplTest.cpp499 DwarfFde fde{}; in TYPED_TEST_P() local
500 fde.cie = &cie; in TYPED_TEST_P()
501 fde.cie_offset = 0x8000; in TYPED_TEST_P()
502 fde.cfa_instructions_offset = 0x6000; in TYPED_TEST_P()
503 fde.cfa_instructions_end = 0x6002; in TYPED_TEST_P()
509 ASSERT_TRUE(this->section_->GetCfaLocationInfo(0x100, &fde, &loc_regs, ARCH_UNKNOWN)); in TYPED_TEST_P()
527 DwarfFde fde{}; in TYPED_TEST_P() local
528 fde.cie = &cie; in TYPED_TEST_P()
529 fde.cie_offset = 0x8000; in TYPED_TEST_P()
530 fde.cfa_instructions_offset = 0x6000; in TYPED_TEST_P()
[all …]
/system/core/adb/fdevent/
Dfdevent.cpp38 void invoke_fde(struct fdevent* fde, unsigned events) { in invoke_fde() argument
39 if (auto f = std::get_if<fd_func>(&fde->func)) { in invoke_fde()
40 (*f)(fde->fd.get(), events, fde->arg); in invoke_fde()
41 } else if (auto f = std::get_if<fd_func2>(&fde->func)) { in invoke_fde()
42 (*f)(fde, events, fde->arg); in invoke_fde()
48 std::string dump_fde(const fdevent* fde) { in dump_fde() argument
50 if (fde->state & FDE_READ) { in dump_fde()
53 if (fde->state & FDE_WRITE) { in dump_fde()
56 if (fde->state & FDE_ERROR) { in dump_fde()
59 return android::base::StringPrintf("(fdevent %" PRIu64 ": fd %d %s)", fde->id, fde->fd.get(), in dump_fde()
[all …]
Dfdevent_epoll.cpp52 fdevent* fde = this->Create(std::move(interrupt_fd), fdevent_interrupt, nullptr); in fdevent_context_epoll() local
53 CHECK(fde != nullptr); in fdevent_context_epoll()
54 this->Add(fde, FDE_READ); in fdevent_context_epoll()
62 static epoll_event calculate_epoll_event(fdevent* fde) { in calculate_epoll_event() argument
65 if (fde->state & FDE_READ) { in calculate_epoll_event()
68 if (fde->state & FDE_WRITE) { in calculate_epoll_event()
71 if (fde->state & FDE_ERROR) { in calculate_epoll_event()
75 result.data.ptr = fde; in calculate_epoll_event()
79 void fdevent_context_epoll::Register(fdevent* fde) { in Register() argument
80 epoll_event ev = calculate_epoll_event(fde); in Register()
[all …]
Dfdevent.h45 typedef void (*fd_func2)(struct fdevent* fde, unsigned events, void* userdata);
47 void invoke_fde(struct fdevent* fde, unsigned events);
48 std::string dump_fde(const fdevent* fde);
51 fdevent* fde; member
79 unique_fd Destroy(fdevent* fde);
87 virtual void Set(fdevent* fde, unsigned events) = 0;
88 void Add(fdevent* fde, unsigned events);
89 void Del(fdevent* fde, unsigned events);
95 void SetTimeout(fdevent* fde, std::optional<std::chrono::milliseconds> timeout);
142 unique_fd fdevent_release(fdevent* fde);
[all …]
Dfdevent_poll.h32 fdevent* fde; member
35 explicit PollNode(fdevent* fde) : fde(fde) { in PollNode()
37 pollfd.fd = fde->fd.get(); in PollNode()
51 virtual void Register(fdevent* fde) final;
52 virtual void Unregister(fdevent* fde) final;
54 virtual void Set(fdevent* fde, unsigned events) final;
Dfdevent_poll.cpp72 fdevent* fde = this->Create(unique_fd(s[1]), fdevent_interrupt, nullptr); in fdevent_context_poll() local
73 CHECK(fde != nullptr); in fdevent_context_poll()
74 this->Add(fde, FDE_READ); in fdevent_context_poll()
82 void fdevent_context_poll::Set(fdevent* fde, unsigned events) { in Set() argument
84 fde->state = events; in Set()
85 D("fdevent_set: %s, events = %u", dump_fde(fde).c_str(), events); in Set()
116 for (const auto& [fd, fde] : this->installed_fdevents_) { in Loop()
120 if (fde.state & FDE_READ) { in Loop()
123 if (fde.state & FDE_WRITE) { in Loop()
126 if (fde.state & FDE_ERROR) { in Loop()
[all …]
Dfdevent_epoll.h39 virtual void Register(fdevent* fde) final;
40 virtual void Unregister(fdevent* fde) final;
42 virtual void Set(fdevent* fde, unsigned events) final;
Dfdevent_test.cpp76 static void FdEventNewCallback(fdevent* fde, unsigned events, void* userdata) { in FdEventNewCallback() argument
77 int fd = fde->fd.get(); in FdEventNewCallback()
238 fdevent* fde; in TEST_F() member
246 test.fde = fdevent_create(fds[0], [](fdevent* fde, unsigned events, void* arg) { in TEST_F() argument
253 ssize_t rc = adb_read(fde->fd.get(), buf, sizeof(buf)); in TEST_F()
267 CHECK_EQ(fde, test->fde); in TEST_F()
271 fdevent_destroy(fde); in TEST_F()
274 fdevent_add(test.fde, FDE_READ); in TEST_F()
275 fdevent_set_timeout(test.fde, delta); in TEST_F()
/system/core/libunwindstack/
DDwarfSection.cpp45 const DwarfFde* fde = GetFdeFromPc(pc); in Step() local
46 if (fde == nullptr || fde->cie == nullptr) { in Step()
53 if (!GetCfaLocationInfo(pc, fde, &loc_regs, regs->Arch())) { in Step()
56 loc_regs.cie = fde->cie; in Step()
255 DwarfFde* fde = &fde_entries_[offset]; in GetFdeFromOffset() local
258 if (!FillInFdeHeader(fde) || !FillInFde(fde)) { in GetFdeFromOffset()
262 return fde; in GetFdeFromOffset()
266 bool DwarfSectionImpl<AddressType>::FillInFdeHeader(DwarfFde* fde) { in FillInFdeHeader() argument
282 fde->cfa_instructions_end = memory_.cur_offset() + length64; in FillInFdeHeader()
298 fde->cie_offset = GetCieOffsetFromFde64(value64); in FillInFdeHeader()
[all …]
DDwarfEhFrameWithHdr.cpp109 const DwarfFde* fde = this->GetFdeFromOffset(fde_offset); in GetFdeFromPc() local
110 if (fde == nullptr) { in GetFdeFromPc()
117 if (fde->pc_start == fde->pc_end) { in GetFdeFromPc()
118 fde = DwarfSectionImpl<AddressType>::GetFdeFromPc(pc); in GetFdeFromPc()
119 if (fde == nullptr) { in GetFdeFromPc()
125 if (pc < fde->pc_end) { in GetFdeFromPc()
126 return fde; in GetFdeFromPc()
203 const DwarfFde* fde = this->GetFdeFromOffset(info->offset); in GetFdes() local
204 if (fde == nullptr) { in GetFdes()
211 if (fde->pc_start == fde->pc_end) { in GetFdes()
[all …]
DDwarfCfa.h78 DwarfCfa(DwarfMemory* memory, const DwarfFde* fde, ArchEnum arch) in DwarfCfa() argument
79 : memory_(memory), fde_(fde), arch_(arch) {} in DwarfCfa()
/system/core/libunwindstack/tools/
Dunwind_info.cpp86 for (const DwarfFde* fde : *section) { in DumpDwarfSection()
89 if (fde == nullptr || fde->pc_start == fde->pc_end) { in DumpDwarfSection()
92 printf("\n PC 0x%" PRIx64 "-0x%" PRIx64, fde->pc_start, fde->pc_end); in DumpDwarfSection()
95 if (elf->GetFunctionName(fde->pc_start, &name, &func_offset) && !name.empty()) { in DumpDwarfSection()
99 if (!section->Log(2, UINT64_MAX, fde, elf->arch())) { in DumpDwarfSection()
100 printf("Failed to process cfa information for entry at 0x%" PRIx64 "\n", fde->pc_start); in DumpDwarfSection()
Dunwind_reg_info.cpp69 const DwarfFde* fde = section->GetFdeFromPc(pc); in PrintRegInformation() local
70 if (fde == nullptr) { in PrintRegInformation()
76 if (!section->GetCfaLocationInfo(pc, fde, &regs, arch)) { in PrintRegInformation()
/system/core/libunwindstack/include/unwindstack/
DDwarfSection.h94 virtual bool Log(uint8_t indent, uint64_t pc, const DwarfFde* fde, ArchEnum arch) = 0;
100 virtual bool GetCfaLocationInfo(uint64_t pc, const DwarfFde* fde, dwarf_loc_regs_t* loc_regs,
145 bool GetCfaLocationInfo(uint64_t pc, const DwarfFde* fde, dwarf_loc_regs_t* loc_regs,
148 bool Log(uint8_t indent, uint64_t pc, const DwarfFde* fde, ArchEnum arch) override;
157 bool FillInFdeHeader(DwarfFde* fde);
159 bool FillInFde(DwarfFde* fde);
164 void InsertFde(const DwarfFde* fde);
/system/core/adb/
Dsockets.cpp129 fdevent_add(s->fde, FDE_WRITE); in local_socket_flush_incoming()
132 fdevent_add(s->fde, FDE_WRITE); in local_socket_flush_incoming()
147 fdevent_del(s->fde, FDE_WRITE); in local_socket_flush_incoming()
180 s->fde->force_eof); in local_socket_flush_outgoing()
207 fdevent_del(s->fde, FDE_READ); in local_socket_flush_outgoing()
212 if ((s->fde->force_eof && !r) || is_eof) { in local_socket_flush_outgoing()
213 D(" closing because is_eof=%d r=%d s->fde.force_eof=%d", is_eof, r, s->fde->force_eof); in local_socket_flush_outgoing()
242 fdevent_add(s->fde, FDE_READ); in local_socket_ready()
260 auto callback = [](fdevent* fde, unsigned event, void* arg) { in deferred_close() argument
265 while ((rc = adb_read(fde->fd.get(), buf, sizeof(buf))) > 0) { in deferred_close()
[all …]
Dadb_listeners.cpp45 fdevent* fde = nullptr; member in alistener
63 fdevent_destroy(fde); in ~alistener()
173 fdevent_set(l->fde, FDE_READ); in enable_server_sockets()
235 listener->fde = fdevent_create(listener->fd, ss_listener_event_func, listener.get()); in install_listener()
240 listener->fde = fdevent_create(listener->fd, listener_event_func, listener.get()); in install_listener()
243 fdevent_set(listener->fde, FDE_READ); in install_listener()
Dsocket.h62 fdevent* fde = nullptr; member
/system/core/adb/daemon/
Djdwp_service.cpp157 this->fde = fdevent_create(socket.release(), jdwp_process_event, this); in JdwpProcess()
159 if (!this->fde) { in JdwpProcess()
170 if (this->fde) { in ~JdwpProcess()
171 fdevent_destroy(this->fde); in ~JdwpProcess()
172 this->fde = nullptr; in ~JdwpProcess()
185 fdevent* fde = nullptr; member
284 fdevent_del(proc->fde, FDE_WRITE); in jdwp_process_event()
315 fdevent_add(proc->fde, FDE_WRITE); in create_jdwp_connection_fd()
Dadb_wifi.cpp70 fdevent* fde = fd_event_; in ~TlsServer() local
71 fdevent_run_on_main_thread([fde]() { in ~TlsServer()
72 if (fde != nullptr) { in ~TlsServer()
73 fdevent_destroy(fde); in ~TlsServer()
Dservices.cpp136 fdevent* fde = fdevent_create( in spin_service() local
138 fdevent_add(fde, FDE_READ); in spin_service()