I think it's fine for a #define, just not for a function, the two work differently. If it wasn't then all the other varargs stub inlines would be broken too.
Most of the other inline defines are assigning registers to arguments which is like a more complete function definition. The NewObject() define is defining a complete function. It's confusing because they are both macros and using the pre-processor makes it more difficult to see what the result is. I still believe there is a small chance that the c99 strict mode (-std=c99) may disable some GCC specific functionality to better conform with the C99 spec. It might work with (-std=gnu99) but it would take some time to test.
I've uploaded a version with the libraries built for 68020, to see whether that makes any speed difference.
The NetSurf archive I downloaded today is 3104254 bytes which is the same as the one I downloaded on February 23. The executable is also the same size.
This one seems to almost work with my Amigas. It started quite well until it stopped here :
That 1st attempt made it pretty far.
Few seconds more and computer crashes. Are those .otag fonts outlined fonts? Do I need to remove them?
The .otag files in FONTS: have some info but the main font data is in FONTS:_Bullet_Outlines. I have many outline fonts installed and everything is working for me. Since I have a working system, let's start by checking your library versions. I am using:
diskfont.library 45.7 (01/26/02)
bullet.library 44.1 (05/01/99)
If the libraries match, you might try creating a font directory somewhere, copying a subset of the fonts you are using now into it and doing an "ASSIGN FONTS: MYHD:fonts" and then use Sys:System/FixFonts. Rebooting should restore your previous FONTS: assignment. It's possible that some corrupt font data or definitions are causing a problem.