aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-i386.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-08-31 04:31:08 -0700
committerH.J. Lu <hjl.tools@gmail.com>2018-08-31 04:31:20 -0700
commitb4a3a7b44c98a9f78a27bd34d0d98741a0446e23 (patch)
treebf4dfc7e3ecaf69d1636fc4699203a5ce4e7989d /gas/config/tc-i386.h
parent0cb8eedc9173b873db7a8990fb780d9fdeb1f41e (diff)
downloadgdb-b4a3a7b44c98a9f78a27bd34d0d98741a0446e23.zip
gdb-b4a3a7b44c98a9f78a27bd34d0d98741a0446e23.tar.gz
gdb-b4a3a7b44c98a9f78a27bd34d0d98741a0446e23.tar.bz2
x86: Extend assembler to generate GNU property notes
Add -mx86-used-note=[yes|no] option to generate (or not) GNU property notes with GNU_PROPERTY_X86_FEATURE_2_USED and GNU_PROPERTY_X86_ISA_1_USED properties. If the assembly input contains no instructions, set the GNU_PROPERTY_X86_UINT32_VALID bit in GNU_PROPERTY_X86_FEATURE_2_USED property. Add a --enable-x86-used-note configure time option to set the default behavior. Set the default if the configure option is not used to "no". * NEWS: Mention -mx86-used-note=[no|yes]. * configure.ac: Add --enable-x86-used-note. Define DEFAULT_X86_USED_NOTE. * config.in: Regenerated. * configure: Likewise. * config/tc-i386.c (x86_isa_1_used): New. (x86_feature_2_used): Likewise. (x86_used_note): Likewise. (_i386_insn): Add has_regmmx, has_regxmm, has_regymm and has_regzmm. (build_modrm_byte): Set i.has_regmmx, i.has_regzmm. i.has_regymm and i.has_regxmm. (x86_cleanup): New function. (output_insn): Update x86_isa_1_used and x86_feature_2_used. (OPTION_X86_USED_NOTE): New. (md_longopts): Add -mx86-used-note=. (md_parse_option): Handle OPTION_X86_USED_NOTE. (md_show_usage): Display -mx86-used-note=. * config/tc-i386.h (x86_cleanup): New prototype. (md_cleanup): New. * doc/c-i386.texi: Document -mx86-used-note=.
Diffstat (limited to 'gas/config/tc-i386.h')
-rw-r--r--gas/config/tc-i386.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h
index 8330479..5426301 100644
--- a/gas/config/tc-i386.h
+++ b/gas/config/tc-i386.h
@@ -316,6 +316,11 @@ extern bfd_vma x86_64_section_letter (int, const char **);
#define md_elf_section_letter(LETTER, PTR_MSG) x86_64_section_letter (LETTER, PTR_MSG)
#define md_elf_section_word(STR, LEN) x86_64_section_word (STR, LEN)
+#if defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)
+extern void x86_cleanup (void);
+#define md_cleanup() x86_cleanup ()
+#endif
+
#ifdef TE_PE
#define O_secrel O_md1