[fpc-pascal] VASM upgrade to 1.9 breaks cross compiler build
Norman Dunbar
Norman at dunbar-it.co.uk
Tue Apr 18 17:54:59 CEST 2023
Hi Pierre,
> could you please be a little more specific about the exact version
> of the compiler and the make command line you are using?
I'm, on 64 bit Linux Mint 21.1 (Vera) all patches applied.
I'm using the latest Linux x86-64 version of FPC. I have the latest
source code from gitlab, which appears to be 3.3.1, I run the following
commands to perform a build:
cd ~/SourceCode/fpc
make clean OS_TARGET=sinclairql CPU_TARGET=m68k
make crossall OS_TARGET=sinclairql CPU_TARGET=m68k
### All on one line!
make crossinstall OS_TARGET=sinclairql CPU_TARGET=m68k
INSTALL_PREFIX="/home/norman/bin"
I see that you have some options on your make command, which I've never
had to use in the past when building the compiler. Hang on while I retest...
Nope, still fails.
I rebuilt the assembler with release 1.9c and installed it in the usual
manner, which has always worked.
When I rebuild the compiler, with a "make clean" followed by a "make
crossall" as per your command above, it spits out numerous "warning
1007" messages.
The start of all the problems is this:
make[4]: Entering directory '/data/SourceCode/fpc/rtl/sinclairql'
/usr/bin/mkdir -p /data/SourceCode/fpc/rtl/units/m68k-sinclairql
/data/SourceCode/fpc/compiler/ppcross68k -Ur -Tsinclairql -Pm68k
-XPm68k-sinclairql- -Ur -Xs -O2 -n -Fi../inc -Fi../m68k -Fim68k -FE.
-FU/data/SourceCode/fpc/rtl/units/m68k-sinclairql -n -vx -dm68k
-dRELEASE -Us -Sg @rtl.cfg system.pp
Executing "/usr/local/bin/m68k-sinclairql-vasmm68k_std" with command
line "-quiet -elfregs -gas -Felf -m68000 -o
/data/SourceCode/fpc/rtl/units/m68k-sinclairql/system.o
/data/SourceCode/fpc/rtl/units/m68k-sinclairql/system.s"
warning 1007 in line 4 of
"/data/SourceCode/fpc/rtl/units/m68k-sinclairql/system.s": scratch at
end of line
>.section .text.n_system_$$_mt_frjob$longint$longint,"awx"
... this repeats for aome time up until:
warning 1007 in line 73309 of
"/data/SourceCode/fpc/rtl/units/m68k-sinclairql/system.s": scratch at
end of line
>.section .data.n_RTTI_$SYSTEM_$$_QLCONHANDLE,"aw"
system.pp(438) Error: Error while assembling exitcode 1
system.pp(438) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
This doesn't happen with the 1.8 releases of vasm. There are no "warning
1007" messages with that one and everything compiles happily.
With the 1.8x releases, I get this instead:
make[4]: Entering directory '/data/SourceCode/fpc/rtl/sinclairql'
/usr/bin/mkdir -p /data/SourceCode/fpc/rtl/units/m68k-sinclairql
/data/SourceCode/fpc/compiler/ppcross68k -Ur -Tsinclairql -Pm68k
-XPm68k-sinclairql- -Ur -Xs -O2 -n -Fi../inc -Fi../m68k -Fim68k -FE.
-FU/data/SourceCode/fpc/rtl/units/m68k-sinclairql -n -vx -dm68k
-dRELEASE -Us -Sg @rtl.cfg system.pp
Executing "/usr/local/bin/m68k-sinclairql-vasmm68k_std" with command
line "-quiet -elfregs -gas -Felf -m68000 -o
/data/SourceCode/fpc/rtl/units/m68k-sinclairql/system.o
/data/SourceCode/fpc/rtl/units/m68k-sinclairql/system.s"
It then proceeds to compile the remaining "pp" files.
If it helps, I built the vasm assembler as follows:
wget http://sun.hasenbraten.de/vasm/release/vasm.tar.gz
tar -xzf vasm.tar.gz
cd vasm
make clean CPU=m68k SYNTAX=std
make CPU=m68k SYNTAX=std
sudo cp vasmm68k_std /usr/local/bin/
cd /usr/local/bin
sudo ln -s vasmm68k_std m68k-sinclairql-vasmm68k_std
Cheers,
Norm.
More information about the fpc-pascal
mailing list