aboutsummaryrefslogtreecommitdiff
path: root/gdb/compile/compile-loc2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/compile/compile-loc2c.c')
-rw-r--r--gdb/compile/compile-loc2c.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/gdb/compile/compile-loc2c.c b/gdb/compile/compile-loc2c.c
index 06a044d..2fd1810 100644
--- a/gdb/compile/compile-loc2c.c
+++ b/gdb/compile/compile-loc2c.c
@@ -583,7 +583,8 @@ do_compile_dwarf_expr_to_c (int indent, string_file *stream,
unsigned int addr_size,
const gdb_byte *op_ptr, const gdb_byte *op_end,
CORE_ADDR *initial,
- struct dwarf2_per_cu_data *per_cu)
+ dwarf2_per_cu_data *per_cu,
+ dwarf2_per_objfile *per_objfile)
{
/* We keep a counter so that labels and other objects we create have
unique names. */
@@ -719,7 +720,7 @@ do_compile_dwarf_expr_to_c (int indent, string_file *stream,
index, not an address. We don't support things like
branching between the address and the TLS op. */
if (op_ptr >= op_end || *op_ptr != DW_OP_GNU_push_tls_address)
- uoffset += per_cu->text_offset ();
+ uoffset += per_objfile->objfile->text_section_offset ();
push (indent, stream, uoffset);
break;
@@ -896,7 +897,7 @@ do_compile_dwarf_expr_to_c (int indent, string_file *stream,
sym, pc,
arch, registers_used, addr_size,
datastart, datastart + datalen,
- NULL, per_cu);
+ NULL, per_cu, per_objfile);
pushf (indent, stream, "%s + %s", fb_name, hex_string (offset));
}
@@ -1077,7 +1078,7 @@ do_compile_dwarf_expr_to_c (int indent, string_file *stream,
sym, pc, arch, registers_used,
addr_size,
cfa_start, cfa_end,
- &text_offset, per_cu);
+ &text_offset, per_cu, per_objfile);
pushf (indent, stream, "%s", cfa_name);
}
}
@@ -1123,11 +1124,12 @@ compile_dwarf_expr_to_c (string_file *stream, const char *result_name,
struct gdbarch *arch, unsigned char *registers_used,
unsigned int addr_size,
const gdb_byte *op_ptr, const gdb_byte *op_end,
- struct dwarf2_per_cu_data *per_cu)
+ dwarf2_per_cu_data *per_cu,
+ dwarf2_per_objfile *per_objfile)
{
do_compile_dwarf_expr_to_c (2, stream, GCC_UINTPTR, result_name, sym, pc,
arch, registers_used, addr_size, op_ptr, op_end,
- NULL, per_cu);
+ NULL, per_cu, per_objfile);
}
/* See compile.h. */
@@ -1140,9 +1142,11 @@ compile_dwarf_bounds_to_c (string_file *stream,
struct gdbarch *arch, unsigned char *registers_used,
unsigned int addr_size,
const gdb_byte *op_ptr, const gdb_byte *op_end,
- struct dwarf2_per_cu_data *per_cu)
+ dwarf2_per_cu_data *per_cu,
+ dwarf2_per_objfile *per_objfile)
{
do_compile_dwarf_expr_to_c (2, stream, "unsigned long ", result_name,
sym, pc, arch, registers_used,
- addr_size, op_ptr, op_end, NULL, per_cu);
+ addr_size, op_ptr, op_end, NULL, per_cu,
+ per_objfile);
}