This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: bootstrap/3867: [djgpp] eh_frame optimization check inconfigure is broken


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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]