[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] __Unwind_Resume



Miro Kropacek wrote:
    Be sure you don't use old C++ libraries if you compile your programs
    with GCC 4.x.

Everything is compiled from scratch

No.

Because... The "clean" target in zView's Makefile is incomplete.
It doesn't remove pdf/*.o.
As a result, pdf/pdflib.o is distributed in the source archive by error !
Then this file is not rebuilt when you type make.

Finally, I'm right: you are mixing new object files with old ones :P

The obvious solution is to fix the makefile to remove these .o files and compile them again.

This brings us to a new question.

GCC can be configured to use 2 different and incompatible exception models:
- SJLJ (Setjump/Longjump)
- DW2 (DWARF 2)

I didn't know which method to use when configuring GCC for the first time, so I chose SJLJ. Also I thought that DW2 was available on ELF only (like DWARF debug info), but I was probably wrong.

Source objects using SJLJ are tagged with __gxx_personality_sj0.
The ones using DW2 use __gxx_personality_v0.

So it seems that Zorro has configured his cross-compiler with DW2 exceptions, and it works fine for him.

The question is: which exception model is good for us ?
The answer is probably "the same as GCC 2.x", as usual.
I don't know which choice had been made for it.

--
Vincent Rivière