X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fdwarf2loc.h;h=0bfcfcaaea181f437b3c506dc22f22b260d9329a;hb=b3ed98d264e2938d253d0b08b0bb51fbdc65c75b;hp=b6b4d3325e1a9cc53fd2033bb51c0f565b954e74;hpb=0d53c4c49facfc7400795d0d4fc7489b296d743d;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/dwarf2loc.h b/gdb/dwarf2loc.h index b6b4d3325e..0bfcfcaaea 100644 --- a/gdb/dwarf2loc.h +++ b/gdb/dwarf2loc.h @@ -1,11 +1,12 @@ -/* Dwarf2 location expression support for GDB. - Copyright 2003 Free Software Foundation, Inc. +/* DWARF 2 location expression support for GDB. + + Copyright (C) 2003, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. 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 + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -14,16 +15,24 @@ 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. */ + along with this program. If not, see . */ #if !defined (DWARF2LOC_H) #define DWARF2LOC_H +struct symbol_computed_ops; +struct objfile; +struct dwarf2_per_cu_data; + /* This header is private to the DWARF-2 reader. It is shared between dwarf2read.c and dwarf2loc.c. */ +/* Return the OBJFILE associated with the compilation unit CU. */ +struct objfile *dwarf2_per_cu_objfile (struct dwarf2_per_cu_data *cu); + +/* Return the address size given in the compilation unit header for CU. */ +CORE_ADDR dwarf2_per_cu_addr_size (struct dwarf2_per_cu_data *cu); + /* The symbol location baton types used by the DWARF-2 reader (i.e. SYMBOL_LOCATION_BATON for a LOC_COMPUTED symbol). "struct dwarf2_locexpr_baton" is for a symbol with a single location @@ -33,13 +42,14 @@ struct dwarf2_locexpr_baton { /* Pointer to the start of the location expression. */ - unsigned char *data; + gdb_byte *data; /* Length of the location expression. */ - unsigned short size; + unsigned long size; - /* The objfile containing the symbol whose location we're computing. */ - struct objfile *objfile; + /* The compilation unit containing the symbol whose location + we're computing. */ + struct dwarf2_per_cu_data *per_cu; }; struct dwarf2_loclist_baton @@ -49,16 +59,17 @@ struct dwarf2_loclist_baton CORE_ADDR base_address; /* Pointer to the start of the location list. */ - unsigned char *data; + gdb_byte *data; /* Length of the location list. */ - unsigned short size; + unsigned long size; - /* The objfile containing the symbol whose location we're computing. */ - struct objfile *objfile; + /* The compilation unit containing the symbol whose location + we're computing. */ + struct dwarf2_per_cu_data *per_cu; }; -extern struct location_funcs dwarf2_locexpr_funcs; -extern struct location_funcs dwarf2_loclist_funcs; +extern const struct symbol_computed_ops dwarf2_locexpr_funcs; +extern const struct symbol_computed_ops dwarf2_loclist_funcs; -#endif +#endif /* dwarf2loc.h */