type alignment: Use type_length_units

The type alignment value is returned in 8-bit-bytes instead of target
memory addressable units.  For example, on a target with 16-bit-bytes
where sizeof(int) == 1 (one addressable unit), alignof(int) currently
returns 2.  After, this patch, it returns 1.

gdb/ChangeLog:

	* arch-utils.c (default_type_align): Use type_length_units.
	* gdbtypes.c (type_align): Use type_length_units.
This commit is contained in:
Simon Marchi 2018-06-14 18:23:39 -04:00 committed by Simon Marchi
parent b9a3c020ea
commit 55c748a1c0
3 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2018-06-14 Simon Marchi <simon.marchi@ericsson.com>
* arch-utils.c (default_type_align): Use type_length_units.
* gdbtypes.c (type_align): Use type_length_units.
2018-06-14 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* cli/cli-script.c (_initialize_cli_script): Fix online documentation

View File

@ -994,7 +994,7 @@ default_in_indirect_branch_thunk (gdbarch *gdbarch, CORE_ADDR pc)
ULONGEST
default_type_align (struct gdbarch *gdbarch, struct type *type)
{
return TYPE_LENGTH (check_typedef (type));
return type_length_units (check_typedef (type));
}
void

View File

@ -3072,7 +3072,7 @@ type_align (struct type *type)
case TYPE_CODE_METHODPTR:
case TYPE_CODE_MEMBERPTR:
align = TYPE_LENGTH (type);
align = type_length_units (type);
break;
case TYPE_CODE_VOID: