Stable comparison sort with $O(1)$ auxiliary memory and $O(n \log n)$ average running time Does there exist a stable comparison sort using $O(1)$ auxiliary memory and achieving $O(n \log n)$ average run time?

Context: There are comparison sorts with any two of those three desirable characteristics (see this list). Is there a reason why the three cannot be achieved simultaneously? [Edit: I added the algorithm from the accepted answer to the list on Wikipedia, obviously it wasn't there when I asked the question.]
There is a sort algorithm with $O(1)$ auxiliary words and achieving $O(n\log n)$ worst-case run time, where $n$ is the length of the input array.
http://www.springerlink.com/content/d7348168624070v7/

I don't think that the question seeks an algorithm with $O(1)$ auxiliary bits, because such algorithm must be tricky.  I mean, if we cannot use even $O(\log n)$ bits, then we cannot use a simple for-loop (for(i=0, i &lt; n, i++) {...} ) in the algorithm without introducing variable i (which require additional $O(\log n)$ bits).