FW: [PATCH] Commandline Support for the H8300 Simulator.
Andrew Cagney
ac131313@redhat.com
Fri Mar 7 17:22:00 GMT 2003
> 2003-02-22 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
>
> * compile.c: Added #define SET_CMDLINE_LOCATION to
> set the location of 8-bit (256 locations) where the
> Command Line arguments would be stored.
> (decode): Added a TRAP to 0xcc for Commandline
> processing using pseudo opcode O_SYS_CMDLINE.
> (sim_resume): Added handling of O_SYS_CMDLINE Trap.
> (sim_create_inferior): Setting a pointer to
> Commandline Args array.
> * inst.h: Added a new variable ptr_CommandLine for
> storing pointer to Commandline array.
>
>
>
> *** sim/h8300/inst.h.original Wed Feb 19 15:28:24 2003
> --- sim/h8300/inst.h.modified Sat Feb 22 19:50:51 2003
> *************** enum h8300_sim_state {
> *** 66,71 ****
> --- 66,74 ----
> SIM_STATE_RUNNING, SIM_STATE_EXITED, SIM_STATE_SIGNALLED, SIM_STATE_STOPPED
> };
>
> + /* For Command Line. */
> + char **ptr_CommandLine; /* Pointer to command Line Arguments. */
Please call the variable:
ptr_command_line
(gnu coding standards don't like edit case variables)
> typedef struct
> {
> enum h8300_sim_state state;
>
>
>
> *** sim/h8300/compile.c.original Wed Feb 19 15:28:09 2003
> --- sim/h8300/compile.c.modified Sat Feb 22 19:50:43 2003
> *************** void sim_set_simcache_size PARAMS ((int)
> *** 119,124 ****
> --- 119,132 ----
> #define UEXTSHORT(x) ((x) & 0xffff)
> #define SEXTSHORT(x) ((short) (x))
>
> + #define SET_CMDLINE_LOCATION \
> + if (h8300smode) \
> + addr_cmdline = 0xffff00L; \
> + else if (h8300hmode) \
> + addr_cmdline = 0x2ff00L; \
> + else \
> + addr_cmdline = 0xff00L;
> +
Please write the above as a function cmdline_location() that returns the
address.
> + ptr_CommandLine = argv;
I'd change that to strdup (argv) (freeing the old value if necessary).
that way the code can't run foul of GDB freeing up the parameter.
Otherwize, approved.
Andrew
More information about the Gdb-patches
mailing list