Here are two interesting foundings, for both cases, the what pcode listing shows is different from what the c code decompile shows:
For function "_ssh_buffer_pac" in "libssh.so", which is decompiled from source code here.
The decompiled code is like:
int _ssh_buffer_pack(struct ssh_buffer_struct *buffer,
const char *format,
size_t argc,
...){
...
if (argc > 256) {
There is no difference whether using option "Decompiler Parameter ID" for the above case, And I notice for param_11, there is a difference between pcode and decompile c code:
The second function is "apply_relative_time" in "touch", where the source code is here
the decompiled code has two parameters:
static bool
apply_relative_time (parser_control *pc, relative_time rel, int factor)
....
But what is more interesting is there are 11 parameters being recognized in pcode, but the they were shown as "in_stackxxxx" in decompiled code
And clicking the "in_stackxxxx" shows "param_3" in pcode:
Here are two interesting foundings, for both cases, the what pcode listing shows is different from what the c code decompile shows: For function "_ssh_buffer_pac" in "libssh.so", which is decompiled from source code here. The decompiled code is like:
where the source code is like:
There is no difference whether using option "Decompiler Parameter ID" for the above case, And I notice for param_11, there is a difference between pcode and decompile c code:
The second function is "apply_relative_time" in "touch", where the source code is here the decompiled code has two parameters:
the source code has three parameters:
But what is more interesting is there are 11 parameters being recognized in pcode, but the they were shown as "in_stackxxxx" in decompiled code And clicking the "in_stackxxxx" shows "param_3" in pcode: