| Index: gas/config/tc-i386.c
|
| diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
|
| index ca703ab6e66e21a3ea2c4cea3fef8e0c3bcabec5..85243fc859e11f0030fe3d9d0f924df400b21324 100644
|
| --- a/gas/config/tc-i386.c
|
| +++ b/gas/config/tc-i386.c
|
| @@ -957,6 +957,21 @@ pe_lcomm (int needs_align)
|
| }
|
| #endif
|
|
|
| +static int dwarf2_addr_size;
|
| +
|
| +static void
|
| +s_x86_dwarf_addr_size (int arg ATTRIBUTE_UNUSED)
|
| +{
|
| + unsigned int size = get_absolute_expression ();
|
| + SKIP_WHITESPACE ();
|
| + demand_empty_rest_of_line ();
|
| +
|
| + if (size != 4 && size != 8)
|
| + as_bad (_(".dwarf_addr_size argument must be 4 or 8"));
|
| + else
|
| + dwarf2_addr_size = size;
|
| +}
|
| +
|
| const pseudo_typeS md_pseudo_table[] =
|
| {
|
| #if !defined(OBJ_AOUT) && !defined(USE_ALIGN_PTWO)
|
| @@ -981,6 +996,7 @@ const pseudo_typeS md_pseudo_table[] =
|
| {"code16", set_code_flag, CODE_16BIT},
|
| {"code32", set_code_flag, CODE_32BIT},
|
| {"code64", set_code_flag, CODE_64BIT},
|
| + {"dwarf_addr_size", s_x86_dwarf_addr_size, 0},
|
| {"intel_syntax", set_intel_syntax, 1},
|
| {"att_syntax", set_intel_syntax, 0},
|
| {"intel_mnemonic", set_intel_mnemonic, 1},
|
| @@ -10929,6 +10945,8 @@ tc_x86_frame_initial_instructions (void)
|
| int
|
| x86_dwarf2_addr_size (void)
|
| {
|
| + if (dwarf2_addr_size != 0)
|
| + return dwarf2_addr_size;
|
| #if defined (OBJ_MAYBE_ELF) || defined (OBJ_ELF)
|
| if (x86_elf_abi == X86_64_X32_ABI)
|
| return 4;
|
|
|