This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
It's been a little bit more of a struggle than I thought it would be, but I have an initial port for x86_64-windows. Attached is the overall patch, which I did split into 17 small patches (if I counted right). This patch should apply to the current CVS HEAD. This patch is not for discussion, as it is fairly large, but just FYI, and if someone wants to play with the debugger. A collection of smaller patches will be sent out soon. To build, configure as x86_64-.*-mingw32. I would have prefered to use "mingw" but config.sub rejects it. GDB, however, only cares about "mingw", so as soon as config.sub is updated, we'll be able to configure with "mingw". In terms of functionality, it seems to work reasonably well, with the following notable issues: - Thread switching seems broken. I'm not sure yet if it is because we're reading bogus PC register values for the non-current threads, or because of something else. - Inferior is broken. This could be related to Windows using a different ABI than other x86_64 targets. Not sure. I think I've hit my limit in terms of how much Windows I can get within a certain period of time, so I'll leave these issues as is for now, and focus on contributing what I have now. One last thing: I don't have a 64bit cygwin compiler, so I didn't try to port GDB to cygwin as well. I suspect it will be trivial to do so after my changes are incorporated. In terms of copyright, I declare that AdaCore is the sole author of all these changes, with one exception in amd64-windows-nat.c. The "mappings" array contains the following entries: context_offset (FloatSave.ErrorSelector), context_offset (FloatSave.ErrorOffset), context_offset (FloatSave.DataSelector), context_offset (FloatSave.DataOffset), context_offset (FloatSave.ErrorSelector) These entries are supposed to be the offset of the following registers in the CONTEXT structure: "fiseg", "fioff", "foseg", "fooff", "fop", I couldn't find what these registers are about, so I cheated and used the sources that Kai sent me. I have no idea whether this is correct or not. -- Joel
Attachment:
amd64-windows.diff
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |