Remember me

Lost Password?

Register now!


Who's Online
38 user(s) are online (27 user(s) are browsing Forums)

Members: 1
Guests: 37

MigthyMax, more...


Report message:*

Re: Porting to AmigaOS4 thread

Subject: Re: Porting to AmigaOS4 thread
by Raziel on 2019/10/6 13:55:40


I really want (to try) to tackle this, so, if you got time, please help...


Looks you might have a NULL IDOS pointer. If you add the following code to your main() function it could give a hint as to what is going wrong:
extern struct DOSIFace *IDOS
extern unsigned const int *__newlib_minversion_ptr

printf("IDOS: %pn", IDOS); 
printf("Minimum newlib version: %u.%un"
       *__newlib_minversion_ptr >> 16
       *__newlib_minversion_ptr & 0xffff);

This is what i get on serial:

IDOS: 0x6FCCC170
Minimum newlib version: 52.20


There is a problem with older newlibs if the requested minimum version is >= 52.39** that leads to DOSBase and IDOS not being properly initialised. It does not appear to be the reason for your problem though judging from the above output.

If the crash was in a shared object it could be that it is unable to access the IDOS symbol from the main executable and this is leading to the NULL pointer access, but that does not look to be the case judging from the stack backtrace...

So, if i understand that correctly, some part of my SDK is linking the project with an outdated newlib library version, correct?
Or why could it be requesting 53.20 and not the newer one?

Is there something i can update in my toolchain to prevent that?
Maybe newlib (though i thought i have everything uptodate my libc.so was outdated, so other things might be aswell)?

Also, any more debug output i could add?
What kind of information/output would be needed?

Also, how can i PrintF characters or strings, if the variable to debug should have a path or directory name in it?
I can't get my head around using %s or %c, at least they only output garbage most of the time.

Thank you very much

Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project