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:a05:620a:806:: with SMTP id s6mr13566928qks.68.1622578682501; Tue, 01 Jun 2021 13:18:02 -0700 (PDT) X-Received: by 2002:a25:cb48:: with SMTP id b69mr23797751ybg.173.1622578682274; Tue, 01 Jun 2021 13:18:02 -0700 (PDT) Path: eternal-september.org!reader02.eternal-september.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!news-out.netnews.com!news.alt.net!fdc3.netnews.com!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 1 Jun 2021 13:18:02 -0700 (PDT) Injection-Info: google-groups.googlegroups.com; posting-host=79.13.125.26; posting-account=JRF_-woAAABYlsAtkCl_CUxBuQy2SsaQ NNTP-Posting-Host: 79.13.125.26 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <6d842555-907d-4f39-9518-5f9b8a7df300n@googlegroups.com> Subject: ANN: SweetAda 0.7 released From: Gabriele Galeotti Injection-Date: Tue, 01 Jun 2021 20:18:02 +0000 Content-Type: text/plain; charset="UTF-8" X-Received-Bytes: 4749 Xref: reader02.eternal-september.org comp.lang.ada:62084 List-Id: Hi all. I've just released SweetAda 0.7. SweetAda is a lightweight development framework to create Ada systems on a wide range of machines. Please refer to https://www.sweetada.org. Downloads available @ https://sourceforge.net/projects/sweetada. Release notes ------------- - updated targets in master Makefile ("all" was tagged default instead of "help"); the targets "kernel_info" and "kernel_libinfo" are now exposed (kernel_libinfo produces listings of library objects even if the kernel build is not successful) - added implicit dependencies for console unit - elftool will emit spaces instead of TABs when performing an ELF section dump, this will be noted in the next toolchain release - the linker script filename can now be declared in the platform configuration.in by specifying "LD_SCRIPT := ", otherwise it takes a default "linker.lds" - the C library now implements Ada stubs for malloc/free/calloc/realloc, so C code can call these Ada subprograms via stdlib wrappers; this has also the benefit of resolve references to malloc() when secondary stack tries to return heavy (i.e., unconstrained) objects, but be sure to add "USE_LIBGCC := Y" and "USE_CLIBRARY := Y" to the configuration.in file, either the generic one in the top-level directory, or the platform-dependent one - SFP RTS: a-except: Raise_Exception calls Last_Chance_Handler - SFP RTS: added Ada.Assertions (for pragma Assert you need to turn on -gnata in the "Ada Run-Time Checks switches" section of Makefile.tc.in) - core/bits: added BITZERO/BITONE/BITL/BITH/BITOFF/BITON declarations - core/console: Print (Boolean), emits "T" or "F" - core/llutils: HexDigit_To_U8 uses a case instead of longer ifs - modules/definitions: added a few definitions - added various Volatile_Full_Access aspects here and there - corrected some section wildcards in linker scripts for ARM platforms - x86_64 lacks some low-level CPU subprograms (but thay are empty anyway) and so the build could fail with unresolved objects, added - new libutils/libopenocd.tcl file, useful for small OpenOCD function helpers - Digi Connect ME (NET+ARM NS7520): some more register definitions; adopted a Tcl script as front-end to OpenOCD - Synergy S5D9: OpenOCD cfg file renamed to standard "openocd.cfg" - Synergy S5D9: more register definitions, SCI almost completely parameterized - platform Spartan3E renamed as Spartan3E-SK - new target: Avnet Xilinx Spartan-3A Evaluation Kit (Spartan3A-EK, MicroBlaze v7.00.b), only able to blink a LED; the programmer.tcl front-end will download the bitstream by directly interfacing with the on-board Cypress PSoC via USB protocol (no external tools needed in a Linux environment) - targets involving OpenOCD (DigiConnectME, FRDM-KL46Z, HiFive1, MSP432P401R, STM32F769I, Synergy-S5D9) now should specify in the platform configuration.in the OpenOCD prefix (in Windows is the installation directory, i.e., that which is the parent of bin/, etc); the default is the *nix path "/usr/local" - in the top-level directory there are the two files .cproject and .project for Eclipse CDT; no big deal since you have absolutely no Ada support, but if you import the project and configure the *.adb and *.ads files as textual source files, you could do a make build cycle, with error signalling (clicking on the error shown in console should redirect you to the offending source line) - typos, cosmetics and minor adjustments Quick notes ----------- As usual, download the three packages core, RTS and LibGCC (since many changes are system-wide), and please save your work before overwrite the filesystem. G