This is the mail archive of the gdb-patches@sources.redhat.com 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]

[patch/resend/rfa] (1/4) Cleanup static function usage in hppa-tdep.c


Resending some patches from last week. I've cleaned them up based on the
feedback and reorganized for easier review (I hope). ok to checkin?

This (and the other 3 patches) were tested against hppa2.0-hp-hpux11.11
and hppa-linux (gcc-3.3 on both targets).

Sumamry:
1/4: simple cleanups of hppa-tdep.c; add use_struct_convention to
     gdbarch.
2/4: Move important bits out of tm-hppa.h into hppa-tdep.h; remove
     unneeded contents.
3/4: DEPRECATED_CLEAN_UP_REGISTER_VALUE is no longer needed, remove.
4/4: Make the frame unwinder work for all hppa elf targets, not just
     64-bit ones.

thanks
randolph

2004-04-13  Randolph Chung  <tausq@debian.org>

	* hppa-tdep.c (hppa_reg_struct_has_addr, hppa_skip_prologue,
	hppa_skip_trampoline_code, hppa_in_solib_call_trampoline,
	hppa_in_solib_return_trampoline, hppa_cannot_store_register,
	hppa_smash_text_address, hppa_target_read_pc, hppa_target_write_pc):
	Remove forward declaration and make static.
	(hppa_reg_struct_has_addr): Rename to hppa_use_struct_convention.
	(hppa_gdbarch_init): Set use_struct_convention.

Index: hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.143
diff -u -p -r1.143 hppa-tdep.c
--- hppa-tdep.c	11 Apr 2004 04:20:51 -0000	1.143
+++ hppa-tdep.c	14 Apr 2004 05:01:21 -0000
@@ -121,17 +123,8 @@ static void internalize_unwinds (struct 
 static void record_text_segment_lowaddr (bfd *, asection *, void *);
 /* FIXME: brobecker 2002-11-07: We will likely be able to make the
    following functions static, once we hppa is partially multiarched.  */
-int hppa_reg_struct_has_addr (int gcc_p, struct type *type);
-CORE_ADDR hppa_skip_prologue (CORE_ADDR pc);
-CORE_ADDR hppa_skip_trampoline_code (CORE_ADDR pc);
-int hppa_in_solib_call_trampoline (CORE_ADDR pc, char *name);
-int hppa_in_solib_return_trampoline (CORE_ADDR pc, char *name);
 int hppa_pc_requires_run_before_use (CORE_ADDR pc);
 int hppa_instruction_nullified (void);
-int hppa_cannot_store_register (int regnum);
-CORE_ADDR hppa_smash_text_address (CORE_ADDR addr);
-CORE_ADDR hppa_target_read_pc (ptid_t ptid);
-void hppa_target_write_pc (CORE_ADDR v, ptid_t ptid);
 
 /* Handle 32/64-bit struct return conventions.  */
 
@@ -1024,7 +1001,7 @@ hppa64_frame_align (struct gdbarch *gdba
 /* Get the PC from %r31 if currently in a syscall.  Also mask out privilege
    bits.  */
 
-CORE_ADDR
+static CORE_ADDR
 hppa_target_read_pc (ptid_t ptid)
 {
   int flags = read_register_pid (FLAGS_REGNUM, ptid);
@@ -1041,7 +1018,7 @@ hppa_target_read_pc (ptid_t ptid)
 /* Write out the PC.  If currently in a syscall, then also write the new
    PC value into %r31.  */
 
-void
+static void
 hppa_target_write_pc (CORE_ADDR v, ptid_t ptid)
 {
   int flags = read_register_pid (FLAGS_REGNUM, ptid);
@@ -1098,7 +1075,7 @@ hppa_alignof (struct type *type)
    Note we return one for *any* call trampoline (long-call, arg-reloc), not
    just shared library trampolines (import, export).  */
 
-int
+static int
 hppa_in_solib_call_trampoline (CORE_ADDR pc, char *name)
 {
   struct minimal_symbol *minsym;
@@ -1259,7 +1236,7 @@ hppa_in_solib_call_trampoline (CORE_ADDR
    Note we return one for *any* call trampoline (long-call, arg-reloc), not
    just shared library trampolines (import, export).  */
 
-int
+static int
 hppa_in_solib_return_trampoline (CORE_ADDR pc, char *name)
 {
   struct unwind_table_entry *u;
@@ -1332,7 +1309,7 @@ hppa_in_solib_return_trampoline (CORE_AD
    calling an argument relocation stub.  It even handles some stubs
    used in dynamic executables.  */
 
-CORE_ADDR
+static CORE_ADDR
 hppa_skip_trampoline_code (CORE_ADDR pc)
 {
   long orig_pc = pc;
@@ -2014,7 +1991,7 @@ after_prologue (CORE_ADDR pc)
    Currently we must not skip more on the alpha, but we might the lenient
    stuff some day.  */
 
-CORE_ADDR
+static CORE_ADDR
 hppa_skip_prologue (CORE_ADDR pc)
 {
   unsigned long inst;
@@ -2458,8 +2429,8 @@ hppa_skip_permanent_breakpoint (void)
   /* We can leave the tail's space the same, since there's no jump.  */
 }
 
-int
-hppa_reg_struct_has_addr (int gcc_p, struct type *type)
+static int
+hppa_use_struct_convention (int gcc_p, struct type *type)
 {
   /* On the PA, any pass-by-value structure > 8 bytes is actually passed
      via a pointer regardless of its type or the compiler used.  */
@@ -2533,7 +2504,7 @@ hppa64_register_type (struct gdbarch *gd
 /* Return True if REGNUM is not a register available to the user
    through ptrace().  */
 
-int
+static int
 hppa_cannot_store_register (int regnum)
 {
   return (regnum == 0
@@ -2543,7 +2514,7 @@ hppa_cannot_store_register (int regnum)
 
 }
 
-CORE_ADDR
+static CORE_ADDR
 hppa_smash_text_address (CORE_ADDR addr)
 {
   /* The low two bits of the PC on the PA contain the privilege level.
@@ -2678,6 +2658,8 @@ hppa_gdbarch_init (struct gdbarch_info i
   set_gdbarch_read_pc (gdbarch, hppa_target_read_pc);
   set_gdbarch_write_pc (gdbarch, hppa_target_write_pc);
 
+  set_gdbarch_use_struct_convention (gdbarch, hppa_use_struct_convention);
+
   /* Helper for function argument information.  */
   set_gdbarch_fetch_pointer_argument (gdbarch, hppa_fetch_pointer_argument);
 
-- 
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/


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