dwarf: add DW_AT_data_location support

The attribute DW_AT_data_location is used for indirection to actual data.

2013-11-20  Sanimir Agovic  <sanimir.agovic@intel.com>
            Keven Boell  <keven.boell@intel.com>

	* dwarf2read.c (set_die_type): Parse and save DW_AT_data_location
	attribute.
	* gdbtypes.c (is_dynamic_type): Consider a type being dynamic if
	the data location has not yet been resolved.
	(resolve_dynamic_bounds): Evaluate data location baton
	if present and save its value.
	* gdbtypes.h (struct main_type): Add data_location.
	(TYPE_DATA_LOCATION): New macro.
	(TYPE_DATA_LOCATION_ADDR): New macro.
	(TYPE_DATA_LOCATION_IS_ADDRESS): New macro.
	* value.c: Include dwarf2loc.h.
	(value_fetch_lazy): Use data location addres to read value from
	memory.
	(coerce_ref): Construct new value from data location.

Change-Id: I9f303a6891d1dc50ce4ea64072a99cf0ddc10b62
vla: move from copy_type_recursive to copy_type

2013-11-20  Sanimir Agovic  <sanimir.agovic@intel.com>
            Keven Boell  <keven.boell@intel.com>

	* gdbtypes.c (resolve_dynamic_bounds): Function returns struct type
	instead of void.

Change-Id: I8614559aff5ad9c9db8c872677a348c1b42e1a57