Re: X.org and A1200 AGA Graphics

John Klos <[email protected]> Thu, 14 Oct 2021 03:10:10 +0000 (UTC)
Newsgroups gmane.os.netbsd.ports.amiga
Message-ID <[email protected]>
Hi,

> I'm... going to suggest that the need to build for two completely
> different console setups may have twisted the amiga kernel build setup
> into something of an odd shape :)

Indeed ;)

> Something for someone to have some fun head scratching time tracking
> down exactly what is going on (or just put it in to take it out &
> defer it for now until the time comes to rip out all the non wscons
> code and make it simpler).

Also on the list is making CPU optimizations work consistently across the 
build system. For instance:

time scp -q /netbsd localhost:
       150.14 real        46.06 user        37.85 sys

time scp -q /netbsd localhost:
        86.21 real        47.97 user         3.52 sys

=> Creating binary package /usr/pkgsrc/packages/All/tcsh-6.22.02nb2.tgz
      3935.46 real      2871.04 user       917.07 sys

=> Creating binary package /usr/pkgsrc/packages/All/tcsh-6.22.02nb2.tgz
      3153.39 real      2364.40 user       669.87 sys


The first is the regular userland compiled with defaults running on an 
'060. The second is the same with userland compiled with -m68020-60. Just 
FYI, the speeds of userland compiled with -m68060 are within the margin of 
error compared with -m68020-60.

However, we have a few issues compiling userland with CPU specific 
optimizations such as CFLAGS+=-m68020-60:

--- dependall-libgcc_s ---
libgcc_s_pic.a(_float.pico):(.text+0x8): relocation truncated to fit: 
R_68K_PLT16 against symbol `$_exception_handler' defined in .text section 
in libgcc_s_pic.a(_floatex.pico)
libgcc_s_pic.a(_float.pico):(.text+0x18): relocation truncated to fit: 
R_68K_PLT16 against symbol `$_exception_handler' defined in .text section 
in libgcc_s_pic.a(_floatex.pico)

The simplest way to fix this is to add this to 
external/gpl3/gcc/lib/libgcc/libgcc_s/Makefile:

.if ${MACHINE_ARCH} == "m68k"
CFLAGS=         # unset to remove optimizations
.endif

There are other issues for -m68060, but that deserves a separate email.

I plan to do some benchmarks comparing a default compile versus 
-m68020-60 on an m68030 and on an m68040 to see whether it negatively 
impacts performance for those. If not, perhaps we should consider 
-m68020-60 for Amiga builds.

John