From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 580 invoked by alias); 14 Apr 2004 06:24:27 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 520 invoked from network); 14 Apr 2004 06:24:25 -0000 Received: from unknown (HELO pippin.tausq.org) (64.81.244.94) by sources.redhat.com with SMTP; 14 Apr 2004 06:24:25 -0000 Received: by pippin.tausq.org (Postfix, from userid 1000) id 17E6ECD29F; Tue, 13 Apr 2004 23:24:38 -0700 (PDT) Date: Wed, 14 Apr 2004 06:24:00 -0000 From: Randolph Chung To: gdb-patches@sources.redhat.com Subject: [patch/resend/rfa] (1/4) Cleanup static function usage in hppa-tdep.c Message-ID: <20040414062438.GJ31873@tausq.org> Reply-To: Randolph Chung Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-GPG: for GPG key, see http://www.tausq.org/gpg.txt User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2004-04/txt/msg00275.txt.bz2 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 * 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/