From 5a89d8aaa29e103e5b991c5849382ec386d283e2 Mon Sep 17 00:00:00 2001 From: Michael Snyder Date: Wed, 21 Aug 2002 01:08:23 +0000 Subject: [PATCH] 2002-08-20 Michael Snyder * mips-tdep.c (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): These are only used locally, so move them from the target machine header to here. (mips_set_processor_type, mips_register_name, mips32_next_pc, mips16_next_pc, cached_proc_desc, mips_set_processor_type): Make static. * config/mips/tm-mips.h (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Delete. --- gdb/ChangeLog | 9 ++++++ gdb/config/mips/tm-mips.h | 26 ---------------- gdb/mips-tdep.c | 78 +++++++++++++++++++++++------------------------ 3 files changed, 47 insertions(+), 66 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index eb08df4..bf9e4c1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2002-08-20 Michael Snyder + + * mips-tdep.c (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): These are only + used locally, so move them from the target machine header to here. + (mips_set_processor_type, mips_register_name, mips32_next_pc, + mips16_next_pc, cached_proc_desc, mips_set_processor_type): + Make static. + * config/mips/tm-mips.h (MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): Delete. + 2002-08-20 Andrew Cagney * NEWS: Mention that the Apollo line was made obsolete. diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index 89784fe..9ce43c8 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -209,7 +209,6 @@ extern struct frame_info *setup_arbitrary_frame (int, CORE_ADDR *); #define TM_PRINT_INSN_MACH 0 - /* These are defined in mdebugread.c and are used in mips-tdep.c */ extern CORE_ADDR sigtramp_address, sigtramp_end; extern void fixup_sigtramp (void); @@ -239,33 +238,8 @@ typedef unsigned long t_inst; /* Integer big enough to hold an instruction */ #endif /* TM_MIPS_H */ -/* Macros for setting and testing a bit in a minimal symbol that - marks it as 16-bit function. The MSB of the minimal symbol's - "info" field is used for this purpose. This field is already - being used to store the symbol size, so the assumption is - that the symbol size cannot exceed 2^31. - - ELF_MAKE_MSYMBOL_SPECIAL - tests whether an ELF symbol is "special", i.e. refers - to a 16-bit function, and sets a "special" bit in a - minimal symbol to mark it as a 16-bit function - MSYMBOL_IS_SPECIAL tests the "special" bit in a minimal symbol - MSYMBOL_SIZE returns the size of the minimal symbol, i.e. - the "info" field with the "special" bit masked out - */ - -#define MSYMBOL_IS_SPECIAL(msym) \ - mips_msymbol_is_special (msym) -#define MSYMBOL_SIZE(msym) \ - mips_msymbol_size (msym) -struct minimal_symbol; -extern int mips_msymbol_is_special (struct minimal_symbol *msym); -extern long mips_msymbol_size (struct minimal_symbol *msym); - - /* Command to set the processor type. */ extern void mips_set_processor_type_command (char *, int); - /* Single step based on where the current instruction will take us. */ extern void mips_software_single_step (enum target_signal, int); diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 3a99744..2887473 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -173,6 +173,36 @@ mips_saved_regsize (void) return 4; } +/* Macros for setting and testing a bit in a minimal symbol that + marks it as 16-bit function. The MSB of the minimal symbol's + "info" field is used for this purpose. This field is already + being used to store the symbol size, so the assumption is + that the symbol size cannot exceed 2^31. + + ELF_MAKE_MSYMBOL_SPECIAL tests whether an ELF symbol is "special", + i.e. refers to a 16-bit function, and sets a "special" bit in a + minimal symbol to mark it as a 16-bit function + + MSYMBOL_IS_SPECIAL tests the "special" bit in a minimal symbol + MSYMBOL_SIZE returns the size of the minimal symbol, i.e. + the "info" field with the "special" bit masked out */ + +#define MSYMBOL_IS_SPECIAL(msym) \ + (((long) MSYMBOL_INFO (msym) & 0x80000000) != 0) +#define MSYMBOL_SIZE(msym) \ + ((long) MSYMBOL_INFO (msym) & 0x7fffffff) + +static void +mips_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym) +{ + if (((elf_symbol_type *)(sym))->internal_elf_sym.st_other == STO_MIPS16) + { + MSYMBOL_INFO (msym) = (char *) + (((long) MSYMBOL_INFO (msym)) | 0x80000000); + SYMBOL_VALUE_ADDRESS (msym) |= 1; + } +} + /* XFER a value from the big/little/left end of the register. Depending on the size of the value it might occupy the entire register or just part of it. Make an allowance for this, aligning @@ -297,7 +327,7 @@ static CORE_ADDR heuristic_proc_start (CORE_ADDR); static CORE_ADDR read_next_frame_reg (struct frame_info *, int); -int mips_set_processor_type (char *); +static int mips_set_processor_type (char *); static void mips_show_processor_type_command (char *, int); @@ -333,7 +363,7 @@ static struct cmd_list_element *showmipscmdlist = NULL; char *mips_generic_reg_names[] = MIPS_REGISTER_NAMES; char **mips_processor_reg_names = mips_generic_reg_names; -const char * +static const char * mips_register_name (int i) { return mips_processor_reg_names[i]; @@ -720,38 +750,6 @@ pc_is_mips16 (bfd_vma memaddr) return 0; } -/* ELF_MAKE_MSYMBOL_SPECIAL tests whether an ELF symbol is "special", - i.e. refers to a 16-bit function, and sets a "special" bit in a - minimal symbol to mark it as a 16-bit function. */ - -static void -mips_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym) -{ - if (((elf_symbol_type *)(sym))->internal_elf_sym.st_other == STO_MIPS16) - { - MSYMBOL_INFO (msym) = (char *) - (((long) MSYMBOL_INFO (msym)) | 0x80000000); - SYMBOL_VALUE_ADDRESS (msym) |= 1; - } -} - -/* MSYMBOL_IS_SPECIAL tests the "special" bit in a minimal symbol. */ - -int -mips_msymbol_is_special (struct minimal_symbol *msym) -{ - return (((long) MSYMBOL_INFO (msym) & 0x80000000) != 0); -} - -/* MSYMBOL_SIZE returns the size of the minimal symbol, i.e. the - "info" field with the "special" bit masked out. */ - -long -mips_msymbol_size (struct minimal_symbol *msym) -{ - return ((long) MSYMBOL_INFO (msym) & 0x7fffffff); -} - /* MIPS believes that the PC has a sign extended value. Perhaphs the all registers should be sign extended for simplicity? */ @@ -915,7 +913,7 @@ mips32_relative_offset (unsigned long inst) /* Determine whate to set a single step breakpoint while considering branch prediction */ -CORE_ADDR +static CORE_ADDR mips32_next_pc (CORE_ADDR pc) { unsigned long inst; @@ -1354,7 +1352,7 @@ extended_mips16_next_pc (CORE_ADDR pc, return pc; } -CORE_ADDR +static CORE_ADDR mips16_next_pc (CORE_ADDR pc) { unsigned int insn = fetch_mips_16 (pc); @@ -1676,7 +1674,7 @@ mips_init_frame_pc_first (int fromleaf, struct frame_info *prev) pc = ((fromleaf) ? SAVED_PC_AFTER_CALL (prev->next) : prev->next ? FRAME_SAVED_PC (prev->next) : read_pc ()); - tmp = mips_skip_stub (pc); + tmp = SKIP_TRAMPOLINE_CODE (pc); prev->pc = tmp ? tmp : pc; } @@ -2391,7 +2389,7 @@ get_frame_pointer (struct frame_info *frame, PROC_FRAME_ADJUST (proc_desc)); } -mips_extra_func_info_t cached_proc_desc; +static mips_extra_func_info_t cached_proc_desc; static CORE_ADDR mips_frame_chain (struct frame_info *frame) @@ -2405,7 +2403,7 @@ mips_frame_chain (struct frame_info *frame) /* Check if the PC is inside a call stub. If it is, fetch the PC of the caller of that stub. */ - if ((tmp = mips_skip_stub (saved_pc)) != 0) + if ((tmp = SKIP_TRAMPOLINE_CODE (saved_pc)) != 0) saved_pc = tmp; /* Look up the procedure descriptor for this PC. */ @@ -5035,7 +5033,7 @@ mips_show_processor_type_command (char *args, int from_tty) /* Modify the actual processor type. */ -int +static int mips_set_processor_type (char *str) { int i; -- 2.7.4