0004-Avoid-use-of-guest_IP_AT_SYSCALL-in-handle_extension.patch 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. From 16249b21456d681b5d98400287b8dbd926050c75 Mon Sep 17 00:00:00 2001
  2. From: Andreas Arnez <arnez@linux.ibm.com>
  3. Date: Wed, 15 May 2024 14:32:42 +0200
  4. Subject: [PATCH] Avoid use of guest_IP_AT_SYSCALL in handle_extension()
  5. The guest state field guest_IP_AT_SYSCALL is referenced in
  6. handle_extension(), even though it may not be defined by all
  7. architectures. Avoid its use altogether.
  8. Signed-off-by: Andreas Arnez <arnez@linux.ibm.com>
  9. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
  10. Upstream: https://sourceware.org/git/?p=valgrind.git;a=commit;h=16249b21456d681b5d98400287b8dbd926050c75
  11. ---
  12. coregrind/m_scheduler/scheduler.c | 3 +--
  13. 1 file changed, 1 insertion(+), 2 deletions(-)
  14. diff --git a/coregrind/m_scheduler/scheduler.c b/coregrind/m_scheduler/scheduler.c
  15. index 29751bb28..cc8d070b7 100644
  16. --- a/coregrind/m_scheduler/scheduler.c
  17. +++ b/coregrind/m_scheduler/scheduler.c
  18. @@ -1237,8 +1237,7 @@ static void handle_extension(ThreadId tid)
  19. block_signals();
  20. VG_(poll_signals)(tid);
  21. } else if (err != ExtErr_OK) {
  22. - ThreadState* tst = VG_(get_ThreadState)(tid);
  23. - Addr addr = tst->arch.vex.guest_IP_AT_SYSCALL;
  24. + Addr addr = VG_(get_IP)(tid);
  25. switch (err) {
  26. case ExtErr_Illop:
  27. VG_(synth_sigill)(tid, addr);
  28. --
  29. 2.39.2