diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-11-10 01:10:55 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-11-10 01:10:55 +0000 |
commit | db4469701a370eb1dba6dea8e51602e75f68a433 (patch) | |
tree | 7a7b166160c1c254dd48f2b1a209fb3898fba7b0 | |
parent | 341e3d113ef5a8e8a08e8895fb0ef278a8b1f8b9 (diff) | |
download | gdb-db4469701a370eb1dba6dea8e51602e75f68a433.zip gdb-db4469701a370eb1dba6dea8e51602e75f68a433.tar.gz gdb-db4469701a370eb1dba6dea8e51602e75f68a433.tar.bz2 |
2003-11-09 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (verify_gdbarch, gdbarch_dump): Rename "gdbarch"
parameter to "current_gdbarch". Add comment explaining why.
(TARGET_FLOAT_FORMAT: Pass "current_gdbarch" to default_double_format.
(TARGET_DOUBLE_FORMAT,TARGET_LONG_DOUBLE_FORMAT): Ditto.
* gdbarch.c: Re-generate.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/gdbarch.c | 53 | ||||
-rwxr-xr-x | gdb/gdbarch.sh | 46 |
3 files changed, 61 insertions, 44 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index a0555d2..d5a24f2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2003-11-09 Andrew Cagney <cagney@redhat.com> + * gdbarch.sh (verify_gdbarch, gdbarch_dump): Rename "gdbarch" + parameter to "current_gdbarch". Add comment explaining why. + (TARGET_FLOAT_FORMAT: Pass "current_gdbarch" to default_double_format. + (TARGET_DOUBLE_FORMAT,TARGET_LONG_DOUBLE_FORMAT): Ditto. + * gdbarch.c: Re-generate. + * config/s390/s390.mh (XM_FILE, XM_CLIBS): Delete macros. * config/s390/nm-linux.h (KERNEL_U_ADDR): Define. * config/s390/xm-linux.h: Delete file. diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 40fbdd9..89bb0ed 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -52,7 +52,6 @@ /* Static function declarations */ -static void verify_gdbarch (struct gdbarch *gdbarch); static void alloc_gdbarch_data (struct gdbarch *); static void init_gdbarch_swap (struct gdbarch *); static void clear_gdbarch_swap (struct gdbarch *); @@ -600,10 +599,16 @@ gdbarch_free (struct gdbarch *arch) } -/* Ensure that all values in a GDBARCH are reasonable. */ +/* Ensure that all values in a GDBARCH are reasonable. */ + +/* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it + just happens to match the global variable ``current_gdbarch''. That + way macros refering to that variable get the local and not the global + version - ulgh. Once everything is parameterised with gdbarch, this + will go away. */ static void -verify_gdbarch (struct gdbarch *gdbarch) +verify_gdbarch (struct gdbarch *current_gdbarch) { struct ui_file *log; struct cleanup *cleanups; @@ -612,9 +617,9 @@ verify_gdbarch (struct gdbarch *gdbarch) log = mem_fileopen (); cleanups = make_cleanup_ui_file_delete (log); /* fundamental */ - if (gdbarch->byte_order == BFD_ENDIAN_UNKNOWN) + if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN) fprintf_unfiltered (log, "\n\tbyte-order"); - if (gdbarch->bfd_arch_info == NULL) + if (current_gdbarch->bfd_arch_info == NULL) fprintf_unfiltered (log, "\n\tbfd_arch_info"); /* Check those that need to be defined for the given multi-arch level. */ /* Skip verify of short_bit, invalid_p == 0 */ @@ -625,11 +630,11 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of double_bit, invalid_p == 0 */ /* Skip verify of long_double_bit, invalid_p == 0 */ /* Skip verify of ptr_bit, invalid_p == 0 */ - if (gdbarch->addr_bit == 0) - gdbarch->addr_bit = TARGET_PTR_BIT; + if (current_gdbarch->addr_bit == 0) + current_gdbarch->addr_bit = TARGET_PTR_BIT; /* Skip verify of bfd_vma_bit, invalid_p == 0 */ - if (gdbarch->char_signed == -1) - gdbarch->char_signed = 1; + if (current_gdbarch->char_signed == -1) + current_gdbarch->char_signed = 1; /* Skip verify of read_pc, has predicate */ /* Skip verify of write_pc, invalid_p == 0 */ /* Skip verify of read_sp, has predicate */ @@ -637,7 +642,7 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of pseudo_register_read, has predicate */ /* Skip verify of pseudo_register_write, has predicate */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->num_regs == -1)) + && (current_gdbarch->num_regs == -1)) fprintf_unfiltered (log, "\n\tnum_regs"); /* Skip verify of num_pseudo_regs, invalid_p == 0 */ /* Skip verify of sp_regnum, invalid_p == 0 */ @@ -709,27 +714,27 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of deprecated_frame_init_saved_regs, has predicate */ /* Skip verify of deprecated_init_extra_frame_info, has predicate */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->skip_prologue == 0)) + && (current_gdbarch->skip_prologue == 0)) fprintf_unfiltered (log, "\n\tskip_prologue"); /* Skip verify of prologue_frameless_p, invalid_p == 0 */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->inner_than == 0)) + && (current_gdbarch->inner_than == 0)) fprintf_unfiltered (log, "\n\tinner_than"); if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->breakpoint_from_pc == 0)) + && (current_gdbarch->breakpoint_from_pc == 0)) fprintf_unfiltered (log, "\n\tbreakpoint_from_pc"); /* Skip verify of adjust_breakpoint_address, has predicate */ /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */ /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->decr_pc_after_break == -1)) + && (current_gdbarch->decr_pc_after_break == -1)) fprintf_unfiltered (log, "\n\tdecr_pc_after_break"); if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->function_start_offset == -1)) + && (current_gdbarch->function_start_offset == -1)) fprintf_unfiltered (log, "\n\tfunction_start_offset"); /* Skip verify of remote_translate_xfer_address, invalid_p == 0 */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->frame_args_skip == -1)) + && (current_gdbarch->frame_args_skip == -1)) fprintf_unfiltered (log, "\n\tframe_args_skip"); /* Skip verify of frameless_function_invocation, invalid_p == 0 */ /* Skip verify of deprecated_frame_chain, has predicate */ @@ -745,18 +750,18 @@ verify_gdbarch (struct gdbarch *gdbarch) /* Skip verify of frame_align, has predicate */ /* Skip verify of deprecated_reg_struct_has_addr, has predicate */ /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */ - if (gdbarch->float_format == 0) - gdbarch->float_format = default_float_format (gdbarch); - if (gdbarch->double_format == 0) - gdbarch->double_format = default_double_format (gdbarch); - if (gdbarch->long_double_format == 0) - gdbarch->long_double_format = default_double_format (gdbarch); + if (current_gdbarch->float_format == 0) + current_gdbarch->float_format = default_float_format (current_gdbarch); + if (current_gdbarch->double_format == 0) + current_gdbarch->double_format = default_double_format (current_gdbarch); + if (current_gdbarch->long_double_format == 0) + current_gdbarch->long_double_format = default_double_format (current_gdbarch); /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */ /* Skip verify of addr_bits_remove, invalid_p == 0 */ /* Skip verify of smash_text_address, invalid_p == 0 */ /* Skip verify of software_single_step, has predicate */ if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) - && (gdbarch->print_insn == 0)) + && (current_gdbarch->print_insn == 0)) fprintf_unfiltered (log, "\n\tprint_insn"); /* Skip verify of skip_trampoline_code, invalid_p == 0 */ /* Skip verify of skip_solib_resolver, invalid_p == 0 */ @@ -797,7 +802,7 @@ verify_gdbarch (struct gdbarch *gdbarch) will go away. */ void -gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) +gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file) { fprintf_unfiltered (file, "gdbarch_dump: GDB_MULTI_ARCH = %d\n", diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh index afc5e02..7453276 100755 --- a/gdb/gdbarch.sh +++ b/gdb/gdbarch.sh @@ -323,8 +323,9 @@ do # You cannot specify both a zero INVALID_P and a POSTDEFAULT. - # Variable declarations can refer to ``gdbarch'' which will - # contain the current architecture. Care should be taken. + # Variable declarations can refer to ``current_gdbarch'' which + # will contain the current architecture. Care should be + # taken. invalid_p ) : ;; @@ -668,9 +669,9 @@ m:::int:stabs_argument_has_addr:struct type *type:type:::default_stabs_argument_ v::FRAME_RED_ZONE_SIZE:int:frame_red_zone_size v:2:PARM_BOUNDARY:int:parm_boundary # -v:2:TARGET_FLOAT_FORMAT:const struct floatformat *:float_format::::::default_float_format (gdbarch)::%s:(TARGET_FLOAT_FORMAT)->name -v:2:TARGET_DOUBLE_FORMAT:const struct floatformat *:double_format::::::default_double_format (gdbarch)::%s:(TARGET_DOUBLE_FORMAT)->name -v:2:TARGET_LONG_DOUBLE_FORMAT:const struct floatformat *:long_double_format::::::default_double_format (gdbarch)::%s:(TARGET_LONG_DOUBLE_FORMAT)->name +v:2:TARGET_FLOAT_FORMAT:const struct floatformat *:float_format::::::default_float_format (current_gdbarch)::%s:(TARGET_FLOAT_FORMAT)->name +v:2:TARGET_DOUBLE_FORMAT:const struct floatformat *:double_format::::::default_double_format (current_gdbarch)::%s:(TARGET_DOUBLE_FORMAT)->name +v:2:TARGET_LONG_DOUBLE_FORMAT:const struct floatformat *:long_double_format::::::default_double_format (current_gdbarch)::%s:(TARGET_LONG_DOUBLE_FORMAT)->name m:::CORE_ADDR:convert_from_func_ptr_addr:CORE_ADDR addr, struct target_ops *targ:addr, targ:::convert_from_func_ptr_addr_identity::0 # On some machines there are bits in addresses which are not really # part of the address, but are used by the kernel, the hardware, etc. @@ -1293,7 +1294,6 @@ cat <<EOF /* Static function declarations */ -static void verify_gdbarch (struct gdbarch *gdbarch); static void alloc_gdbarch_data (struct gdbarch *); static void init_gdbarch_swap (struct gdbarch *); static void clear_gdbarch_swap (struct gdbarch *); @@ -1530,13 +1530,19 @@ gdbarch_free (struct gdbarch *arch) EOF # verify a new architecture -printf "\n" -printf "\n" -printf "/* Ensure that all values in a GDBARCH are reasonable. */\n" -printf "\n" cat <<EOF + + +/* Ensure that all values in a GDBARCH are reasonable. */ + +/* NOTE/WARNING: The parameter is called \`\`current_gdbarch'' so that it + just happens to match the global variable \`\`current_gdbarch''. That + way macros refering to that variable get the local and not the global + version - ulgh. Once everything is parameterised with gdbarch, this + will go away. */ + static void -verify_gdbarch (struct gdbarch *gdbarch) +verify_gdbarch (struct gdbarch *current_gdbarch) { struct ui_file *log; struct cleanup *cleanups; @@ -1545,9 +1551,9 @@ verify_gdbarch (struct gdbarch *gdbarch) log = mem_fileopen (); cleanups = make_cleanup_ui_file_delete (log); /* fundamental */ - if (gdbarch->byte_order == BFD_ENDIAN_UNKNOWN) + if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN) fprintf_unfiltered (log, "\n\tbyte-order"); - if (gdbarch->bfd_arch_info == NULL) + if (current_gdbarch->bfd_arch_info == NULL) fprintf_unfiltered (log, "\n\tbfd_arch_info"); /* Check those that need to be defined for the given multi-arch level. */ EOF @@ -1565,15 +1571,15 @@ do elif [ -n "${invalid_p}" -a -n "${postdefault}" ] then printf " if (${invalid_p})\n" - printf " gdbarch->${function} = ${postdefault};\n" + printf " current_gdbarch->${function} = ${postdefault};\n" elif [ -n "${predefault}" -a -n "${postdefault}" ] then - printf " if (gdbarch->${function} == ${predefault})\n" - printf " gdbarch->${function} = ${postdefault};\n" + printf " if (current_gdbarch->${function} == ${predefault})\n" + printf " current_gdbarch->${function} = ${postdefault};\n" elif [ -n "${postdefault}" ] then - printf " if (gdbarch->${function} == 0)\n" - printf " gdbarch->${function} = ${postdefault};\n" + printf " if (current_gdbarch->${function} == 0)\n" + printf " current_gdbarch->${function} = ${postdefault};\n" elif [ -n "${invalid_p}" ] then printf " if ((GDB_MULTI_ARCH ${gt_level})\n" @@ -1582,7 +1588,7 @@ do elif [ -n "${predefault}" ] then printf " if ((GDB_MULTI_ARCH ${gt_level})\n" - printf " && (gdbarch->${function} == ${predefault}))\n" + printf " && (current_gdbarch->${function} == ${predefault}))\n" printf " fprintf_unfiltered (log, \"\\\\n\\\\t${function}\");\n" fi fi @@ -1611,7 +1617,7 @@ cat <<EOF will go away. */ void -gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) +gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file) { fprintf_unfiltered (file, "gdbarch_dump: GDB_MULTI_ARCH = %d\\n", |