• Home
  • Raw
  • Download

Lines Matching refs:child

65 static void check_hw_feature_supported(pid_t child, HwFeature feature) {  in check_hw_feature_supported()  argument
69 long result = ptrace(PTRACE_GETHBPREGS, child, 0, &capabilities); in check_hw_feature_supported()
93 long result = ptrace(PTRACE_GETREGSET, child, in check_hw_feature_supported()
107 UNUSED(child); in check_hw_feature_supported()
112 static void set_watchpoint(pid_t child, uintptr_t address, size_t size) { in set_watchpoint() argument
121 ASSERT_EQ(0, ptrace(PTRACE_SETHBPREGS, child, -1, &address)) << strerror(errno); in set_watchpoint()
122 ASSERT_EQ(0, ptrace(PTRACE_SETHBPREGS, child, -2, &control)) << strerror(errno); in set_watchpoint()
133 ASSERT_EQ(0, ptrace(PTRACE_SETREGSET, child, NT_ARM_HW_WATCH, &iov)) << strerror(errno); in set_watchpoint()
136 …ASSERT_EQ(0, ptrace(PTRACE_POKEUSER, child, offsetof(user, u_debugreg[0]), address)) << strerror(e… in set_watchpoint()
138 unsigned data = ptrace(PTRACE_PEEKUSER, child, offsetof(user, u_debugreg[7]), nullptr); in set_watchpoint()
149 …ASSERT_EQ(0, ptrace(PTRACE_POKEUSER, child, offsetof(user, u_debugreg[7]), data)) << strerror(errn… in set_watchpoint()
151 UNUSED(child); in set_watchpoint()
161 pid_t child = fork(); in run_watchpoint_test() local
162 ASSERT_NE(-1, child) << strerror(errno); in run_watchpoint_test()
163 if (child == 0) { in run_watchpoint_test()
179 ChildGuard guard(child); in run_watchpoint_test()
182 ASSERT_EQ(child, TEMP_FAILURE_RETRY(waitpid(child, &status, __WALL))) << strerror(errno); in run_watchpoint_test()
186 check_hw_feature_supported(child, HwFeature::Watchpoint); in run_watchpoint_test()
191 set_watchpoint(child, uintptr_t(untag_address(&data)) + offset, size); in run_watchpoint_test()
193 ASSERT_EQ(0, ptrace(PTRACE_CONT, child, nullptr, nullptr)) << strerror(errno); in run_watchpoint_test()
194 ASSERT_EQ(child, TEMP_FAILURE_RETRY(waitpid(child, &status, __WALL))) << strerror(errno); in run_watchpoint_test()
199 ASSERT_EQ(0, ptrace(PTRACE_GETSIGINFO, child, nullptr, &siginfo)) << strerror(errno); in run_watchpoint_test()
300 static void set_breakpoint(pid_t child) { in set_breakpoint() argument
309 ASSERT_EQ(0, ptrace(PTRACE_SETHBPREGS, child, 1, &address)) << strerror(errno); in set_breakpoint()
310 ASSERT_EQ(0, ptrace(PTRACE_SETHBPREGS, child, 2, &control)) << strerror(errno); in set_breakpoint()
321 ASSERT_EQ(0, ptrace(PTRACE_SETREGSET, child, NT_ARM_HW_BREAK, &iov)) << strerror(errno); in set_breakpoint()
324 ASSERT_EQ(0, ptrace(PTRACE_POKEUSER, child, offsetof(user, u_debugreg[0]), address)) in set_breakpoint()
327 unsigned data = ptrace(PTRACE_PEEKUSER, child, offsetof(user, u_debugreg[7]), nullptr); in set_breakpoint()
338 ASSERT_EQ(0, ptrace(PTRACE_POKEUSER, child, offsetof(user, u_debugreg[7]), data)) in set_breakpoint()
341 UNUSED(child); in set_breakpoint()
349 pid_t child = fork(); in TEST() local
350 ASSERT_NE(-1, child) << strerror(errno); in TEST()
351 if (child == 0) breakpoint_fork_child(); in TEST()
353 ChildGuard guard(child); in TEST()
356 ASSERT_EQ(child, TEMP_FAILURE_RETRY(waitpid(child, &status, __WALL))) << strerror(errno); in TEST()
360 check_hw_feature_supported(child, HwFeature::Breakpoint); in TEST()
365 set_breakpoint(child); in TEST()
367 ASSERT_EQ(0, ptrace(PTRACE_CONT, child, nullptr, nullptr)) << strerror(errno); in TEST()
368 ASSERT_EQ(child, TEMP_FAILURE_RETRY(waitpid(child, &status, __WALL))) << strerror(errno); in TEST()
373 ASSERT_EQ(0, ptrace(PTRACE_GETSIGINFO, child, nullptr, &siginfo)) << strerror(errno); in TEST()