* dwarf2-frame.c, dwarf2-frame.h: New files.

* Makefile.in (SFILES): Add dwarf2-frame.c.
(dwarf2_frame_h): Define.
(COMMON_OBS): Add dwarf2-frame.o.
(dwarf2-frame.o): Add dependencies.
This commit is contained in:
Mark Kettenis 2003-05-31 19:18:05 +00:00
parent 6a2751d273
commit cfc14b3aa6
4 changed files with 1318 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2003-05-31 Mark Kettenis <kettenis@gnu.org>
* dwarf2-frame.c, dwarf2-frame.h: New files.
* Makefile.in (SFILES): Add dwarf2-frame.c.
(dwarf2_frame_h): Define.
(COMMON_OBS): Add dwarf2-frame.o.
(dwarf2-frame.o): Add dependencies.
2003-05-31 Andreas Jaeger <aj@suse.de>
* x86-64-linux-nat.c: Fix comment.

View file

@ -513,8 +513,8 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c ada-tasks.c \
charset.c cli-out.c coffread.c coff-pe-read.c \
complaints.c completer.c corefile.c \
cp-abi.c cp-support.c cp-namespace.c cp-valprint.c \
dbxread.c demangle.c disasm.c doublest.c \
dummy-frame.c dwarfread.c dwarf2expr.c dwarf2loc.c dwarf2read.c \
dbxread.c demangle.c disasm.c doublest.c dummy-frame.c \
dwarfread.c dwarf2expr.c dwarf2loc.c dwarf2read.c dwarf2-frame.c \
elfread.c environ.c eval.c event-loop.c event-top.c expprint.c \
f-exp.y f-lang.c f-typeprint.c f-valprint.c findvar.c frame.c \
frame-base.c \
@ -638,6 +638,7 @@ dummy_frame_h = dummy-frame.h
dwarf2cfi_h = dwarf2cfi.h
dwarf2expr_h = dwarf2expr.h
dwarf2loc_h = dwarf2loc.h
dwarf2_frame_h = dwarf2-frame.h
environ_h = environ.h
event_loop_h = event-loop.h
event_top_h = event-top.h
@ -853,7 +854,7 @@ COMMON_OBS = version.o blockframe.o breakpoint.o findvar.o regcache.o \
exec.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o \
dbxread.o coffread.o coff-pe-read.o elfread.o \
dwarfread.o dwarf2read.o mipsread.o stabsread.o corefile.o \
dwarf2expr.o dwarf2loc.o \
dwarf2expr.o dwarf2loc.o dwarf2-frame.o \
c-lang.o f-lang.o objc-lang.o \
ui-out.o cli-out.o \
varobj.o wrapper.o \
@ -1674,6 +1675,10 @@ dwarf2expr.o: dwarf2expr.c $(defs_h) $(symtab_h) $(gdbtypes_h) $(value_h) \
dwarf2loc.o: dwarf2loc.c $(defs_h) $(ui_out_h) $(value_h) $(frame_h) \
$(gdbcore_h) $(target_h) $(inferior_h) $(dwarf2expr_h) \
$(dwarf2loc_h) $(ax_h) $(ax_gdb_h) $(regcache_h) $(gdb_string_h)
dwarf2-frame.o: $(defs_h) $(dwarf2expr_h) $(elf_dwarf2_h) $(frame_h) \
$(frame_base_h) $(frame_unwind_h) $(gdbcore_h) $(gdbtypes_h) \
$(symtab_h) $(objfiles_h) $(regcache_h) $(gdb_assert_h) \
$(gdb_string_h) $(dwarf2_frame_h)
dwarf2read.o: dwarf2read.c $(defs_h) $(bfd_h) $(symtab_h) $(gdbtypes_h) \
$(symfile_h) $(objfiles_h) $(elf_dwarf2_h) $(buildsym_h) \
$(demangle_h) $(expression_h) $(filenames_h) $(macrotab_h) \

1259
gdb/dwarf2-frame.c Normal file

File diff suppressed because it is too large Load diff

43
gdb/dwarf2-frame.h Normal file
View file

@ -0,0 +1,43 @@
/* Frame unwinder for frames with DWARF Call Frame Information.
Copyright 2003 Free Software Foundation, Inc.
Contributed by Mark Kettenis.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#ifndef DWARF2_FRAME_H
#define DWARF2_FRAME_H 1
struct objfile;
/* Return the frame unwind methods for the function that contains PC,
or NULL if it can't be handled by DWARF CFI frame unwinder. */
const struct frame_unwind *dwarf2_frame_p (CORE_ADDR pc);
/* Return the frame base methods for the function that contains PC, or
NULL if it can't be handled by the DWARF CFI frame unwinder. */
const struct frame_base *dwarf2_frame_base_p (CORE_ADDR pc);
/* Register the DWARF CFI for OBJFILE. */
void dwarf2_frame_build_info (struct objfile *objfile);
#endif /* dwarf2-frame.h */