Internal de{*word*81} problem with kernel 2.6.11 and upwards


2005-09-20 02:16:30 AM
kylix0
Molle Bestefich has tried to help by reverting some of the changes to
the 2.6.11 kernel he suspected were causing the problem to be applied on
the 2.6.13.1 kernel source. From my test the de{*word*81} is still kaput :(
I have posted the archive containing the kernel souvce files patched by
Molle to the borland.public.attachments newsgroup so that someone else
can try it as well.
Also
Andreas Molle was also trying to get hold of you, but his emails are
being rejected. (He was using a GMail account) If you can email me a
email address that he can use I will forward it to him - if you want to..
It could probably really help if someone from Borland could step through
the kylix coke to find this bug..
Some snippets from Molle's emails..
----------.
I'd like to help out where I can, but it's difficult to test for
differences in behaviour when I myself have never ever gotten the
integrated de{*word*81} to work ;-/.
I've browsed the BK changesets between 2.6.10 and 2.6.11.
The following three changes poked me in the eye:
====================================
<torvalds>[cset 1.1938.486.3]
x86: common send_sigtrap helper for debug event SIGTRAP's,
and use that for system call single-step events.
This one also gets the user mode test right, and makes sure
the siginfo is not leaking any stack contents.
<torvalds>[cset 1.1938.486.4]
x86: be a lot more careful about TF handling.
This should fix Wine for some games that otherwise
seem to think that they run under a de{*word*81}.
<torvalds>[cset 1.1938.486.5]
x86: single-step over "popf" without corrupting state.
This still leaves "pushf" able to see that somebody is
single-stepping us, but that is at least something you
can work around.
====================================
The above changes seemed to go in as early as 2.6.11-rc1, so if it's
the culprit, presumably rc1 won't work either.
Could any of you who has the integrated de{*word*81} in a working state
try:
- Download 2.6.11 RC1 and test that it also fails
- Download the above mentioned diff's from linux.bkbits.net,
revert them and try once again?
For reference, the discussion leading to the above patches can be found
here:
www.winehq.com/
--Some more..
..
Second, the changesets in BitKeeper seems to change numbers from day
to day. Strange. I wonder. Disregard them.
Third, the changesets mentioned do not apply cleanly using patch with
--reverse on a 2.6.13.1 tree, because the files affected have since
been modified.
So instead of reversing the changes, I tried copying the
de{*word*81}-related files from 2.6.10 into the 2.6.13.1 source tree.
That didn't work. So I've spent a lot of time fiddling with the
sources until I could get them to compile cleanly. That also means
re-applying a couple of patches from the post-2.6.10 era, although
none of those mentioned in my previous mail..
The files affected are:
include/asm-i386/ptrace.h
arch/i386/kernel/ptrace.c
arch/i386/kernel/signal.c
arch/i386/kernel/traps.c
They're included in the .tar.bz2 file attached.
Try extracting them over your 2.6.13.1 source tree, recompile,
install, boot and see if Kylix will run with the de{*word*81} enabled, in
the same way as it does on your 2.6.10 kernel.
*Crosses fingers* :-)