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>
* 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.

View File

@ -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",

View File

@ -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",