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

Re: [MiNT] Gcc 3.3.6 v 4.0.1



Vincent Rivière wrote:
Mark Duckworth wrote:
I'm stuck on gmp right now. We can get past it by disabling gmp's use of obstack_vprintf
I tried to cross-build libgmp with my latest GCC 4.3.3 on Cygwin, it 
has built fine. I have tricked the Makefiles to cross-build the tests 
(without running them), then I ran them on ARAnyM. (I don't know why 
but the C++ tests don't seem to have been built).
Most of the test have passed without intervention.
I had to adjust the stack for three of them:
stack -S 256K t-fdiv
stack -S 256K t-tdiv
stack -S 256K reuse
After that, they ran fine.

Then I went to the t-printf test.
I guess I got the same output as you:
gmp_obstack_vprintf wrong
  fmt      |%Md|
  got      ||
  want     |0|
  got_len  -1
  ob_len   0
  want_len 1

The test calls gmp_obstack_vprintf(), then it turns to call the MiNTLib in obstack_vprintf() then vprintf().
vfprintf() returns -1, it means failure.
Look at the MiNTLib sources at mintlib/stdio/vfprintf.c
http://sparemint.org/cgi-bin/cvsweb/mintlib/stdio/vfprintf.c?rev=1.5

That source is quite horrible and not debugger friendly :-(
It seems that it fails very soon due to the macro ARGCHECK() (maybe because a bad FILE status ??)
So maybe gmp tries to use an unsupported feature of the MiNTLib, or 
there is a bug in the MiNTLib, or something totally different.
But I'm too tired for continuing now.

LOL,

I didn't even manage to trace it into the mintlib. It seemed to be failing for me during gmp_allocate() which calls malloc(). It sounds more likely though that you're on the right track moreso than I was. I am not an expert debugger of this stuff ;)
Thanks,
Makr