From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=AC_FROM_MANY_DOTS,BAYES_00, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.5-pre1 X-Received: by 2002:a0c:8148:: with SMTP id 66mr18405443qvc.55.1617725393106; Tue, 06 Apr 2021 09:09:53 -0700 (PDT) X-Received: by 2002:a25:74ca:: with SMTP id p193mr44399436ybc.405.1617725392751; Tue, 06 Apr 2021 09:09:52 -0700 (PDT) Path: eternal-september.org!reader02.eternal-september.org!news.mb-net.net!open-news-network.org!weretis.net!feeder8.news.weretis.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: Tue, 6 Apr 2021 09:09:52 -0700 (PDT) Injection-Info: google-groups.googlegroups.com; posting-host=79.43.124.100; posting-account=JRF_-woAAABYlsAtkCl_CUxBuQy2SsaQ NNTP-Posting-Host: 79.43.124.100 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <4a98bcdd-d466-4f5f-98d5-5d8cad4bbaf6n@googlegroups.com> Subject: SweetAda 0.3 released From: Gabriele Galeotti Injection-Date: Tue, 06 Apr 2021 16:09:53 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader02.eternal-september.org comp.lang.ada:61738 List-Id: Hi all. I've just released SweetAda 0.3. SweetAda is lightweight development framework to create Ada systems on a wide range of machines. Please refer to https://www.sweetada.org. First of all, please re-download toolchain packages; although timestamps do not change, they contain updated versions of GCC/GNAT wrappers which are essentials for a properly working build system, which should have reached a stabilization point, and it seems rather efficient and free from major issues. Release notes ------------- - due to changes in RTSes, switch -gnatp (pragma Suppress (All_Checks)) is again commented out (Makefile.tc.in), to bring in exception processing; re-enable it if the final object is too big for your setup - initial implementation of a secondary stack in the SFP RTS (not fully operational yet) - strict compiler conformance, -gnatE and -gnato are defaults in Makefile.tc.in - suppress No_Elaboration_Code in gnat.adc - console.ali was not dragged in under GPRbuild mode and is missing in some configurations, which could lead to undefined references - build.gpr/configure.gpr now correctly process implicit .ali units - configure.ads (auto-generated from configuration.in) is pragma Pure - a kernel link phase is performed if linker script changed - Makefile now has two more targets: "session-start" and "session-end"; like "run" and "debug" targets, they are associated with shell commands that you can define in the platform configuration.in and can be useful for starting and ending JTAG servers, remote communication, and so on; these targets have nothing special, the names are only placeholders and their purposes are completely defined by the shell commands carried on; see an example in the new platform FRDM-KL46Z, where the commands respectively define an OpenOCD server startup and shutdown action - Makefile.tc.in could specify -gsplit-dwarf; thus you can find *.dwo DWARF files in the object directory - still more Makefiles tweaks: now there should be no problem building in GPRbuild mode; furthermore, "make createkernelcfg" forces a distclean - menu-dialog.sh is standardized and behaves like menu.[bat|sh], so there are now separate items "createkernelcfg" and "configure" (previosuly there was a single "configure" item which executed them sequentially) - elftool has a new command switch to find a symbol value: elftool -c findsymbol= which returns the symbol value; it is used, e.g., in the FRDM-KL46Z platform to automatically find the _start address in the executable image and instruct OpenOCD to run the target with a properly resume address; see an example as outlined in .../platforms/FRDM-KL46Z/runopenocd.tcl - mbr can read other partitions beyond the first - mbr partition read could cause a misaligned access with some CPUs, so an assignemnt is replaced with a memory copy - Dreamcast code runs on a real device, not just in the GXemul emulator; this requires: - a HIT-0400 "BroadBand Adapter" Ethernet module - a CDI CD-ROM burned with "Dreamcast CDI Burner" https://alex-free.github.io/dcdib/ - a dc-tool-ip utility http://napalm-x.thegypsy.com/adk/dc/dcload-ip/index.html (the dc-tool-ip utility will be soon replaced by a Tcl script) - MicroBlaze has now udivsi3 and umodsi3 LibGCC assembler routines - MemecFX12 and Spartan3E platforms now have Tcl scripts to build, download and execute SweetAda kernel - new target: FRDM-KL46Z Freescale/NXP ARM-CortexM0 board (a.k.a. "Freedom"), only able to blink a LED (needs OpenOCD to communicate with the target from inside SweetAda) - FS-UAE platform renamed as Amiga-FS-UAE - typos, cosmetics and minor adjustments Quick notes ----------- As usual, download the three packages core, RTS and LibGGC (since many changes are system-wide), and please save your work before overwrite the filesystem. G