help / color / mirror / Atom feed
* ANN: SweetAda 0.7 released
@ 2021-06-01 20:18 Gabriele Galeotti
  0 siblings, 0 replies; only message in thread
From: Gabriele Galeotti @ 2021-06-01 20:18 UTC (permalink / raw)

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

Downloads available @

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
  by specifying "LD_SCRIPT := <linker_script_filename>", otherwise it takes a default

- 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 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

- 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 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.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-01 20:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-01 20:18 ANN: SweetAda 0.7 released Gabriele Galeotti


This inbox may be cloned and mirrored by anyone:

	git clone --mirror

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 comp.lang.ada comp.lang.ada/ \
	public-inbox-index comp.lang.ada

Example config snippet for mirrors.

AGPL code for this site: git clone http://7fh6tueqddpjyxjmgtdiueylzoqt6pt7hec3pukyptlmohoowvhde4yd.onion/public-inbox.git