[ARC] Update warning reporting.

MWDT compiler doesn't use eflags and makes use of 0x0c section. For
those, silence the gnu warning system.

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.
This commit is contained in:
Claudiu Zissulescu 2018-08-06 16:41:32 +03:00
parent 2fd43d7870
commit 6af0448446
2 changed files with 17 additions and 7 deletions

View File

@ -1,3 +1,10 @@
2018-08-06 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.
2018-08-06 Claudiu Zissulescu <claziss@synopsys.com>
* elf32-arc.c (arc_elf_merge_attributes): Fix merge attributes.

View File

@ -917,14 +917,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;
@ -2894,6 +2896,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;