From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23905 invoked by alias); 18 Jul 2003 21:30:53 -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 23896 invoked from network); 18 Jul 2003 21:30:51 -0000 Received: from unknown (HELO localhost.redhat.com) (66.30.197.194) by sources.redhat.com with SMTP; 18 Jul 2003 21:30:51 -0000 Received: from redhat.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 895252B7F for ; Fri, 18 Jul 2003 17:30:50 -0400 (EDT) Message-ID: <3F18670A.1000304@redhat.com> Date: Fri, 18 Jul 2003 21:30:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:1.0.2) Gecko/20030223 X-Accept-Language: en-us, en MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: [commit] Delete DWARF2_BUILD_FRAME_INFO Content-Type: multipart/mixed; boundary="------------090407020702070809080308" X-SW-Source: 2003-07/txt/msg00348.txt.bz2 This is a multi-part message in MIME format. --------------090407020702070809080308 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 260 Hello, This patch deletes the architecture method DWARF2_BUILD_FRAME_INFO, instead objfile calls dwarf2_build_frame_info directly. While this is still bad, it isn't as bad as the having the call also go through the architecture vector. committed, Andrew --------------090407020702070809080308 Content-Type: text/plain; name="diffs" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="diffs" Content-length: 9764 ? diffs ? new-gdbarch.log ? new-gdbarch.h ? new-gdbarch.c Index: ChangeLog =================================================================== RCS file: /cvs/src/src/gdb/ChangeLog,v retrieving revision 1.4533 diff -u -r1.4533 ChangeLog --- ChangeLog 18 Jul 2003 20:16:22 -0000 1.4533 +++ ChangeLog 18 Jul 2003 21:24:02 -0000 @@ -1,5 +1,17 @@ 2003-07-18 Andrew Cagney + * i386-tdep.c (i386_gdbarch_init): + + * elfread.c (elf_symfile_read): Call dwarf2_build_frame_info + unconditionally. + + * alpha-tdep.c (alpha_dwarf2_init_abi): Do not set. + + * gdbarch.sh (DWARF2_BUILD_FRAME_INFO): Delete method. + * gdbarch.h, gdbarch.c: Re-generate. + +2003-07-18 Andrew Cagney + From 2003-07-04 Kei Sakamoto : * disasm.c (gdb_disassemble_info): Initilize di.arch. Index: alpha-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/alpha-tdep.c,v retrieving revision 1.118 diff -u -r1.118 alpha-tdep.c --- alpha-tdep.c 16 Jul 2003 22:29:13 -0000 1.118 +++ alpha-tdep.c 18 Jul 2003 21:24:02 -0000 @@ -1585,7 +1585,6 @@ { frame_unwind_append_sniffer (gdbarch, dwarf2_frame_sniffer); frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer); - set_gdbarch_dwarf2_build_frame_info (gdbarch, dwarf2_build_frame_info); } extern initialize_file_ftype _initialize_alpha_tdep; /* -Wmissing-prototypes */ Index: elfread.c =================================================================== RCS file: /cvs/src/src/gdb/elfread.c,v retrieving revision 1.33 diff -u -r1.33 elfread.c --- elfread.c 7 Jun 2003 15:51:05 -0000 1.33 +++ elfread.c 18 Jul 2003 21:24:03 -0000 @@ -610,8 +610,9 @@ ei.lnoffset, ei.lnsize); } - if (DWARF2_BUILD_FRAME_INFO_P ()) - DWARF2_BUILD_FRAME_INFO(objfile); + /* FIXME: kettenis/20030504: This still needs to be integrated with + dwarf2read.c in a better way. */ + dwarf2_build_frame_info (objfile); } /* This cleans up the objfile's sym_stab_info pointer, and the chain of Index: gdbarch.c =================================================================== RCS file: /cvs/src/src/gdb/gdbarch.c,v retrieving revision 1.235 diff -u -r1.235 gdbarch.c --- gdbarch.c 11 Jul 2003 01:35:54 -0000 1.235 +++ gdbarch.c 18 Jul 2003 21:24:04 -0000 @@ -270,7 +270,6 @@ gdbarch_sigtramp_end_ftype *sigtramp_end; gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p; gdbarch_construct_inferior_arguments_ftype *construct_inferior_arguments; - gdbarch_dwarf2_build_frame_info_ftype *dwarf2_build_frame_info; gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special; gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special; const char * name_of_malloc; @@ -437,7 +436,6 @@ 0, /* sigtramp_end */ generic_in_function_epilogue_p, /* in_function_epilogue_p */ construct_inferior_arguments, /* construct_inferior_arguments */ - 0, /* dwarf2_build_frame_info */ 0, /* elf_make_msymbol_special */ 0, /* coff_make_msymbol_special */ "malloc", /* name_of_malloc */ @@ -747,7 +745,6 @@ /* Skip verify of sigtramp_end, has predicate */ /* Skip verify of in_function_epilogue_p, invalid_p == 0 */ /* Skip verify of construct_inferior_arguments, invalid_p == 0 */ - /* Skip verify of dwarf2_build_frame_info, has predicate */ /* Skip verify of elf_make_msymbol_special, invalid_p == 0 */ /* Skip verify of coff_make_msymbol_special, invalid_p == 0 */ /* Skip verify of name_of_malloc, invalid_p == 0 */ @@ -1687,29 +1684,6 @@ "gdbarch_dump: DEPRECATED_USE_GENERIC_DUMMY_FRAMES = %d\n", DEPRECATED_USE_GENERIC_DUMMY_FRAMES); #endif -#ifdef DWARF2_BUILD_FRAME_INFO_P - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "DWARF2_BUILD_FRAME_INFO_P()", - XSTRING (DWARF2_BUILD_FRAME_INFO_P ())); - fprintf_unfiltered (file, - "gdbarch_dump: DWARF2_BUILD_FRAME_INFO_P() = %d\n", - DWARF2_BUILD_FRAME_INFO_P ()); -#endif -#ifdef DWARF2_BUILD_FRAME_INFO -#if GDB_MULTI_ARCH - /* Macro might contain `[{}]' when not multi-arch */ - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "DWARF2_BUILD_FRAME_INFO(objfile)", - XSTRING (DWARF2_BUILD_FRAME_INFO (objfile))); -#endif - if (GDB_MULTI_ARCH) - fprintf_unfiltered (file, - "gdbarch_dump: DWARF2_BUILD_FRAME_INFO = <0x%08lx>\n", - (long) current_gdbarch->dwarf2_build_frame_info - /*DWARF2_BUILD_FRAME_INFO ()*/); -#endif #ifdef DWARF2_REG_TO_REGNUM fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -5417,30 +5391,6 @@ gdbarch_construct_inferior_arguments_ftype construct_inferior_arguments) { gdbarch->construct_inferior_arguments = construct_inferior_arguments; -} - -int -gdbarch_dwarf2_build_frame_info_p (struct gdbarch *gdbarch) -{ - gdb_assert (gdbarch != NULL); - return gdbarch->dwarf2_build_frame_info != NULL; -} - -void -gdbarch_dwarf2_build_frame_info (struct gdbarch *gdbarch, struct objfile *objfile) -{ - gdb_assert (gdbarch != NULL); - gdb_assert (gdbarch->dwarf2_build_frame_info != NULL); - if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf2_build_frame_info called\n"); - gdbarch->dwarf2_build_frame_info (objfile); -} - -void -set_gdbarch_dwarf2_build_frame_info (struct gdbarch *gdbarch, - gdbarch_dwarf2_build_frame_info_ftype dwarf2_build_frame_info) -{ - gdbarch->dwarf2_build_frame_info = dwarf2_build_frame_info; } void Index: gdbarch.h =================================================================== RCS file: /cvs/src/src/gdb/gdbarch.h,v retrieving revision 1.202 diff -u -r1.202 gdbarch.h --- gdbarch.h 3 Jul 2003 22:14:41 -0000 1.202 +++ gdbarch.h 18 Jul 2003 21:24:04 -0000 @@ -2939,41 +2939,6 @@ extern char * gdbarch_construct_inferior_arguments (struct gdbarch *gdbarch, int argc, char **argv); extern void set_gdbarch_construct_inferior_arguments (struct gdbarch *gdbarch, gdbarch_construct_inferior_arguments_ftype *construct_inferior_arguments); -#if defined (DWARF2_BUILD_FRAME_INFO) -/* Legacy for systems yet to multi-arch DWARF2_BUILD_FRAME_INFO */ -#if !defined (DWARF2_BUILD_FRAME_INFO_P) -#define DWARF2_BUILD_FRAME_INFO_P() (1) -#endif -#endif - -/* Default predicate for non- multi-arch targets. */ -#if (!GDB_MULTI_ARCH) && !defined (DWARF2_BUILD_FRAME_INFO_P) -#define DWARF2_BUILD_FRAME_INFO_P() (0) -#endif - -extern int gdbarch_dwarf2_build_frame_info_p (struct gdbarch *gdbarch); -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DWARF2_BUILD_FRAME_INFO_P) -#error "Non multi-arch definition of DWARF2_BUILD_FRAME_INFO" -#endif -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) || !defined (DWARF2_BUILD_FRAME_INFO_P) -#define DWARF2_BUILD_FRAME_INFO_P() (gdbarch_dwarf2_build_frame_info_p (current_gdbarch)) -#endif - -/* Default (function) for non- multi-arch platforms. */ -#if (!GDB_MULTI_ARCH) && !defined (DWARF2_BUILD_FRAME_INFO) -#define DWARF2_BUILD_FRAME_INFO(objfile) (internal_error (__FILE__, __LINE__, "DWARF2_BUILD_FRAME_INFO"), 0) -#endif - -typedef void (gdbarch_dwarf2_build_frame_info_ftype) (struct objfile *objfile); -extern void gdbarch_dwarf2_build_frame_info (struct gdbarch *gdbarch, struct objfile *objfile); -extern void set_gdbarch_dwarf2_build_frame_info (struct gdbarch *gdbarch, gdbarch_dwarf2_build_frame_info_ftype *dwarf2_build_frame_info); -#if (GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL) && defined (DWARF2_BUILD_FRAME_INFO) -#error "Non multi-arch definition of DWARF2_BUILD_FRAME_INFO" -#endif -#if !defined (DWARF2_BUILD_FRAME_INFO) -#define DWARF2_BUILD_FRAME_INFO(objfile) (gdbarch_dwarf2_build_frame_info (current_gdbarch, objfile)) -#endif - /* Default (function) for non- multi-arch platforms. */ #if (!GDB_MULTI_ARCH) && !defined (ELF_MAKE_MSYMBOL_SPECIAL) #define ELF_MAKE_MSYMBOL_SPECIAL(sym, msym) (default_elf_make_msymbol_special (sym, msym)) Index: gdbarch.sh =================================================================== RCS file: /cvs/src/src/gdb/gdbarch.sh,v retrieving revision 1.258 diff -u -r1.258 gdbarch.sh --- gdbarch.sh 11 Jul 2003 03:01:38 -0000 1.258 +++ gdbarch.sh 18 Jul 2003 21:24:05 -0000 @@ -725,7 +725,6 @@ # ARGC is the number of elements in the vector. # ARGV is an array of strings, one per argument. m::CONSTRUCT_INFERIOR_ARGUMENTS:char *:construct_inferior_arguments:int argc, char **argv:argc, argv:::construct_inferior_arguments::0 -F:2:DWARF2_BUILD_FRAME_INFO:void:dwarf2_build_frame_info:struct objfile *objfile:objfile f:2:ELF_MAKE_MSYMBOL_SPECIAL:void:elf_make_msymbol_special:asymbol *sym, struct minimal_symbol *msym:sym, msym:::default_elf_make_msymbol_special::0 f:2:COFF_MAKE_MSYMBOL_SPECIAL:void:coff_make_msymbol_special:int val, struct minimal_symbol *msym:val, msym:::default_coff_make_msymbol_special::0 v:2:NAME_OF_MALLOC:const char *:name_of_malloc::::"malloc":"malloc"::0:%s:NAME_OF_MALLOC Index: i386-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/i386-tdep.c,v retrieving revision 1.161 diff -u -r1.161 i386-tdep.c --- i386-tdep.c 16 Jul 2003 22:29:13 -0000 1.161 +++ i386-tdep.c 18 Jul 2003 21:24:05 -0000 @@ -1813,7 +1813,6 @@ /* Hook in the DWARF CFI frame unwinder. */ frame_unwind_append_sniffer (gdbarch, dwarf2_frame_sniffer); - set_gdbarch_dwarf2_build_frame_info (gdbarch, dwarf2_build_frame_info); frame_base_set_default (gdbarch, &i386_frame_base); --------------090407020702070809080308--