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]

Re: [PATCH] Allow spaces in filenames to load command


Here's what I think we should do.  Folks who've worked a lot with the
target vector, please review.

First, I'd like to make the following change to target.h:

*** target.h	15 Sep 2005 22:46:32 -0700	1.76
--- target.h	06 Dec 2005 19:03:13 -0800	
***************
*** 679,686 ****

  /* Load an executable file into the target process.  This is expected
     to not only bring new code into the target process, but also to
!    update GDB's symbol tables to match.  */

  extern void target_load (char *arg, int from_tty);

  /* Look up a symbol in the target's symbol table.  NAME is the symbol
--- 679,692 ----

  /* Load an executable file into the target process.  This is expected
     to not only bring new code into the target process, but also to
!    update GDB's symbol tables to match.

+    ARG contains command-line arguments, to be broken down with
+    buildargv ().  The first non-switch argument is the filename to
+    load, FILE; the second is a number (as parsed by strtoul (..., ...,
+    0)), which is an offset to apply to the load addresses of FILE's
+    sections.  The target may define switches, or other non-switch
+    arguments, as it pleases.  */
  extern void target_load (char *arg, int from_tty);

  /* Look up a symbol in the target's symbol table.  NAME is the symbol

I believe generic_load (and all the targets that use it, which is most
of them) already meet that description.

Second, change gdbsim_load to actually call buildargv, error out if a
load address is present (saying it's not implemented yet), and pass
the filename to sim_load.

Third, change load_command to quote the result from get_exec_file if needed.

Fourth, drop the string address equality test from the patch.

Fifth, error out if there are further arguments we haven't recognized.

This moves towards a well-defined interface for target_load.  I don't
think it's fair to ask you to go in and fix
freds-old-S100-bus-board-monitor.c; in the future, if people run into
problems with specific targets not expecting the quotation, we can fix
them, since we'll then have a person who can actually test the change.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]