* ada-lang.c (extract_string): Delete.
(ada_main_name): Reimplement using target_read_string instead of extract_string.
This commit is contained in:
parent
34adf97607
commit
f9bc20b9be
2 changed files with 16 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2009-04-16 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
* ada-lang.c (extract_string): Delete.
|
||||||
|
(ada_main_name): Reimplement using target_read_string instead of
|
||||||
|
extract_string.
|
||||||
|
|
||||||
2009-04-16 Andreas Schwab <schwab@linux-m68k.org>
|
2009-04-16 Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
|
||||||
* m68klinux-nat.c: Remove obsolete comment.
|
* m68klinux-nat.c: Remove obsolete comment.
|
||||||
|
|
|
@ -679,8 +679,7 @@ char *
|
||||||
ada_main_name (void)
|
ada_main_name (void)
|
||||||
{
|
{
|
||||||
struct minimal_symbol *msym;
|
struct minimal_symbol *msym;
|
||||||
CORE_ADDR main_program_name_addr;
|
static char *main_program_name = NULL;
|
||||||
static char main_program_name[1024];
|
|
||||||
|
|
||||||
/* For Ada, the name of the main procedure is stored in a specific
|
/* For Ada, the name of the main procedure is stored in a specific
|
||||||
string constant, generated by the binder. Look for that symbol,
|
string constant, generated by the binder. Look for that symbol,
|
||||||
|
@ -691,11 +690,19 @@ ada_main_name (void)
|
||||||
|
|
||||||
if (msym != NULL)
|
if (msym != NULL)
|
||||||
{
|
{
|
||||||
|
CORE_ADDR main_program_name_addr;
|
||||||
|
int err_code;
|
||||||
|
|
||||||
main_program_name_addr = SYMBOL_VALUE_ADDRESS (msym);
|
main_program_name_addr = SYMBOL_VALUE_ADDRESS (msym);
|
||||||
if (main_program_name_addr == 0)
|
if (main_program_name_addr == 0)
|
||||||
error (_("Invalid address for Ada main program name."));
|
error (_("Invalid address for Ada main program name."));
|
||||||
|
|
||||||
extract_string (main_program_name_addr, main_program_name);
|
xfree (main_program_name);
|
||||||
|
target_read_string (main_program_name_addr, &main_program_name,
|
||||||
|
1024, &err_code);
|
||||||
|
|
||||||
|
if (err_code != 0)
|
||||||
|
return NULL;
|
||||||
return main_program_name;
|
return main_program_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue