From: Doug Evans <dje@google.com>
To: asmwarrior <asmwarrior@gmail.com>
Cc: gdb-patches@sourceware.org
Subject: Re: Building GDB 7.3.92 with MinGW
Date: Wed, 11 Jan 2012 17:54:00 -0000 [thread overview]
Message-ID: <CADPb22RhjKvJmf2xGJHNJrcnwush4goqXrC=3umkq_5t2Wky+g@mail.gmail.com> (raw)
In-Reply-To: <4F0CD948.8080909@gmail.com>
On Tue, Jan 10, 2012 at 4:35 PM, asmwarrior <asmwarrior@gmail.com> wrote:
> On 2012-1-11 5:23, Doug Evans wrote:
>>
>> For one, remembering to pass -data-directory is a pain.
>
>
> This parameter does not work correctly under MinGW in the case that I would
> like gdb to automatically run the python script when it startup.
When you say "run the python script", *which* python script are you
referring to?
> Normally, my gdb is put in MinGW/bin, and the gdb's own python script is
> under:
> MinGW\share\gdb\python\gdb\*.py
>
> I need to hard-code the code in gdb/main.c to set the data-directory value.
> (Because gdb is build from MSYS+MinGW, but it run normally on Windows shell
> without MSYS)
>
> Here are some hard-code modify to the main.c file, if you do not change
> this, there is no way to load gdb's own python scripts.
>
> diff --git a/gdb/main.c b/gdb/main.c
> index 8b45c25..46b11a8 100644
> --- a/gdb/main.c
> +++ b/gdb/main.c
> @@ -42,6 +42,10 @@
> #include "python/python.h"
> #include "objfiles.h"
> +#ifdef _WIN32
> +extern int get_app_fullpath(char *location, int length);
> +#endif
> +
> /* The selected interpreter. This will be used as a set command
> variable, so it should always be malloc'ed - since
> do_setshow_command will free it. */
> @@ -355,8 +359,27 @@ captured_main (void *data)
> debug_file_directory = relocate_gdb_directory (DEBUGDIR,
> DEBUGDIR_RELOCATABLE);
> +
> +#ifdef _WIN32
> + {
> + char location[500];
> + int len= get_app_fullpath(location, sizeof (location));
> + if (len == 0 || len > 500 - 1)
> + gdb_datadir = relocate_gdb_directory
> (GDB_DATADIR,GDB_DATADIR_RELOCATABLE);
> + else
> + {
> + char *p_slash =strrchr(location,'\\');
> + *p_slash = '\000';
> + p_slash =strrchr(location,'\\'); /* remove the bin folder*/
> + *p_slash = '\000';
> + strcat(location,"\\share\\gdb");
> + gdb_datadir = xstrdup (location);
> + }
> + }
> +#else
> gdb_datadir = relocate_gdb_directory (GDB_DATADIR,
> - GDB_DATADIR_RELOCATABLE);
> + GDB_DATADIR_RELOCATABLE);
> +#endif
> #ifdef WITH_PYTHON_PATH
> {
>
> If I remember correctly, I have post it some months ago.
*If* there is a bug here, and it's not pilot error, it feels like
perhaps the bug is in relocate_gdb_directory.
[Why don't all calls to relocate_gdb_directory require similar treatment?
Thus this feels like the wrong way to go.]
Maybe if you provide a sample session (and complete session please, no
editing to trim it down), that will help.
next prev parent reply other threads:[~2012-01-11 17:48 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-10 18:46 Eli Zaretskii
2012-01-10 18:59 ` Doug Evans
2012-01-10 20:56 ` Eli Zaretskii
2012-01-13 11:28 ` Eli Zaretskii
2012-01-10 19:25 ` Tom Tromey
2012-01-10 20:55 ` Joseph S. Myers
2012-01-10 20:58 ` Eli Zaretskii
2012-01-10 21:00 ` Eli Zaretskii
2012-01-10 19:31 ` Alfred M. Szmidt
2012-01-10 21:01 ` Eli Zaretskii
2012-01-10 21:26 ` Doug Evans
2012-01-11 0:37 ` asmwarrior
2012-01-11 4:08 ` Eli Zaretskii
2012-01-11 4:54 ` asmwarrior
2012-01-11 17:54 ` Doug Evans [this message]
2012-01-12 0:17 ` asmwarrior
2012-01-12 6:47 ` Eli Zaretskii
2012-01-12 8:07 ` Joel Brobecker
2012-01-12 11:54 ` Eli Zaretskii
2012-01-12 12:35 ` Joel Brobecker
2012-01-12 16:59 ` Eli Zaretskii
2012-01-13 14:29 ` asmwarrior
2012-01-13 16:55 ` Eli Zaretskii
2012-01-14 13:53 ` asmwarrior
[not found] ` <4F117B33.8080906@gmail.com>
2012-01-14 18:15 ` Eli Zaretskii
2012-01-15 3:33 ` Pierre Muller
[not found] ` <18546.4176851839$1326580387@news.gmane.org>
2012-01-15 3:54 ` asmwarrior
[not found] ` <000001ccd30c$5ce854e0$16b8fea0$%muller@ics-cnrs.unistra.fr>
2012-01-15 13:35 ` Eli Zaretskii
2012-01-15 17:01 ` Joel Brobecker
2012-01-15 18:55 ` Eli Zaretskii
2012-01-15 18:01 ` Pierre Muller
[not found] ` <000301ccd3a7$3db8c460$b92a4d20$%muller@ics-cnrs.unistra.fr>
2012-01-15 18:55 ` Eli Zaretskii
2012-01-16 3:08 ` Pierre Muller
2012-01-10 21:33 ` Tom Tromey
2012-01-11 1:31 ` asmwarrior
2012-01-11 4:30 ` Eli Zaretskii
2012-01-11 4:30 ` asmwarrior
2012-01-11 3:32 ` Joel Brobecker
2012-01-13 11:06 ` Eli Zaretskii
2012-01-13 12:39 ` Joel Brobecker
2012-01-13 13:56 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CADPb22RhjKvJmf2xGJHNJrcnwush4goqXrC=3umkq_5t2Wky+g@mail.gmail.com' \
--to=dje@google.com \
--cc=asmwarrior@gmail.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox