From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Received: by 2002:ad4:4444:: with SMTP id l4mr5726070qvt.121.1593687894712; Thu, 02 Jul 2020 04:04:54 -0700 (PDT) X-Received: by 2002:a9d:3b8b:: with SMTP id k11mr25468943otc.240.1593687894439; Thu, 02 Jul 2020 04:04:54 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 2 Jul 2020 04:04:54 -0700 (PDT) In-Reply-To: <126727e4-3108-46cd-acc6-e42dbdb9dd6bo@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=79.19.129.183; posting-account=JRF_-woAAABYlsAtkCl_CUxBuQy2SsaQ NNTP-Posting-Host: 79.19.129.183 References: <242465de-0171-44b1-9618-752b22c3604co@googlegroups.com> <11c21c57-69de-4fcb-9193-71a98ca93ecao@googlegroups.com> <126727e4-3108-46cd-acc6-e42dbdb9dd6bo@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <011aef92-84e3-47e5-a558-a8c2c6504161o@googlegroups.com> Subject: Re: SweetAda 0.1 released From: gabriele.galeotti.xyz@gmail.com Injection-Date: Thu, 02 Jul 2020 11:04:54 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:59311 List-Id: On Thursday, July 2, 2020 at 6:47:48 AM UTC+2, Roger wrote: > On Thursday, July 2, 2020 at 1:37:14 AM UTC+10, gabriele....@gmail.com wr= ote: > > > >=20 > > Inside the sweetada source package, edit the menu.sh file. > > There are some platform choices. Comment out all the choices and write: > > PLATFORM=3DPC-x86-64 ; SUBPLATFORM=3DQEMU-ROM > >=20 > > Run menu.sh with "./menu.sh". It should end up compiling without errors= . > >=20 > Result: > Configuration parameters: > PLATFORM: PC-x86-64 > SUBPLATFORM: QEMU-ROM > CPU: x86-64 > CPU MODEL: ??? > SWEETADA_PATH: /System/Volumes/Data/Ada_Source/sweetada-0.1 > TOOLCHAIN PREFIX: /opt/sweetada > TOOLCHAIN NAME: x86_64-sweetada-elf > GCC VERSION: 9.3.0 > GCC SWITCHES: -m64 -Wa,--64 > GCC MULTIDIR: . > RTS ROOT PATH: /System/Volumes/Data/Ada_Source/sweetada-0.1/rts/x86_64= -sweetada-elf > RTS PATH: /System/Volumes/Data/Ada_Source/sweetada-0.1/rts/x86_64= -sweetada-elf/. > LD SWITCHES: =20 > OBJCOPY SWITCHES: --output-target=3Dbinary --gap-fill=3D0x00 > OBJDUMP SWITCHES: =20 > RTS: ZFP > PROFILE: ZFP > BUILD MODE: MAKEFILE >=20 > PC-x86-64: start kernel build. >=20 > [GNATMAKE] abort_library.adb > ... >=20 > then build continued until: > [GNATMAKE-M] kernel.d > [ADAC] b__main.adb > [LD] kernel.o > [OBJDUMP] kernel.lst > [OBJDUMP-S] kernel.src.lst > [READELF] kernel.elf.lst >=20 > PC-x86-64: ELF sections dump. >=20 > make: elftool: No such file or directory > make: *** [kernel_info] Error 1 >=20 > PC-x86-64: start kernel build. >=20 > [GNATMAKE] main.adb > [GNATBIND] b__main.adb > [GNATMAKE-M] kernel.d > [ADAC] b__main.adb > [LD] kernel.o > [OBJDUMP] kernel.lst > [OBJDUMP-S] kernel.src.lst > [READELF] kernel.elf.lst >=20 > PC-x86-64: ELF sections dump. >=20 > make: elftool: No such file or directory > make: *** [kernel_info] Error 1 Hi Roger, very fine. I'm happy, thanks for your testing. The compilation is successful. elftool is, at this level, more or less a visual tool to dump ELF sections = well-formatted and free from annoying text, suitable for a parsing tool. Yo= u can find the same informations in the various *.lst being generated in th= e top level directory (like "kernel.elf.lst") Your problem is very strange. I verified that elftool is stored in the tool= chain package, please check if it exists along other executables. Try to dr= y-run it in the command line for library problems, even if I am pretty sure= it does not require other than the system libc. Anyway, as a temporary hack, you can comment out elftool execution in the m= ain Makefile. Just put a comment "#" in front of its call, around lines 682= /786/798/801, beware of the tabs: old: <--tab-->@$(ELFTOOL) ... new: <--tab-->#@$(ELFTOOL) ... I will try to make available an initial version of QEMU, but please give me= a little bit of time. Really you can use a normal QEMU built with x86_64 t= arget, but you lack the IOEMU visual part. From your result, by executing a= "make postbuild", you can create a "ROM BIOS" image suitable for the emula= tor, file "kernel.rom". Please note that the x86_64 is a large work in progress, not at the same le= vel of the 32-bit counterpart. I am working on it. But you have theoretical= ly an Ada mockup system suitable for experimentation that runs in full 64-b= it mode. It should run even on real hardware, with proper support. Let me know of your progress.