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.
This commit is contained in:
Andrew Cagney 2003-11-10 01:10:55 +00:00
parent 341e3d113e
commit db4469701a
3 changed files with 61 additions and 44 deletions

View file

@ -1,5 +1,11 @@
2003-11-09 Andrew Cagney <cagney@redhat.com> 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/s390.mh (XM_FILE, XM_CLIBS): Delete macros.
* config/s390/nm-linux.h (KERNEL_U_ADDR): Define. * config/s390/nm-linux.h (KERNEL_U_ADDR): Define.
* config/s390/xm-linux.h: Delete file. * config/s390/xm-linux.h: Delete file.

View file

@ -52,7 +52,6 @@
/* Static function declarations */ /* Static function declarations */
static void verify_gdbarch (struct gdbarch *gdbarch);
static void alloc_gdbarch_data (struct gdbarch *); static void alloc_gdbarch_data (struct gdbarch *);
static void init_gdbarch_swap (struct gdbarch *); static void init_gdbarch_swap (struct gdbarch *);
static void clear_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 static void
verify_gdbarch (struct gdbarch *gdbarch) verify_gdbarch (struct gdbarch *current_gdbarch)
{ {
struct ui_file *log; struct ui_file *log;
struct cleanup *cleanups; struct cleanup *cleanups;
@ -612,9 +617,9 @@ verify_gdbarch (struct gdbarch *gdbarch)
log = mem_fileopen (); log = mem_fileopen ();
cleanups = make_cleanup_ui_file_delete (log); cleanups = make_cleanup_ui_file_delete (log);
/* fundamental */ /* fundamental */
if (gdbarch->byte_order == BFD_ENDIAN_UNKNOWN) if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)
fprintf_unfiltered (log, "\n\tbyte-order"); 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"); fprintf_unfiltered (log, "\n\tbfd_arch_info");
/* Check those that need to be defined for the given multi-arch level. */ /* Check those that need to be defined for the given multi-arch level. */
/* Skip verify of short_bit, invalid_p == 0 */ /* 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 double_bit, invalid_p == 0 */
/* Skip verify of long_double_bit, invalid_p == 0 */ /* Skip verify of long_double_bit, invalid_p == 0 */
/* Skip verify of ptr_bit, invalid_p == 0 */ /* Skip verify of ptr_bit, invalid_p == 0 */
if (gdbarch->addr_bit == 0) if (current_gdbarch->addr_bit == 0)
gdbarch->addr_bit = TARGET_PTR_BIT; current_gdbarch->addr_bit = TARGET_PTR_BIT;
/* Skip verify of bfd_vma_bit, invalid_p == 0 */ /* Skip verify of bfd_vma_bit, invalid_p == 0 */
if (gdbarch->char_signed == -1) if (current_gdbarch->char_signed == -1)
gdbarch->char_signed = 1; current_gdbarch->char_signed = 1;
/* Skip verify of read_pc, has predicate */ /* Skip verify of read_pc, has predicate */
/* Skip verify of write_pc, invalid_p == 0 */ /* Skip verify of write_pc, invalid_p == 0 */
/* Skip verify of read_sp, has predicate */ /* 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_read, has predicate */
/* Skip verify of pseudo_register_write, has predicate */ /* Skip verify of pseudo_register_write, has predicate */
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
&& (gdbarch->num_regs == -1)) && (current_gdbarch->num_regs == -1))
fprintf_unfiltered (log, "\n\tnum_regs"); fprintf_unfiltered (log, "\n\tnum_regs");
/* Skip verify of num_pseudo_regs, invalid_p == 0 */ /* Skip verify of num_pseudo_regs, invalid_p == 0 */
/* Skip verify of sp_regnum, 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_frame_init_saved_regs, has predicate */
/* Skip verify of deprecated_init_extra_frame_info, has predicate */ /* Skip verify of deprecated_init_extra_frame_info, has predicate */
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
&& (gdbarch->skip_prologue == 0)) && (current_gdbarch->skip_prologue == 0))
fprintf_unfiltered (log, "\n\tskip_prologue"); fprintf_unfiltered (log, "\n\tskip_prologue");
/* Skip verify of prologue_frameless_p, invalid_p == 0 */ /* Skip verify of prologue_frameless_p, invalid_p == 0 */
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
&& (gdbarch->inner_than == 0)) && (current_gdbarch->inner_than == 0))
fprintf_unfiltered (log, "\n\tinner_than"); fprintf_unfiltered (log, "\n\tinner_than");
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) 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"); fprintf_unfiltered (log, "\n\tbreakpoint_from_pc");
/* Skip verify of adjust_breakpoint_address, has predicate */ /* Skip verify of adjust_breakpoint_address, has predicate */
/* Skip verify of memory_insert_breakpoint, invalid_p == 0 */ /* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
/* Skip verify of memory_remove_breakpoint, invalid_p == 0 */ /* Skip verify of memory_remove_breakpoint, invalid_p == 0 */
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) 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"); fprintf_unfiltered (log, "\n\tdecr_pc_after_break");
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) 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"); fprintf_unfiltered (log, "\n\tfunction_start_offset");
/* Skip verify of remote_translate_xfer_address, invalid_p == 0 */ /* Skip verify of remote_translate_xfer_address, invalid_p == 0 */
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) 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"); fprintf_unfiltered (log, "\n\tframe_args_skip");
/* Skip verify of frameless_function_invocation, invalid_p == 0 */ /* Skip verify of frameless_function_invocation, invalid_p == 0 */
/* Skip verify of deprecated_frame_chain, has predicate */ /* 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 frame_align, has predicate */
/* Skip verify of deprecated_reg_struct_has_addr, has predicate */ /* Skip verify of deprecated_reg_struct_has_addr, has predicate */
/* Skip verify of stabs_argument_has_addr, invalid_p == 0 */ /* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
if (gdbarch->float_format == 0) if (current_gdbarch->float_format == 0)
gdbarch->float_format = default_float_format (gdbarch); current_gdbarch->float_format = default_float_format (current_gdbarch);
if (gdbarch->double_format == 0) if (current_gdbarch->double_format == 0)
gdbarch->double_format = default_double_format (gdbarch); current_gdbarch->double_format = default_double_format (current_gdbarch);
if (gdbarch->long_double_format == 0) if (current_gdbarch->long_double_format == 0)
gdbarch->long_double_format = default_double_format (gdbarch); current_gdbarch->long_double_format = default_double_format (current_gdbarch);
/* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */ /* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
/* Skip verify of addr_bits_remove, invalid_p == 0 */ /* Skip verify of addr_bits_remove, invalid_p == 0 */
/* Skip verify of smash_text_address, invalid_p == 0 */ /* Skip verify of smash_text_address, invalid_p == 0 */
/* Skip verify of software_single_step, has predicate */ /* Skip verify of software_single_step, has predicate */
if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
&& (gdbarch->print_insn == 0)) && (current_gdbarch->print_insn == 0))
fprintf_unfiltered (log, "\n\tprint_insn"); fprintf_unfiltered (log, "\n\tprint_insn");
/* Skip verify of skip_trampoline_code, invalid_p == 0 */ /* Skip verify of skip_trampoline_code, invalid_p == 0 */
/* Skip verify of skip_solib_resolver, invalid_p == 0 */ /* Skip verify of skip_solib_resolver, invalid_p == 0 */
@ -797,7 +802,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
will go away. */ will go away. */
void void
gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
{ {
fprintf_unfiltered (file, fprintf_unfiltered (file,
"gdbarch_dump: GDB_MULTI_ARCH = %d\n", "gdbarch_dump: GDB_MULTI_ARCH = %d\n",

View file

@ -323,8 +323,9 @@ do
# You cannot specify both a zero INVALID_P and a POSTDEFAULT. # You cannot specify both a zero INVALID_P and a POSTDEFAULT.
# Variable declarations can refer to ``gdbarch'' which will # Variable declarations can refer to ``current_gdbarch'' which
# contain the current architecture. Care should be taken. # will contain the current architecture. Care should be
# taken.
invalid_p ) : ;; 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::FRAME_RED_ZONE_SIZE:int:frame_red_zone_size
v:2:PARM_BOUNDARY:int:parm_boundary 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_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 (gdbarch)::%s:(TARGET_DOUBLE_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 (gdbarch)::%s:(TARGET_LONG_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 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 # 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. # part of the address, but are used by the kernel, the hardware, etc.
@ -1293,7 +1294,6 @@ cat <<EOF
/* Static function declarations */ /* Static function declarations */
static void verify_gdbarch (struct gdbarch *gdbarch);
static void alloc_gdbarch_data (struct gdbarch *); static void alloc_gdbarch_data (struct gdbarch *);
static void init_gdbarch_swap (struct gdbarch *); static void init_gdbarch_swap (struct gdbarch *);
static void clear_gdbarch_swap (struct gdbarch *); static void clear_gdbarch_swap (struct gdbarch *);
@ -1530,13 +1530,19 @@ gdbarch_free (struct gdbarch *arch)
EOF EOF
# verify a new architecture # verify a new architecture
printf "\n"
printf "\n"
printf "/* Ensure that all values in a GDBARCH are reasonable. */\n"
printf "\n"
cat <<EOF 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 static void
verify_gdbarch (struct gdbarch *gdbarch) verify_gdbarch (struct gdbarch *current_gdbarch)
{ {
struct ui_file *log; struct ui_file *log;
struct cleanup *cleanups; struct cleanup *cleanups;
@ -1545,9 +1551,9 @@ verify_gdbarch (struct gdbarch *gdbarch)
log = mem_fileopen (); log = mem_fileopen ();
cleanups = make_cleanup_ui_file_delete (log); cleanups = make_cleanup_ui_file_delete (log);
/* fundamental */ /* fundamental */
if (gdbarch->byte_order == BFD_ENDIAN_UNKNOWN) if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)
fprintf_unfiltered (log, "\n\tbyte-order"); 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"); fprintf_unfiltered (log, "\n\tbfd_arch_info");
/* Check those that need to be defined for the given multi-arch level. */ /* Check those that need to be defined for the given multi-arch level. */
EOF EOF
@ -1565,15 +1571,15 @@ do
elif [ -n "${invalid_p}" -a -n "${postdefault}" ] elif [ -n "${invalid_p}" -a -n "${postdefault}" ]
then then
printf " if (${invalid_p})\n" printf " if (${invalid_p})\n"
printf " gdbarch->${function} = ${postdefault};\n" printf " current_gdbarch->${function} = ${postdefault};\n"
elif [ -n "${predefault}" -a -n "${postdefault}" ] elif [ -n "${predefault}" -a -n "${postdefault}" ]
then then
printf " if (gdbarch->${function} == ${predefault})\n" printf " if (current_gdbarch->${function} == ${predefault})\n"
printf " gdbarch->${function} = ${postdefault};\n" printf " current_gdbarch->${function} = ${postdefault};\n"
elif [ -n "${postdefault}" ] elif [ -n "${postdefault}" ]
then then
printf " if (gdbarch->${function} == 0)\n" printf " if (current_gdbarch->${function} == 0)\n"
printf " gdbarch->${function} = ${postdefault};\n" printf " current_gdbarch->${function} = ${postdefault};\n"
elif [ -n "${invalid_p}" ] elif [ -n "${invalid_p}" ]
then then
printf " if ((GDB_MULTI_ARCH ${gt_level})\n" printf " if ((GDB_MULTI_ARCH ${gt_level})\n"
@ -1582,7 +1588,7 @@ do
elif [ -n "${predefault}" ] elif [ -n "${predefault}" ]
then then
printf " if ((GDB_MULTI_ARCH ${gt_level})\n" 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" printf " fprintf_unfiltered (log, \"\\\\n\\\\t${function}\");\n"
fi fi
fi fi
@ -1611,7 +1617,7 @@ cat <<EOF
will go away. */ will go away. */
void void
gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file) gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
{ {
fprintf_unfiltered (file, fprintf_unfiltered (file,
"gdbarch_dump: GDB_MULTI_ARCH = %d\\n", "gdbarch_dump: GDB_MULTI_ARCH = %d\\n",