Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RTS build is different depending on the OS? Toolchain? #6

Open
Irvise opened this issue Jan 4, 2023 · 2 comments
Open

RTS build is different depending on the OS? Toolchain? #6

Irvise opened this issue Jan 4, 2023 · 2 comments

Comments

@Irvise
Copy link

Irvise commented Jan 4, 2023

I found a rather interesting/intriguing disparity between two systems when working with SweetAda and building the RTS.

Here is a clean SweetAda clone (master) running on Debian/aarch64 with the system's provided GCC/GNAT (v12.2):

make RTS=zfp CPU=RISC-V TOOLCHAIN_NAME=riscv64-linux-gnu PLATFORM=HiFive1 TOOLCHAIN_PREFIX=/usr rts      

RISC-V: RTS = zfp, multilib = .;

make[1]: Entering directory '/home/fernando/Build/SweetAda-new/SweetAda/rts'
rm -f -r ./zfp/riscv64-linux-gnu/./adainclude
mkdir -p ./zfp/riscv64-linux-gnu/./adainclude
rm -f -r ./zfp/riscv64-linux-gnu/./adalib
mkdir -p ./zfp/riscv64-linux-gnu/./adalib
cp -f ./src/zfp/*.ads ./zfp/riscv64-linux-gnu/./adainclude/
cp -f ./src/zfp/*.adb ./zfp/riscv64-linux-gnu/./adainclude/
processcfg.sh ./src/targets/RISC-V/system.ads.in ./zfp/riscv64-linux-gnu/./adainclude/system.ads
processcfg.sh: ./zfp/riscv64-linux-gnu/./adainclude/system.ads: done.
cp -f ./src/targets/RISC-V/Makefile.rts.in ./zfp/riscv64-linux-gnu/
make[1]: Leaving directory '/home/fernando/Build/SweetAda-new/SweetAda/rts'
make[1]: Entering directory '/home/fernando/Build/SweetAda-new/SweetAda/rts'
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/a-charac.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/a-charac.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/a-chlat1.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/a-chlat1.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/a-unccon.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/a-unccon.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/a-uncdea.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/a-uncdea.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/ada.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/ada.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/i-c.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/i-c.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/i-cexten.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/i-cexten.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/interfac.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/interfac.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/s-atacco.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/s-atacco.adb
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/s-maccod.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/s-maccod.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/s-stoele.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/s-stoele.adb
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/s-unstyp.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/s-unstyp.ads
riscv64-linux-gnu-gcc -x ada -gnat2022 -o zfp/riscv64-linux-gnu/./adalib/system.o -c -g -O2 --RTS="/home/fernando/Build/SweetAda-new/SweetAda"/rts/zfp/riscv64-linux-gnu/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage zfp/riscv64-linux-gnu/./adainclude/system.ads
riscv64-linux-gnu-ar cr zfp/riscv64-linux-gnu/./adalib/libgnat.a ./zfp/riscv64-linux-gnu/./adalib/a-charac.o ./zfp/riscv64-linux-gnu/./adalib/a-chlat1.o ./zfp/riscv64-linux-gnu/./adalib/a-unccon.o ./zfp/riscv64-linux-gnu/./adalib/a-uncdea.o ./zfp/riscv64-linux-gnu/./adalib/ada.o ./zfp/riscv64-linux-gnu/./adalib/i-c.o ./zfp/riscv64-linux-gnu/./adalib/i-cexten.o ./zfp/riscv64-linux-gnu/./adalib/interfac.o ./zfp/riscv64-linux-gnu/./adalib/s-atacco.o ./zfp/riscv64-linux-gnu/./adalib/s-maccod.o ./zfp/riscv64-linux-gnu/./adalib/s-stoele.o ./zfp/riscv64-linux-gnu/./adalib/s-unstyp.o ./zfp/riscv64-linux-gnu/./adalib/system.o
riscv64-linux-gnu-ranlib zfp/riscv64-linux-gnu/./adalib/libgnat.a
riscv64-linux-gnu-ar cr zfp/riscv64-linux-gnu/./adalib/libgnarl.a 
riscv64-linux-gnu-ranlib zfp/riscv64-linux-gnu/./adalib/libgnarl.a
make[1]: Leaving directory '/home/fernando/Build/SweetAda-new/SweetAda/rts'

Okay... It builds the RTS as expected.

But there is a very similar make command on my main OpenSUSE/x86_64 machine using the GCC/GNAT provided by Alire (v12.1, for embedded devices):

make TOOLCHAIN_NAME=riscv64-elf RTS=sfp PROFILE=sfp CPU=RISC-V PLATFORM=HiFive1 TOOLCHAIN_PREFIX=/home/fernando/bin/gnat-riscv64-elf-linux64-12.1.0-2/ rts

RISC-V: RTS = sfp, multilib = .;

make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird betreten
rm -f -r ./sfp/riscv64-elf/./adainclude
mkdir -p ./sfp/riscv64-elf/./adainclude
rm -f -r ./sfp/riscv64-elf/./adalib
mkdir -p ./sfp/riscv64-elf/./adalib
cp -f ./src/sfp/*.ads ./sfp/riscv64-elf/./adainclude/
cp -f ./src/sfp/*.adb ./sfp/riscv64-elf/./adainclude/
processcfg.sh ./src/sfp/s-parame.ads.in ./sfp/riscv64-elf/./adainclude/s-parame.ads
processcfg.sh: ./sfp/riscv64-elf/./adainclude/s-parame.ads: done.
processcfg.sh ./src/targets/RISC-V/system.ads.in ./sfp/riscv64-elf/./adainclude/system.ads
processcfg.sh: ./sfp/riscv64-elf/./adainclude/system.ads: done.
cp -f ./src/targets/RISC-V/Makefile.rts.in ./sfp/riscv64-elf/
make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird verlassen
make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird betreten
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/a-assert.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/a-assert.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/a-charac.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/a-charac.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/a-chlat1.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/a-chlat1.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/a-except.o -c -g -O1 -fno-inline -fno-toplevel-reorder --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/a-except.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/a-tags.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/a-tags.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/a-unccon.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/a-unccon.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/a-uncdea.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/a-uncdea.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/ada.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/ada.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/g-souinf.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/g-souinf.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/gnat.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/gnat.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/i-c.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/i-c.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/i-cexten.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/i-cexten.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/interfac.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/interfac.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-assert.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-assert.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-atacco.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-atacco.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-exctab.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-exctab.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-fatflt.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-fatflt.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-fatgen.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-fatgen.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-fatlfl.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-fatlfl.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-fatllf.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-fatllf.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-maccod.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-maccod.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-parame.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-parame.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-secsta.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-secsta.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-scaval.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-scaval.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-stalib.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-stalib.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-stoele.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-stoele.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/s-unstyp.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/s-unstyp.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/./adalib/system.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/. -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/./adainclude/system.ads
riscv64-elf-ar cr sfp/riscv64-elf/./adalib/libgnat.a ./sfp/riscv64-elf/./adalib/a-assert.o ./sfp/riscv64-elf/./adalib/a-charac.o ./sfp/riscv64-elf/./adalib/a-chlat1.o ./sfp/riscv64-elf/./adalib/a-except.o ./sfp/riscv64-elf/./adalib/a-tags.o ./sfp/riscv64-elf/./adalib/a-unccon.o ./sfp/riscv64-elf/./adalib/a-uncdea.o ./sfp/riscv64-elf/./adalib/ada.o ./sfp/riscv64-elf/./adalib/g-souinf.o ./sfp/riscv64-elf/./adalib/gnat.o ./sfp/riscv64-elf/./adalib/i-c.o ./sfp/riscv64-elf/./adalib/i-cexten.o ./sfp/riscv64-elf/./adalib/interfac.o ./sfp/riscv64-elf/./adalib/s-assert.o ./sfp/riscv64-elf/./adalib/s-atacco.o ./sfp/riscv64-elf/./adalib/s-exctab.o ./sfp/riscv64-elf/./adalib/s-fatflt.o ./sfp/riscv64-elf/./adalib/s-fatgen.o ./sfp/riscv64-elf/./adalib/s-fatlfl.o ./sfp/riscv64-elf/./adalib/s-fatllf.o ./sfp/riscv64-elf/./adalib/s-maccod.o ./sfp/riscv64-elf/./adalib/s-parame.o ./sfp/riscv64-elf/./adalib/s-secsta.o ./sfp/riscv64-elf/./adalib/s-scaval.o ./sfp/riscv64-elf/./adalib/s-stalib.o ./sfp/riscv64-elf/./adalib/s-stoele.o ./sfp/riscv64-elf/./adalib/s-unstyp.o ./sfp/riscv64-elf/./adalib/system.o
riscv64-elf-ranlib sfp/riscv64-elf/./adalib/libgnat.a
riscv64-elf-ar cr sfp/riscv64-elf/./adalib/libgnarl.a 
riscv64-elf-ranlib sfp/riscv64-elf/./adalib/libgnarl.a
make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird verlassen

RISC-V: RTS = sfp, multilib = rv32i/ilp32;@march=rv32i@mabi=ilp32

make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird betreten
rm -f -r ./sfp/riscv64-elf/rv32i/ilp32/adainclude
mkdir -p ./sfp/riscv64-elf/rv32i/ilp32/adainclude
rm -f -r ./sfp/riscv64-elf/rv32i/ilp32/adalib
mkdir -p ./sfp/riscv64-elf/rv32i/ilp32/adalib
cp -f ./src/sfp/*.ads ./sfp/riscv64-elf/rv32i/ilp32/adainclude/
cp -f ./src/sfp/*.adb ./sfp/riscv64-elf/rv32i/ilp32/adainclude/
processcfg.sh ./src/sfp/s-parame.ads.in ./sfp/riscv64-elf/rv32i/ilp32/adainclude/s-parame.ads
processcfg.sh: ./sfp/riscv64-elf/rv32i/ilp32/adainclude/s-parame.ads: done.
processcfg.sh ./src/targets/RISC-V/system.ads.in ./sfp/riscv64-elf/rv32i/ilp32/adainclude/system.ads
processcfg.sh: ./sfp/riscv64-elf/rv32i/ilp32/adainclude/system.ads: done.
cp -f ./src/targets/RISC-V/Makefile.rts.in ./sfp/riscv64-elf/
make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird verlassen
make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird betreten
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/a-assert.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/a-assert.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/a-charac.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/a-charac.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/a-chlat1.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/a-chlat1.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/a-except.o -c -g -O1 -fno-inline -fno-toplevel-reorder --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/a-except.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/a-tags.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/a-tags.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/a-unccon.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/a-unccon.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/a-uncdea.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/a-uncdea.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/ada.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/ada.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/g-souinf.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/g-souinf.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/gnat.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/gnat.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/i-c.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/i-c.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/i-cexten.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/i-cexten.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/interfac.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/interfac.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-assert.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-assert.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-atacco.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-atacco.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-exctab.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-exctab.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-fatflt.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-fatflt.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-fatgen.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-fatgen.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-fatlfl.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-fatlfl.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-fatllf.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-fatllf.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-maccod.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-maccod.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-parame.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-parame.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-secsta.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-secsta.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-scaval.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-scaval.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-stalib.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-stalib.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-stoele.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-stoele.adb
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/s-unstyp.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/s-unstyp.ads
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32i/ilp32/adalib/system.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32i/ilp32 -march=rv32i -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32i/ilp32/adainclude/system.ads
riscv64-elf-ar cr sfp/riscv64-elf/rv32i/ilp32/adalib/libgnat.a ./sfp/riscv64-elf/rv32i/ilp32/adalib/a-assert.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/a-charac.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/a-chlat1.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/a-except.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/a-tags.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/a-unccon.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/a-uncdea.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/ada.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/g-souinf.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/gnat.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/i-c.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/i-cexten.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/interfac.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-assert.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-atacco.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-exctab.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-fatflt.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-fatgen.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-fatlfl.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-fatllf.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-maccod.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-parame.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-secsta.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-scaval.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-stalib.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-stoele.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/s-unstyp.o ./sfp/riscv64-elf/rv32i/ilp32/adalib/system.o
riscv64-elf-ranlib sfp/riscv64-elf/rv32i/ilp32/adalib/libgnat.a
riscv64-elf-ar cr sfp/riscv64-elf/rv32i/ilp32/adalib/libgnarl.a 
riscv64-elf-ranlib sfp/riscv64-elf/rv32i/ilp32/adalib/libgnarl.a
make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird verlassen

RISC-V: RTS = sfp, multilib = rv32im/ilp32;@march=rv32im@mabi=ilp32

make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird betreten
rm -f -r ./sfp/riscv64-elf/rv32im/ilp32/adainclude
mkdir -p ./sfp/riscv64-elf/rv32im/ilp32/adainclude
rm -f -r ./sfp/riscv64-elf/rv32im/ilp32/adalib
mkdir -p ./sfp/riscv64-elf/rv32im/ilp32/adalib
cp -f ./src/sfp/*.ads ./sfp/riscv64-elf/rv32im/ilp32/adainclude/
cp -f ./src/sfp/*.adb ./sfp/riscv64-elf/rv32im/ilp32/adainclude/
processcfg.sh ./src/sfp/s-parame.ads.in ./sfp/riscv64-elf/rv32im/ilp32/adainclude/s-parame.ads
processcfg.sh: ./sfp/riscv64-elf/rv32im/ilp32/adainclude/s-parame.ads: done.
processcfg.sh ./src/targets/RISC-V/system.ads.in ./sfp/riscv64-elf/rv32im/ilp32/adainclude/system.ads
processcfg.sh: ./sfp/riscv64-elf/rv32im/ilp32/adainclude/system.ads: done.
cp -f ./src/targets/RISC-V/Makefile.rts.in ./sfp/riscv64-elf/
make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird verlassen
make[1]: Verzeichnis „/home/fernando/Builds/SweetAda/rts“ wird betreten
riscv64-elf-gcc -x ada -gnat2022 -o sfp/riscv64-elf/rv32im/ilp32/adalib/a-assert.o -c -g -O2 --RTS="/home/fernando/Builds/SweetAda"/rts/sfp/riscv64-elf/rv32im/ilp32 -march=rv32im -mabi=ilp32 -nostdinc -gnatwa -gnatg        -gnatp        -gnatyN       -Wextra -Wall -fstack-usage sfp/riscv64-elf/rv32im/ilp32/adainclude/a-assert.adb

[...]

This system builds several "flavours" for the RTS. It builds the 32-bit one several times (with different -march options) and several 64-bit ones... That is very strange!

Is the toolchain automatically selecting which variants to use? Is SweetAda not launching the correct builds when running on Debian/aarch64?

I am just opening this issue for documentation porpuses. I do not want to overwhelm you with trouble! Take your time. I am open for testing things out!

Best,
Fer

@gabriele-galeotti
Copy link
Owner

gabriele-galeotti commented Jan 4, 2023 via email

@Irvise
Copy link
Author

Irvise commented Jan 5, 2023

Thank you for your time.

Here is the output from the GCC 12.2 (host-aarch64, target-riscv64) assembler:

GNU assembler version 2.39.90 (riscv64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.39.90.20221231

I am going to try to use GCC 12.1 in aarch64 built from Alire, hopefully that fixes things up.

Oh, true, I was using a different RTS in the second example, however, the results are the same for zfp. I have had some problems with sfp which I will report in another issue (missing symbols during kernel linking).

Since I will get back to my work next week, I think email communication is the easiest one for the two of us. Or Github posts like these ones. The problem with IRC is that it is designed for near real-time communications, and I will not really have much free time starting next week.
I sent you an email to @sweetada.org a few days ago. We can use that thread for discussions if you want.

Best regards,
Fer

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants