Branch: refs/heads/master
  Home:   https://github.com/dyninst/dyninst
  Commit: 091929d6889211d50b5e12618e98972c38e268fa
      
https://github.com/dyninst/dyninst/commit/091929d6889211d50b5e12618e98972c38e268fa
  Author: Tim Haines <thaines.as...@gmail.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M instructionAPI/src/InstructionCategories.C
    M parseAPI/src/IA_aarch64.C
    M parseAPI/src/IA_power.C
    M parseAPI/src/IA_x86.C

  Log Message:
  -----------
  Improve syscall and interrupt instruction detection (#1686)

* Treat x86 software interrupts as system calls

* Correct detection of Linux vsyscall for 32-bit code

The existing code did not work because the Operand formatter uses AT&T
syntax and doesn't convert hex to decimal, so the '== "16"' check
always failed.

The convoluted logic in the visitor is needed because Dyninst does not
generate AST for segment registers. Yet, it _does_ record if they are
read/written.

The AST for the 'gs' register was made a file scope static because its
initialization would cause some glibc's to throw a
__gnu_cxx::recursive_init_error when using multiple threads.

* aarch64 - add svc

Supervisor Call

* ppc - add system call

* Add int1, into to IA_x86::isInterrupt



To unsubscribe from these emails, change your notification settings at 
https://github.com/dyninst/dyninst/settings/notifications
_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to