Fwd: Re: Wy netsurf can render on amiga version from chris only if all is load. on windows show page earlier and later load images or other parts

Chris Young chris.young at unsatisfactorysoftware.co.uk
Wed Aug 30 11:55:58 BST 2017

-------- Original Message --------
From: Bernd R <nospamname at web.de>
Sent: 30 August 2017 10:00:38 BST
To: Chris Young <chris.young at unsatisfactorysoftware.co.uk>
Subject: Re: Wy netsurf can render on amiga version from chris only if all is load. on windows show page earlier and later load images or other parts

Hello Chris

the paths can change with compiler or linker options in makefile. i did not know what change your build have. My gcc port is too very simular to gcc build of other platforms and in the page i give you link, is instruction how can build easy.see attached files. on newer gcc the libs can not compile. there are no programs that need the new libs i know so far. teh build stop with error, after the important thing(the compilers is compile). many ports are done with the GCC 4.5 with full optimize, so it know as stable. but intresting to see if GCC 7.2 give more speed

maybe this build can work with netsurf too. i try to compile 7.2 and let you know. see how easy should possible to build a new version. work with 4.3.2 and 4.5. lets see if can work with 7.2 too

On 29.08.17, you wrote:

> On Tue, 29 Aug 2017 17:28:55 +0200, Bernd R wrote:
>> seem the mailing list not work
>> when it show earlier the page but flicker is better, because wait until all is load is boring. so how is it done in windows version ?
>> > A patch to upgrade the toolchain to GCC 4.5 would be greatly
>> > appreciated.
>> GCC 4.5 and 4.3.2 68k for cygwin host in windows you can download here
>> https://sourceforge.net/projects/amiga/files/Compilers/
>> on what system do you compile ?. I have done the 68k ports years
>> ago, and now i have install a vmware ubuntu 7  X64. If this is
>> usefull, i can try to compile gcc this for ubuntu 7.or can try to
>> run cygwin under wine on linux
> 64-bit Debian.
> GCC needs to be integrated into the toolchain:
> http://git.netsurf-browser.org/toolchains.git/tree/m68k-unknown-amigaos
> A "standalone" build of GCC is not helpful as the paths are different.
>  When I upgraded to 3.4 I managed to mostly copy across the patches
> from https://github.com/cahirwpz/amigaos-cross-toolchain
> Most of the other ports I've seen for 68k (including a fork of that
> one for gcc6) are an entire repository with the changes integrated.
> Whilst that can theoretically be cloned and built within the
> toolchain, it's a pain to have to change everything to accomodate it
> only to have to switch everything around again when the next gcc port
> comes along by somebody else with different ideas on how it should be
> maintained.
> My preference would be to go as new as possible so it doesn't have to
> be done again for a long time.
> gcc6 is here: https://github.com/bebbo/gcc
> Chris
> ---
> Diese E-Mail wurde von AVG auf Viren geprüft.
> http://www.avg.com
-------------- next part --------------
in the amigaos includes dir in your inline dir, you need the new macros.h file (change jsr a6@(%1.w) to jsr -%1(a6)).work too on older gcc,because ggc use now motorola ASM output, thats standard on amiga.also gcc main source dont generate correct code when not use motorola output.

compile of the attached 4.3.2 sources.I test on cygwin with 3.4 compilers:

important do cd to objdir and objdir should be diffrent to source dir or build/gencodes.exe miss error come.

and the vars should set with 

export OBJDIR=......

export SRCDIR=......

to your source and object dir.

now type


$SRCDIR/configure --target=m68k-amigaos --with-cpu=m68040 --prefix=/usr/local/amiga

when its done type


when its done

make install DESTDIR=xxxx

best use DESTDIR to a temporary dir, so you see what files are create.

create files are in xxxx/usr/local/amiga

thats all.

************************************************************ steps to build a amigaos GCC from sources from www.gcc.org ************************

