New 68k gcc toolchain
Hi!
Finally new gcc 4.5.4 + clib2 linux for 68k target! I've just built hhexen-1.6.3 using it! Ixemul and libnix build was quiting itself to workbench. So now we have third option :) You can grab it here: http://ci.netsurf-browser.org/builds...hains/?C=M;O=D I 'molested' netsurf devs to make it ;) |
How good is the code it produces?
|
I don't know.
I could compile some test program to check. |
Hi, it is good news, thank you.
I can see there is an update today. http://ci.netsurf-browser.org/builds...4-01-36.tar.xz Is it usable with ADE ? http://aminet.net/package/dev/gcc/ADE |
Netsurf
Chris has fixed toolchain and Netsurf and all depencies builds now. Compiled Netsurf exe even starts now but crash before it opens window
Quote:
He is asking help to fix remaining bugs, so NOTE: This would be officially supported build, unlike current SDL + Framebuffer Netsurf. More about Chris's effort to get proper Netsurf for 68k Amigas here : http://www.amiga.org/forums/showthre...t=63990&page=9 |
|
About Netsurf : http://www.amiga.org/forums/showthre...=63990&page=17
Quote:
|
Umm, isn't GetHead returning a null when there is just one element in the list?
|
May I ask why version 4.5 and not the latest 4.x? Just curious. And on which distribution does this work?
|
Maybe it was easier to patch? I don't know, you better ask Chris Young.
Anyway it is now downgraded to 3.4 for better 68k code. I tested on Ubuntu and debian. |
Quote:
1) Code:
if (NULL != list->lh_Head->ln_Succ) Code:
if (list->lh_TailPred == (struct Node *)list) Code:
if (IsListEmpty(list)) Code:
struct Node *GetHead(struct List *list) Quote:
Quote:
|
Quote:
Just got NetSurf working with libnix. It works better than clib2, no problem with events and slowdown after loading 4th page. It is only lacking %zd, %llu in printf functions. Maybe it can be enabled like in clib2 by putting -lc before -lm ? Do you know this? |
Quote:
It looks like vbcc should support %zd and %llu from looking at the vclib vfprintf() source. Vbcc does *not* currently support the uncommon C99 floating point %a hex notation. Vbcc is strict for whatever version of C is selected and will often generate many warnings and errors by default. GCC uses its own non-conforming sloppy version of C by default and is quiet about many warnings and errors. The sloppiness of GCC is less overwhelming for porting projects but vbcc has its advantages of making sure the code is more C compliant and portable. They are different beasts and vbcc has its own learning curve. |
Libnix was updated to version 3.0 by Diego Casorran.
https://github.com/diegocr/libnix Does any of this flags make anything better? -D__USE_BASETYPE__ -D__USE_INLINE__ -U__STRICT_ANSI__ -DSTMATH |
Quote:
Looking at libnix/stdio/vfprintf.c (used by printf), I don't see any support of %zd or 64 bit integers. I doubt changing switches or variables will solve this. Have you tried contacting Diego Casorran with your questions and needs? |
Yes, he didn't answer, but I managed to compile libnix myself so I can now add anything I need. :)
|
Looks like libnix version is working fast and stable.
It could be faster with some asm optimisations. @matthey are you interested ? :) |
Quote:
Quote:
It looks like the glibc (GNU library) source for vfprintf.c has changed significantly. https://fossies.org/dox/glibc-2.21/v...8c_source.html The source code of the new version of vfprintf() is huge. You could try adapting it for libnix but I wouldn't be surprised if resulting executables are also significantly larger. Maybe an older version of vfprintf() could be found that has 64 bit integer support but before the rewrite. The vbcc vclib source is similar to the old vfprintf() but has support for %llu and %zd. The libnix source has the following line. Code:
if (*ptr=='h' || *ptr=='l' || *ptr=='L') Code:
if (*ptr=='h' || *ptr=='l' || *ptr=='L' || *ptr=='j' || *ptr=='z' || *ptr== 't') |
All times are GMT +2. The time now is 19:01. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.