https://bugs.kde.org/show_bug.cgi?id=423454

Sean Mollet <s...@malmoset.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |---
     Ever confirmed|0                           |1
                 CC|                            |s...@malmoset.com
             Status|RESOLVED                    |REOPENED

--- Comment #3 from Sean Mollet <s...@malmoset.com> ---
First off, thank you so much for this great tool! 

I'm running valgrind 3.16.1 on Mips32 and ran into this same bug. The entries
are in the table, but they aren't being recognized. The error lists the syscall
as 4043 and 4047 with the __NR_syscall value of 4000 being added.

I couldn't quite figure out where that extra value is added/subtracted in the
normal program flow of valgrind.

The following dirty patch resolved the issue, so I suspect those calls are
missing from a table somewhere further upstream that does the -4000.

--- valgrind-3.16.1/coregrind/m_syswrap/syswrap-mips32-linux.c~ 2020-06-22
07:41:59.000000000 +0000
+++ valgrind-3.16.1/coregrind/m_syswrap/syswrap-mips32-linux.c  2024-08-06
23:03:58.331377779 +0000
@@ -1133,6 +1133,9 @@
 {
    const UInt syscall_main_table_size
                = sizeof (syscall_main_table) / sizeof (syscall_main_table[0]);
+   if(sysno==4407 || sysno==4403){
+      sysno-=4000;
+   }
    /* Is it in the contiguous initial section of the table? */
    if (sysno < syscall_main_table_size) {
       SyscallTableEntry * sys = &syscall_main_table[sysno];

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to