[4/5,ARC] Update warning reporting.

Message ID 20180724142641.2678-4-claziss@gmail.com
State New
Headers show
Series
  • [1/5,ARC] Update handling AUX-registers.
Related show

Commit Message

Claudiu Zissulescu July 24, 2018, 2:26 p.m.
MWDT compiler doesn't use eflags and makes use of 0x0c section. For
those, silence the gnu warning system.

Ok to apply?
Claudiu

bfd/
  Claudiu Zissulescu <claziss@synopsys.com>

        * elf32-arc.c (arc_elf_merge_private_bfd_data): Complain about
        efalgs only when in/out exists.
        (elf32_arc_section_from_shdr): Don't complain about 0x0c section
        type.  It is mwdt compiler specific.
---
 bfd/elf32-arc.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

-- 
2.17.1

Comments

Nick Clifton July 31, 2018, 4:06 p.m. | #1
Hi Claudiu,
 
> bfd/

>   Claudiu Zissulescu <claziss@synopsys.com>

> 

>         * elf32-arc.c (arc_elf_merge_private_bfd_data): Complain about

>         efalgs only when in/out exists.

>         (elf32_arc_section_from_shdr): Don't complain about 0x0c section

>         type.  It is mwdt compiler specific.

 
Approved - please apply.

Cheers
  Nick

Patch

diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 25a1faaaaf..fc97ccc696 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -914,14 +914,16 @@  arc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 	       && !bfd_elf_get_obj_attr_int (ibfd, OBJ_ATTR_PROC,
 					     Tag_ARC_CPU_base))
 	{
-	  /* Warn if different flags.  */
-	  _bfd_error_handler
-	    /* xgettext:c-format */
-	    (_("%pB: uses different e_flags (%#x) fields than "
-	       "previous modules (%#x)"),
-	     ibfd, in_flags, out_flags);
 	  if (in_flags && out_flags)
-	    return FALSE;
+	    {
+	      /* Warn if different flags.  */
+	      _bfd_error_handler
+		/* xgettext:c-format */
+		(_("%pB: uses different e_flags (%#x) fields than "
+		   "previous modules (%#x)"),
+		 ibfd, in_flags, out_flags);
+	      return FALSE;
+	    }
 	  /* MWDT doesnt set the eflags hence make sure we choose the
 	     eflags set by gcc.  */
 	  in_flags = in_flags > out_flags ? in_flags : out_flags;
@@ -2891,6 +2893,7 @@  elf32_arc_section_from_shdr (bfd *abfd,
 {
   switch (hdr->sh_type)
     {
+    case 0x0c: /* MWDT specific section, don't complain about it.  */
     case SHT_ARC_ATTRIBUTES:
       break;