From: Ian Lance Taylor Date: Sun, 12 Sep 1999 03:07:49 +0000 (+0000) Subject: 1999-09-11 Donn Terry X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7a6284c477f914e1c4a9264feadc08733c745ee3;p=binutils-gdb.git 1999-09-11 Donn Terry * config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version. (obj_pseudo_table): Always handle ".ident" with obj-coff_ident. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index a93c1dfb415..075e8c4b764 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -5,6 +5,9 @@ 1999-09-11 Donn Terry + * config/obj-coff.c (obj_coff_ident): Add BFD_ASSEMBLER version. + (obj_pseudo_table): Always handle ".ident" with obj-coff_ident. + * config/obj-coff.c (coff_frob_symbol): Prohibit weak common symbols. diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 86e07667479..aa1ff290ff1 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -42,6 +42,7 @@ static void obj_coff_scl PARAMS ((int)); static void obj_coff_tag PARAMS ((int)); static void obj_coff_val PARAMS ((int)); static void obj_coff_type PARAMS ((int)); +static void obj_coff_ident PARAMS ((int)); #ifdef BFD_ASSEMBLER static void obj_coff_loc PARAMS((int)); #endif @@ -552,6 +553,35 @@ obj_coff_loc (ignore) add_lineno (frag_now, frag_now_fix (), lineno); } +/* Handle the .ident pseudo-op. */ + +static void +obj_coff_ident (ignore) + int ignore ATTRIBUTE_UNUSED; +{ + segT current_seg = now_seg; + subsegT current_subseg = now_subseg; + +#ifdef TE_PE + { + segT sec; + + /* We could put it in .comment, but that creates an extra section + that shouldn't be loaded into memory, which requires linker + changes... For now, until proven otherwise, use .rdata. */ + sec = subseg_new (".rdata$zzz", 0); + bfd_set_section_flags (stdoutput, sec, + ((SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_DATA) + & bfd_applicable_section_flags (stdoutput))); + } +#else + subseg_new (".comment", 0); +#endif + + stringer (1); + subseg_set (current_seg, current_subseg); +} + /* * def() * @@ -1626,7 +1656,6 @@ static void adjust_stab_section PARAMS ((bfd *abfd, segT seg)); static void obj_coff_lcomm PARAMS ((int)); static void obj_coff_text PARAMS ((int)); static void obj_coff_data PARAMS ((int)); -static void obj_coff_ident PARAMS ((int)); void obj_coff_section PARAMS ((int)); /* When not using BFD_ASSEMBLER, we permit up to 40 sections. @@ -4521,15 +4550,14 @@ const pseudo_typeS obj_pseudo_table[] = earlier versions of gas. */ {"bss", obj_coff_bss, 0}, {"weak", obj_coff_weak, 0}, + {"ident", obj_coff_ident, 0}, #ifndef BFD_ASSEMBLER {"use", obj_coff_section, 0}, {"text", obj_coff_text, 0}, {"data", obj_coff_data, 0}, {"lcomm", obj_coff_lcomm, 0}, - {"ident", obj_coff_ident, 0}, #else {"optim", s_ignore, 0}, /* For sun386i cc (?) */ - {"ident", s_ignore, 0}, /* we don't yet handle this. */ #endif {"version", s_ignore, 0}, {"ABORT", s_abort, 0},