This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [Bug win32/14529] Make gdb capable of JIT-debugging on W32
- From: Pedro Alves <palves at redhat dot com>
- To: LRN <lrn1986 at gmail dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 11 Sep 2012 19:27:35 +0100
- Subject: Re: [Bug win32/14529] Make gdb capable of JIT-debugging on W32
- References: <503E575D.1000608@gmail.com> <83y5kvp0za.fsf@gnu.org> <5040DA38.2070802@gmail.com> <504F7E31.10306@redhat.com> <504F818B.6090104@gmail.com>
On 09/11/2012 07:23 PM, LRN wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 11.09.2012 22:08, Pedro Alves wrote:
>> On 08/31/2012 04:37 PM, LRN wrote:
>>>>>>> @@ -1055,6 +1065,7 @@ Options:\n\n\ --dbx
>>>>>>> DBX compatibility mode.\n\ --directory=DIR Search for
>>>>>>> source files in DIR.\n\ --epoch Output
>>>>>>> information used by epoch emacs-GDB interface.\n\ +
>>>>>>> --event=EVENT Signal the EVENT when attached to a
>>>>>>> process. W32 only.\n\
>>>>>
>>>>> And also this part.
>>> They were, initially. However, gdb contribution documentation
>>> said that gdb devs frown upon extra #ifdefs in files that are
>>> not platform-specific. The code is mostly platform independent,
>>> it's the two W32API functions that only work on W32 (and you can
>>> write non-W32 equivalent, if you figure out how to make it work).
>>> Thus, i removed extra #ifdefs in main.c and other files.
>>
>> Please consider also cross builds. IOW, a gdb hosted on Windows,
>> but that is built to target something else. In that case, as is,
>> you will end up with the option compiled in. But if you remove
>> any mention that this is for Windows only, it'll be confusing.
> OK, that means moving configure.ac patches from $host_os case
> to...where? Should i just make a new
> case "${target}" in
> *cygwin*|*mingw*) default_w32_jitdbg=1
> ;;
> esac
> somewhere? Is it ${target}, or ${target_os}? What if there are
> multiple targets (i've seen something like that in configure.ac)?
Right, that's the issue -- you can't just check the target, because
there might be more than one. So the option should be clear
at what it does, and where it applies.
>
>> I'd maybe go as far as renaming the option to --w32-jit-event or
>> --aedebug-event, or some such.
>>
> I don't really care how it's named. Agree on something, and i'll
> change the patch.
I don't care either, as long as it isn't confusing on the cross
scenario. :-)
> That said, w32-jit-event sounds closer to truth, since it's not
> exclusive to AeDebug (as i have said, you can use it manually, if you
> have your own exception handler that runs gdb).
Alright.
>
>> Alternatively, and perhaps it really is a better option, get rid of
>> the --event option, but make this a real command, implemented in
>> windows-nat.c, so that the user has better control of when to
>> signal the event, like:
>>
>> gdb -ex "foo" -ex "bar" -ex "attach PID" -ex "signal-aedebug-event
>> FOO"
>>
> That's an interesting option. Will require better documentation though
> (i haven't realized that i can do that until now; shows how well i
> know gdb :). And i'll need to test it to make sure that W32 is
> actually capable of, say, replacing a quoted %ld...
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (MingW32)
> Comment: Using GnuPG with Mozilla - http://www.enigmail.net/
>
> iQEcBAEBAgAGBQJQT4GLAAoJEOs4Jb6SI2CwlH0IALrpqt+UsJxUQiQHd1HHJ7nU
> 8Zb9SO2Vu14//QNdpVh8cWExoOGTvNR7buKjRvYHbbB4lw83ZbYV4TuzaBoR96+/
> s7ty3AH8sztJtQVXcQ/kSV4MUx8HQfRzBGvPyHQcCNgNQ5THH2sBAn439yHExqDv
> F+dmKFbXQ8Y4znAjMRyuNqIcf+tg327UtA9kaAdYyW2r7lAaFRBW65ls2OJmBX+v
> Uzi1PY7s50L+k0XIzp08tEbQvhev/0J1/mHYr1COp4Z3pdjLtAENLfvkYnpXHQHD
> /w8NAmUnKrN65mQbE/sZtAmdM+WOo33XC9MagDvSdpFgFrBQClR6k7D0nkBfznM=
> =PM36
> -----END PGP SIGNATURE-----
>
--
Pedro Alves