970917 eh problems - bootstrap failure

Jason Merrill jason@cygnus.com
Wed Sep 17 22:16:00 GMT 1997


>>>>> Robert Lipe <robertl@dgii.com> writes:

>> > Now, the assembler keels on a truckload of forward references:
>> 
>> If the SCO assembler can't handle forward refs, it's not going to work real
>> well.  Perhaps we should go back to the old ugly code in dwarf2out which

> Is this a rare feature?

I don't think so.  I assumed all modern assemblers could handle it.  But
I'm not very loreful on the subject of assemblers.

> I've ported GAS to OpenServer for both COFF and ELF (yes, it requires
> a funky build procedure) so that is an option.   I imagine that 
> Unixware will have this same problem.

I doubt it.  Have you tried it with the ELF assembler?

> I wonder if any other non-gas x86 targets will share it.  Are there any
> others left?  Is there a Solaris x86 tester on the list?

Since Solaris/SPARC handles forward refs just fine, I would expect it to
work fine with Solaris/x86.

> We could weenie out and just #undef the DWARF2_STACK stuff if not 
> configured --with-gas.

That's what I did for SunOS 4, where the Sun assembler doesn't allow
unaligned data.

>> explicitly calculated the size of the frame unwind info.  Or maybe you
>> should just #define DWARF2_UNWIND_INFO to 0.

> Ha.  I fell for that trick in default.h   You should instead remove the
> definition of it, becuase the tests are #ifdef DWARF2_UNWIND_INFO, not
> #if DWARF2_UNWIND_INFO.   [ I wish I had a deposit to my 401K for every
> time I've fallen for that trick. ] 

Actually, there is one crucial test that is #if.  That's the one that
decides the default EH mechanism.  If you #define it to 0, you get
setjmp/longjmp.

> Anyway, once I do that, make clean, make bootstrap, it fell over linking
> cc1 with unresolved calls to dwarf2out_def_cfa(), dwarf2out_cfi_label(),
> dwarf2out_reg_save() in i386.c.

Yup.  My way should work better.

Jason



More information about the Gcc mailing list