Hi, Section 5.4 of the DWARF standard allows to specify extra padding bytes for array type entries by using the DW_AT_byte_size attribute. This is used for example to specify the types for OpenCL 3-component vectors whose size and alignment are those of 4-component vectors. Currently the GDB does not understand this mechanism and the attached patch attempts to fix this. It extends the DWARF reader (dwarf2read.c:read_array_type) to respect the DW_AT_byte_size attribute and set the length of the array accordingly. This breaks the code that assumes that the number of elements of an array is simply the length of the array type divided by the length of the element type. Therefore the patch queries the number of array elements using the get_array_bounds function that has been enhanced to only return the bounds if they are defined (TYPE_ARRAY_[LOWER|UPPER]_BOUND_IS_UNDEFINED). In order to prevent the inclusion of the valprint.h header the get_array_bounds function has been moved from valprint.[c|h] to gdbtypes.[c|h]. Tested on i686-*-linux-gnu with no regressions. Regards Ken Werner