This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Rework the handling of assembler sections
Hans-Peter Nilsson <hp@bitrange.com> writes:
> AARGH! You broke cris-axis-linux-gnu!
Sorry ;(
> I guess it's because of the "const" declaration of
> __EH_FRAME_BEGIN__ in .eh_frame, which is rw on this target.
> Then again, that's just a wild guess.
Sounds plausible. I think I have an idea what's wrong. gcc only used
to create an internal representation of the .eh_frame section if either
(a) the user specified one using the attribute extension or if (b) gcc
needed to create an .eh_frame itself. gcc now creates the internal
representation of .eh_frame for all compilations. Code that met
(a) but not (b) would therefore avoid an error before the patch
but get one after it.
One way of making gcc backwards-compatible would be to only moan about
flag conflicts if the section has been used with the old flags (i.e. if
SECTION_DECLARED is set). We can then make select_section record the
flags that are actually used at the same time as it sets SECTION_DECLARED.
That sounds like the right fix to me at the moment, so I'll try to
reproduce the failure and then test that.
Richard