Because 68k amiga OS is the only amiga target that is in ggc main source, it is easy to build every version you like.This steps are need

add in gcc-x.x.x/gcc/config.gcc

(search for m68k)



	tm_file="${tm_file} m68k/amigaos.h"

	tm_p_file="${tm_p_file} m68k/amigaos-protos.h"

	tm_defines="TARGET_AMIGAOS TARGET_DEFAULT=0" # 68040




in gcc-x.x.x/gcc/config/m68k dir add files (from the 4.3.2 source)








in dir gcc-x.x.x//gcc add file


thats enough to build the gcc.more steps are need, to build the libs, libgcc libstdc++ when you want new

to build libgcc: add in libgcc/config.host 68k cpu and later amigaos.see file from 4.3.2 or use same.

the dir amigaos must add in libstdc++-v3/config (see 4.3.2 source)

now you can compile all. 

when you get assembler error in atomicity.h change line with the cas so that, the \n is last char.

 "cas.l %0 , %1 , %2 \n"

for build libstdc++ with the crosscompilers you need do this steps too

in libstdc++/configure

after (search for "GLIBCXX_IS_NATIVE=true")


if test $hostos = $targetos -o $targetos = darwin ; then





add this lines



     LDFLAGS="${LDFLAGS-ld} -noixemul"



search for "Base decisions on target environment"


# Base decisions on target environment.

 case "${host}" in


add this lines






in gccx.x.x/libiberty/configure 

after this lines


Use these variables to override the choices made by `configure' or to help

it to find libraries and programs with nonstandard names/locations.




add this line

LDFLAGS="${LDFLAGS-ld} -noixemul"

if you want build without debug(-g ) type make "CFLAGS=-O2"  "LIBCFLAGS=-O2" "LIBCXXFLAGS=-O2" (but dont work i find out)

if you dont like that the whole debug symbols are in the libs, then use strip -g dir(older gcc are build without complete symbols)

also you can choose in amidev in linker options that your program have no debug symbols.

***************************    build 68k to 68k gcc    *************************************************************************************+

If you want build a GCC that run on 68k ( MOS OS4 Versions seem too possible, when you have installed the OS4 MOS crosscompilers on cygwin and you choose 

---host- mos or OS4 identify)

you need this steps.

Add in file config.host this 



  host_xmake_file="${host_xmake_file} m68k/x-amigaos"




prefix /gg use older amiga build for geek gadget, so i use that too

make sure the new libnix is in dir libm020/libnix for best speed

$SRCDIR/configure --host=m68k-amigaos --target=m68k-amigaos --with-cpu=m68040 --prefix=/gg --disable-nls

copy file host-amigaos.c to gccxx/gcc/config/m68k

then type make.

when compile stop with auto-build.h not found, use the file auto-host.h as auto-build.h.thats ok for the 68k compiler build, but to compile full 68k files, use above files

To build gmp and mpfr library under crosscompiler for gcc that run on 68k(normaly not need, use 68k files in lib dir)

go to the dir 


./configure --host=m68k-amigaos

now type make and look if the the right compiler is used (show 68k m68k-amigaos-gcc -D....)

*************************** binutil build **********************************************************

the binutil files (as,ld) come in usr/local/amiga/m68k-amigaos/bin 

copy after this in file bfd/config.bfd







add this lines in file bfd/targets.c

extern const bfd_target amiga_vec;

extern const bfd_target aout_amiga_vec; 

in file bfd/configure add after

for vec in $selvecs do


   case "$vec" in 

this lines.

amiga_vec)			tb="$tb amigaos.o amigaoslink.o" ;;

aout_amiga_vec)                                 tb="$tb aout-amiga.o aout32.o stab-syms.o";; 

copy files from old binutil





to dir bfd

copy file amigaos.h to bfd/hosts 

not work because of too old amiga files, to be continue....

every help/report is welcome, you can mail to me at nospamname at web.de

More information about the netsurf-dev mailing list