On Mon, 29 Nov 2010 16:37:05 -0500
stpeters(a)NetHeaven.com (Dick St. Peters) wrote:
The ltrace output in /tmp/Xorg.out has 176 calls to memmove(), all
with five arguments, like this example:
memmove(0xa352c50, 0xa3535e0, 1648, 0x806892f, 0x40001c)
Can anyone shed some light on what is going on here? The first three
arguments appear to be the usual three memmove() arguments: dest, src,
and count. The extra two aren't documented anywhere I can find, and
memmove() has always been a three-argument function.
To further confuse things, memmove() isn't the only call with too many
arguments. clock_gettime() is supposed to have two arguments, but
it's called 694 times with five arguments. There may well be other
calls with strange argument counts, but the output has 371800 lines,
and I'm not up to examining all of them.
I know nothing about X, but if it is written in C++ it is possible that
the function has been overridden in a class. You would have to look in
the source to see if this is true. i.e. the memmove you are looking at
might not be the generic C memmove as documented in man memmove.