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]

[ARI regression] in arm-tdep.c


  Hi Jules,

your patch from august 31
add a new regression about use of abort() function
See
http://sourceware.org/gdb/current/ari/

As stated:
Do not use abort, instead use internal_error; GDB should never abort

  Below is a proposition of patch,
but as I have no precise idea of what 
displaced_write_reg function does,
it might be better if you commit a
patch with a more adequate description of
the problem, maybe something like 
"wrong write_pc argument value in displaced_write_reg fuinction"?

Could you please take care of this?

Pierre Muller
GDB ARI maintainer.


Index: arm-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/arm-tdep.c,v
retrieving revision 1.286
diff -u -p -r1.286 arm-tdep.c
--- arm-tdep.c  14 Aug 2009 00:32:31 -0000      1.286
+++ arm-tdep.c  3 Sep 2009 08:01:10 -0000
@@ -2769,7 +2769,8 @@ displaced_write_reg (struct regcache *re
          break;

        default:
-         abort ();
+         internal_error (__FILE__, __LINE__,
+                         _("Error inside displaced_write_reg function"));
        }

       dsc->wrote_to_pc = 1;




> -----Message d'origine-----
> De?: gdb-cvs-owner@sourceware.org [mailto:gdb-cvs-owner@sourceware.org]
> De la part de jules@sourceware.org
> Envoyé?: Friday, July 31, 2009 1:05 AM
> À?: gdb-cvs@sourceware.org
> Objet?: src/gdb ChangeLog arm-linux-tdep.c arm-tdep.c ...
> 
> CVSROOT:	/cvs/src
> Module name:	src
> Changes by:	jules@sourceware.org	2009-07-30 23:05:05
> 
> Modified files:
> 	gdb            : ChangeLog arm-linux-tdep.c arm-tdep.c
> 	                 arm-tdep.h
> 
> Log message:
> 	* arm-linux-tdep.c (arch-utils.h, inferior.h, gdbthread.h,
> symfile.h):
> 	Include files.
> 	(arm_linux_cleanup_svc, arm_linux_copy_svc): New.
> 	(cleanup_kernel_helper_return, arm_catch_kernel_helper_return):
> New.
> 	(arm_linux_displaced_step_copy_insn): New.
> 	(arm_linux_init_abi): Initialise displaced stepping callbacks.
> 	* arm-tdep.c (DISPLACED_STEPPING_ARCH_VERSION): New macro.
> 	(ARM_NOP): New.
> 	(displaced_read_reg, displaced_in_arm_mode, branch_write_pc)
> 	(bx_write_pc, load_write_pc, alu_write_pc, displaced_write_reg)
> 	(insn_references_pc, copy_unmodified, cleanup_preload,
> copy_preload)
> 	(copy_preload_reg, cleanup_copro_load_store,
> copy_copro_load_store)
> 	(cleanup_branch, copy_b_bl_blx, copy_bx_blx_reg, cleanup_alu_imm)
> 	(copy_alu_imm, cleanup_alu_reg, copy_alu_reg)
> 	(cleanup_alu_shifted_reg, copy_alu_shifted_reg, cleanup_load)
> 	(cleanup_store, copy_extra_ld_st, copy_ldr_str_ldrb_strb)
> 	(cleanup_block_load_all, cleanup_block_store_pc)
> 	(cleanup_block_load_pc, copy_block_xfer, cleanup_svc, copy_svc)
> 	(copy_undef, copy_unpred): New.
> 	(decode_misc_memhint_neon, decode_unconditional)
> 	(decode_miscellaneous, decode_dp_misc, decode_ld_st_word_ubyte)
> 	(decode_media, decode_b_bl_ldmstm, decode_ext_reg_ld_st)
> 	(decode_svc_copro, arm_process_displaced_insn)
> 	(arm_displaced_init_closure, arm_displaced_step_copy_insn)
> 	(arm_displaced_step_fixup): New.
> 	(arm_gdbarch_init): Initialise max insn length field.
> 	* arm-tdep.h (DISPLACED_TEMPS, DISPLACED_MODIFIED_INSNS): New
> 	macros.
> 	(displaced_step_closure, pc_write_style): New.
> 	(arm_displaced_init_closure, displaced_read_reg)
> 	(arm_process_displaced_insn, arm_displaced_init_closure)
> 	(displaced_read_reg, displaced_write_reg,
> arm_displaced_step_copy_insn)
> 	(arm_displaced_step_fixup): Add prototypes.
> 
> Patches:
> http://sources.redhat.com/cgi-
> bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.10761&r2=1.10762
> http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/arm-linux-
> tdep.c.diff?cvsroot=src&r1=1.69&r2=1.70
> http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/arm-
> tdep.c.diff?cvsroot=src&r1=1.284&r2=1.285
> http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/arm-
> tdep.h.diff?cvsroot=src&r1=1.36&r2=1.37



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