+2010-05-26  Tom Tromey  <tromey@redhat.com>
+
+       * dwarf2loc.h (struct dwarf2_locexpr_baton) <data>: Now const.
+       (struct dwarf2_loclist_baton) <data>: Likewise.
+       * dwarf2loc.c (find_location_expression): Constify return type.
+       (dwarf2_evaluate_loc_desc): Make 'data' argument const.
+       (dwarf2_loc_desc_needs_frame): Likewise.
+       (loclist_read_variable): Constify.
+       (loclist_describe_location): Likewise.
+       (loclist_tracepoint_var_ref): Likewise.
+
 2010-05-25  Tom Tromey  <tromey@redhat.com>
 
        * dwarf2loc.c (dwarf_expr_frame_base): Constify.
 
    For now, only return the first matching location expression; there
    can be more than one in the list.  */
 
-static gdb_byte *
+static const gdb_byte *
 find_location_expression (struct dwarf2_loclist_baton *baton,
                          size_t *locexpr_length, CORE_ADDR pc)
 {
   CORE_ADDR low, high;
-  gdb_byte *loc_ptr, *buf_end;
+  const gdb_byte *loc_ptr, *buf_end;
   int length;
   struct objfile *objfile = dwarf2_per_cu_objfile (baton->per_cu);
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
 
 static struct value *
 dwarf2_evaluate_loc_desc (struct type *type, struct frame_info *frame,
-                         gdb_byte *data, unsigned short size,
+                         const gdb_byte *data, unsigned short size,
                          struct dwarf2_per_cu_data *per_cu)
 {
   struct value *retval;
    requires a frame to evaluate.  */
 
 static int
-dwarf2_loc_desc_needs_frame (gdb_byte *data, unsigned short size,
+dwarf2_loc_desc_needs_frame (const gdb_byte *data, unsigned short size,
                             struct dwarf2_per_cu_data *per_cu)
 {
   struct needs_frame_baton baton;
 {
   struct dwarf2_loclist_baton *dlbaton = SYMBOL_LOCATION_BATON (symbol);
   struct value *val;
-  gdb_byte *data;
+  const gdb_byte *data;
   size_t size;
 
   data = find_location_expression (dlbaton, &size,
 {
   struct dwarf2_loclist_baton *dlbaton = SYMBOL_LOCATION_BATON (symbol);
   CORE_ADDR low, high;
-  gdb_byte *loc_ptr, *buf_end;
+  const gdb_byte *loc_ptr, *buf_end;
   int length, first = 1;
   struct objfile *objfile = dwarf2_per_cu_objfile (dlbaton->per_cu);
   struct gdbarch *gdbarch = get_objfile_arch (objfile);
                            struct agent_expr *ax, struct axs_value *value)
 {
   struct dwarf2_loclist_baton *dlbaton = SYMBOL_LOCATION_BATON (symbol);
-  gdb_byte *data;
+  const gdb_byte *data;
   size_t size;
 
   data = find_location_expression (dlbaton, &size, ax->scope);