This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: bootstrap/3867: [djgpp] eh_frame optimization check inconfigure is broken
- From: Tim Van Holder <tim dot van dot holder at pandora dot be>
- To: bangerth at dealii dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org,nobody at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org
- Date: 21 Nov 2002 08:58:15 +0100
- Subject: Re: bootstrap/3867: [djgpp] eh_frame optimization check inconfigure is broken
- Organization:
- References: <20021120021543.25203.qmail@sources.redhat.com>
It's not a failure as such - configure merely finds the eh_frame
optimization bug when it is not present.
This is still the case in gcc 3.2; configure.in contains a piece
of assembler code that uses .4byte and multiple arguments for
.section. Even when binutils 2.13 is used, those are NOT
supported for coff targets (djgpp, mingw32), causing as to
fail, and configure to assume the test failed.
Using .long instead of .4byte and removing the extra arguments
to .section results in an assembler file that gives the proper
results for coff as well as ELF.
The check for the linker's eh_frame header optimization is even
more broken for those platforms, as it checks 4- and 8-byte
alignments (using .${gc_WS}byte as pseudo-op); in that test it
is not possible to simply replace .4byte by .long.
Perhaps this is a binutils issue (perhaps as should treat .4byte
as a synonym for .long for a COFF target, and silently ignore
extra arguments for .section), but this has been causing gcc to
misdetect eh_frame stuff on COFF platforms for quite a while now.
--
Tim Van Holder <tim.van.holder@pandora.be>