diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 84fee9e0dd9..4f32256c8d8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-07-12 Jeff Law + + * config/c6x/c6x.c (c6x_section_type): Clear SECTION_NOTYPE + for the ".far" section. + 2019-07-12 Richard Biener PR tree-optimization/91145 diff --git a/gcc/config/c6x/c6x.c b/gcc/config/c6x/c6x.c index 93841e4abef..f6c9bbfc674 100644 --- a/gcc/config/c6x/c6x.c +++ b/gcc/config/c6x/c6x.c @@ -1083,6 +1083,14 @@ c6x_section_type_flags (tree decl, const char *name, int reloc) flags |= default_section_type_flags (decl, name, reloc); + /* The ".far" section will be declared with @nobits elsewhere. + But when declared via this path it will not have the @nobits + flag because of SECTION_NOTYPE. This causes linker warnings + due to the mismatched attribute. Clearing SECTION_NOTYPE + for the ".far" section is sufficient to fix this problem. */ + if (strcmp (name, ".far") == 0) + flags &= ~SECTION_NOTYPE; + return flags; }