Closed th-otto closed 5 years ago
please test
The actual patch looks good to me, but when updating i now get
make[2]: Entering directory '/home/sebilla/amiga/amiga-gcc/build-Linux/libnix/startup'
make[2]: *** No rule to make target 'nrcrt0.S', needed by 'nrcrt0.o'. Stop.
did u miss a git pull
?
Oops, yes. I thought "make update" would do that.
Looks good.
Oops, yes. I thought "make update" would do that.
Looks good.
A change of the Makefile would only be active with the next call, if it updates itself...
Make still have problem finding nrcrt0.S libnix/startup which is empty
make[2]: Entering directory '/e/src/libnix/startup' make[2]: *** No rule to make target 'nrcrt0.S', needed by 'nrcrt0.o'. Stop.
It's in /e/src/libnix/sources/startup
My config: ./configure TARGET=m68k-amigaos --with-cross-host=x86_64-pc-cygwin --host=m68k-amigaos --prefix=/e/usr/local/amiga/m68k-amigaos CXX="m68k-amigaos-g++" CC="m68k-amigaos-gcc" --srcdir=.
consider using Makefile.gcc6
Can I compile it for a.out format with gcc6 ?
*.S files are there again - undid the rename. So the old crappy configure/make should work again.
Or try the newer (more crappy) Makefile.gcc6
Can I compile it for a.out format with gcc6 ?
That's the assemblers job. If there is no usable m68k-amigaos-as you might switch over to alpines branch using vasm.
Now it compiles with gcc6 makefile, but stops on
/src/libnix/sources/startup/libinitr.c:187: error: syntax error before "void"
So if I just use a.out 'as' compiler it will end in a.out format ?
So if I just use a.out 'as' compiler it will end in a.out format ?
with the appropriate assembler you'll get a.out. Just do the steps by hand:
-S
Is __entrypoint a gcc6 thing ?
Is __entrypoint a gcc6 thing ?
yes - it tells the compiler to omit reg saves.
How to treat it in older compiler?
in libinitr.c it's not necessary... ... stackswap.c needs it
guess you have to replace it with pure asm code for older gcc's.
BYTE is defined explicitly as "signed char". Using strcpy on such a type gives a warning, and when using C++ it gives an error: