comp.lang.ada
 help / color / mirror / Atom feed
From: gabriele.galeotti.xyz@gmail.com
Subject: Re: SweetAda 0.1 released
Date: Thu, 2 Jul 2020 04:04:54 -0700 (PDT)	[thread overview]
Message-ID: <011aef92-84e3-47e5-a558-a8c2c6504161o@googlegroups.com> (raw)
In-Reply-To: <126727e4-3108-46cd-acc6-e42dbdb9dd6bo@googlegroups.com>

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 wrote:
> >
> > 
> > Inside the sweetada source package, edit the menu.sh file.
> > There are some platform choices. Comment out all the choices and write:
> > PLATFORM=PC-x86-64 ; SUBPLATFORM=QEMU-ROM
> > 
> > Run menu.sh with "./menu.sh". It should end up compiling without errors.
> > 
> 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:       
> OBJCOPY SWITCHES:  --output-target=binary --gap-fill=0x00
> OBJDUMP SWITCHES:  
> RTS:              ZFP
> PROFILE:          ZFP
> BUILD MODE:       MAKEFILE
> 
> PC-x86-64: start kernel build.
> 
> [GNATMAKE]   abort_library.adb
> ...
> 
> 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
> 
> PC-x86-64: ELF sections dump.
> 
> make: elftool: No such file or directory
> make: *** [kernel_info] Error 1
> 
> PC-x86-64: start kernel build.
> 
> [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
> 
> PC-x86-64: ELF sections dump.
> 
> 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. You can find the same informations in the various *.lst being generated in the top level directory (like "kernel.elf.lst")

Your problem is very strange. I verified that elftool is stored in the toolchain package, please check if it exists along other executables. Try to dry-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 main 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 target, 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 emulator, file "kernel.rom".

Please note that the x86_64 is a large work in progress, not at the same level of the 32-bit counterpart. I am working on it. But you have theoretically an Ada mockup system suitable for experimentation that runs in full 64-bit mode. It should run even on real hardware, with proper support.

Let me know of your progress.

  reply	other threads:[~2020-07-02 11:04 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-30 16:34 SweetAda 0.1 released gabriele.galeotti.xyz
2020-07-01  9:32 ` Fabien Chouteau
2020-07-01 11:06   ` gabriele.galeotti.xyz
2020-07-01 12:19     ` Fabien Chouteau
2020-07-01 11:01 ` Stéphane Rivière
2020-07-01 11:24   ` gabriele.galeotti.xyz
2020-07-01 16:56     ` Stéphane Rivière
2020-07-01 18:04       ` gabriele.galeotti.xyz
2020-07-02 14:51       ` gabriele.galeotti.xyz
2020-07-03  4:12         ` Stéphane Rivière
2020-07-03 10:06           ` gabriele.galeotti.xyz
2020-07-07  8:44             ` Stéphane Rivière
2020-07-07  9:25               ` gabriele.galeotti.xyz
2020-07-07 10:47                 ` Stéphane Rivière
2020-07-07 16:28                 ` Stéphane Rivière
2020-07-07 16:50                   ` gabriele.galeotti.xyz
2020-07-07 18:25                     ` Stéphane Rivière
2020-07-01 15:00 ` Roger
2020-07-01 15:30   ` Roger
2020-07-01 15:47     ` gabriele.galeotti.xyz
2020-07-01 15:37   ` gabriele.galeotti.xyz
2020-07-02  4:21     ` Roger
2020-07-02  4:37       ` Roger
2020-07-02  4:47     ` Roger
2020-07-02 11:04       ` gabriele.galeotti.xyz [this message]
2020-07-02 13:03         ` Roger
2020-07-02 15:26           ` gabriele.galeotti.xyz
2020-07-04  0:30             ` Roger
2020-07-04 15:59               ` gabriele.galeotti.xyz
2020-07-05  2:15                 ` Roger
2020-07-05 21:41                   ` gabriele.galeotti.xyz
2020-07-06  3:03                     ` Roger
2020-07-06  8:36                       ` gabriele.galeotti.xyz
2020-07-06 11:30                         ` Roger
2020-07-06 15:04                           ` gabriele.galeotti.xyz
2020-07-06 16:13                           ` gabriele.galeotti.xyz
2020-07-07  0:53                             ` Roger
2020-07-07  7:20                               ` Roger
2020-07-07  8:13                                 ` gabriele.galeotti.xyz
2020-07-07 11:37                                   ` Roger
2020-07-09  6:54                                   ` Roger
2020-07-09 19:50                                     ` gabriele.galeotti.xyz
2020-07-10  0:24                                       ` Roger
2020-07-10  6:44                                         ` Roger
2020-07-11 10:15                                           ` gabriele.galeotti.xyz
2020-07-11 16:18                                           ` gabriele.galeotti.xyz
2020-07-12  2:45                                             ` Roger
2020-07-12  9:59                                               ` gabriele.galeotti.xyz
2020-07-13  6:29                                                 ` Roger
2020-07-13 10:07                                                   ` gabriele.galeotti.xyz
2020-07-13 12:03                                                     ` Roger
2020-07-13 12:18                                                       ` gabriele.galeotti.xyz
2020-07-14 16:53                                                       ` gabriele.galeotti.xyz
2020-07-15  7:52                                                         ` Roger
2020-07-16 11:09                                                           ` gabriele.galeotti.xyz
2020-07-16 11:35                                                             ` Roger
2020-07-16 11:58                                                               ` Roger
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox