ada-runtime: update to 1.1

This commit is contained in:
Johannes Kliemann 2019-07-26 13:59:00 +02:00 committed by Christian Helmuth
parent 0c20bb6ab9
commit 1bdd18a196
19 changed files with 141 additions and 248 deletions

View File

@ -106,7 +106,7 @@ $(SRC_ADA:.adb=.o): FORCE
#
ifneq ($(SRC_ADS)$(SRC_ADB),)
CUSTOM_BINDER_FLAGS ?= -n -we
CUSTOM_BINDER_FLAGS ?= -n -we -D768k
OBJECTS += b~$(TARGET).o

View File

@ -667,7 +667,6 @@ set default_test_pkgs {
test-fs_rom_update_fs
test-fs_rom_update_ram
test-fs_tool
test-gnatio
test-init
test-init_loop
test-ldso

View File

@ -6,10 +6,11 @@ ADA_RUNTIME_LIB_DIR = $(call select_from_ports,ada-runtime)/ada-runtime/src/lib
ADA_RUNTIME_COMMON_DIR = $(call select_from_ports,ada-runtime)/ada-runtime/src/common
ADA_RUNTIME_PLATFORM_DIR = $(call select_from_ports,ada-runtime)/ada-runtime/platform
INC_DIR += $(ADA_RUNTIME_DIR)
INC_DIR += $(ADA_RUNTIME_LIB_DIR)
INC_DIR += $(ADA_RUNTIME_COMMON_DIR)
INC_DIR += $(ADA_RTS_SOURCE)
INC_DIR += $(ADA_RUNTIME_DIR) \
$(ADA_RUNTIME_LIB_DIR) \
$(ADA_RUNTIME_COMMON_DIR) \
$(ADA_RTS_SOURCE) \
$(ADA_RUNTIME_PLATFORM_DIR)
# Disable inline concatenation as this requires additinal runtime support
CC_ADA_OPT += -gnatd.c

View File

@ -9,11 +9,9 @@ SRC_ADS += system.ads \
interfac.ads \
i-cexten.ads \
a-except.ads \
gnat.ads \
ada.ads \
ada_exceptions.ads
ada.ads
SRC_ADB += g-io.adb s-stalib.adb s-secsta.adb s-parame.adb i-c.adb s-arit64.adb s-stoele.adb
SRC_ADB += s-stalib.adb s-secsta.adb s-parame.adb i-c.adb s-arit64.adb s-stoele.adb s-init.adb
CUSTOM_ADA_FLAGS = --RTS=$(ADA_RTS) -c -gnatg -gnatp -gnatpg -gnatn2
# C runtime glue code
@ -21,9 +19,15 @@ SRC_CC += genode.cc
SRC_C += init.c
# Ada packages that implement runtime functionality
SRC_ADB += ss_utils.adb string_utils.adb platform.adb s-init.adb
SRC_ADS += componolit.ads \
componolit-runtime.ads \
componolit-runtime-exceptions.ads
SRC_ADB += componolit-runtime-strings.adb \
componolit-runtime-debug.adb \
componolit-runtime-platform.adb \
componolit-runtime-conversions.adb
vpath %.cc $(ADA_RUNTIME_PLATFORM_DIR)
vpath %.cc $(ADA_RUNTIME_PLATFORM_DIR)/genode
vpath s-soflin.ads $(ADA_RUNTIME_DIR)
vpath a-except.ads $(ADA_RUNTIME_DIR)
@ -34,15 +38,16 @@ vpath s-stalib.adb $(ADA_RUNTIME_DIR)
vpath s-parame.adb $(ADA_RUNTIME_DIR)
vpath a-except.adb $(ADA_RUNTIME_DIR)
vpath i-c.adb $(ADA_RUNTIME_DIR)
vpath s-arit64.adb $(ADA_RUNTIME_DIR)
vpath system.ads $(ADA_RUNTIME_DIR)
vpath s-stoele.adb $(ADA_RUNTIME_DIR)
vpath s-init.adb $(ADA_RUNTIME_DIR)
vpath componolit% $(ADA_RUNTIME_LIB_DIR)
vpath init.c $(ADA_RUNTIME_LIB_DIR)
vpath s-init.adb $(ADA_RUNTIME_COMMON_DIR)
vpath %.ads $(ADA_RTS_SOURCE)
vpath %.adb $(ADA_RTS_SOURCE)
vpath platform.% $(ADA_RUNTIME_LIB_DIR)
vpath string_utils.% $(ADA_RUNTIME_LIB_DIR)
vpath ss_utils.% $(ADA_RUNTIME_LIB_DIR)
vpath ada_exceptions.ads $(ADA_RUNTIME_LIB_DIR)
vpath init.c $(ADA_RUNTIME_LIB_DIR)
vpath s-init.adb $(ADA_RUNTIME_COMMON_DIR)
SHARED_LIB = yes

View File

@ -15,7 +15,7 @@ __gl_time_slice_val D 4
__gl_unreserve_all_interrupts B 4
__gl_wc_encoding D 1
__gnat_binder_ss_count B 4
__gnat_default_ss_pool B 4
__gnat_default_ss_pool B 8
__gnat_default_ss_size B 4
__gnat_finalize T
__gnat_finalize_library_objects D 8
@ -76,29 +76,51 @@ ada_exceptions__exception_typeA R 76
ada_exceptions__exception_typeN R 78
ada_exceptions__exception_typeRP T
ada_exceptions__exception_typeS R 820
allocate_secondary_stack T
componolit__runtime__debug_E D 2
componolit__runtime__debug__log_debug T
componolit__runtime__debug__log_debug_private T
componolit__runtime__debug__log_error T
componolit__runtime__debug__log_error_private T
componolit__runtime__debug__log_warning T
componolit__runtime__debug__log_warning_private T
componolit__runtime__exceptions_E D 2
componolit__runtime__exceptions__exception_typeA R 76
componolit__runtime__exceptions__exception_typeN R 78
componolit__runtime__exceptions__exception_typeRP T
componolit__runtime__exceptions__exception_typeS R 820
componolit__runtime__platform_E D 2
componolit__runtime__platform__raise_ada_exception T
componolit__runtime__secondary_stack_E D 2
componolit__runtime__secondary_stack__TregistryBIP T
componolit__runtime__secondary_stack___elabs T
componolit__runtime__secondary_stack__allocate_stack T
componolit__runtime__secondary_stack__c_alloc T
componolit__runtime__secondary_stack__get_mark T
componolit__runtime__secondary_stack__invalid_thread R 8
componolit__runtime__secondary_stack__markIP T
componolit__runtime__secondary_stack__null_registry B 3072
componolit__runtime__secondary_stack__registry_entryIP T
componolit__runtime__secondary_stack__s_allocate T
componolit__runtime__secondary_stack__s_mark T
componolit__runtime__secondary_stack__s_release T
componolit__runtime__secondary_stack__secondary_stack_size R 8
componolit__runtime__secondary_stack__set_mark T
componolit__runtime__strings_E D 2
componolit__runtime__strings__convert_to_ada T
componolit__runtime__strings__get_char T
componolit__runtime__strings__image T
componolit__runtime__strings__incr T
componolit__runtime__strings__length T
componolit__runtime__strings__null_pointer R 8
componolit__runtime__strings__to_address T
componolit__runtime__strings__to_pointer T
componolit_log_debug T
componolit_log_error T
componolit_log_warning T
componolit_runtime_finalize T
componolit_runtime_initialize T
componolit_runtime_raise_ada_exception T
constraint_error D 40
gnat_E D 2
gnat__io_E D 2
gnat__io__current_out D 1
gnat__io__file_typeN R 4
gnat__io__file_typeS R 16
gnat__io__get T
gnat__io__get__2 T
gnat__io__get_line T
gnat__io__new_line T
gnat__io__new_line__2 T
gnat__io__put T
gnat__io__put__2 T
gnat__io__put__3 T
gnat__io__put__4 T
gnat__io__put__5 T
gnat__io__put__6 T
gnat__io__put_line T
gnat__io__put_line__2 T
gnat__io__set_output T
gnat__io__standard_error T
gnat__io__standard_output T
interfaces_E D 2
interfaces__c_E D 2
interfaces__c__char16_arrayIP T
@ -111,45 +133,7 @@ interfaces__c__extensions__signed_128IP T
interfaces__c__nul R 1
interfaces__c__wchar_arrayIP T
interfaces__c__wide_nul R 4
log_debug T
log_error T
log_warning T
platform_E D 2
platform__log_debug T
platform__log_debug_private T
platform__log_error T
platform__log_error_private T
platform__log_warning T
platform__log_warning_private T
platform__raise_ada_exception T
put_char T
put_char_stderr T
put_int T
put_int_stderr T
raise_ada_exception T
ss_utils_E D 2
ss_utils__TregistryBIP T
ss_utils___elabs T
ss_utils__allocate_stack T
ss_utils__c_alloc T
ss_utils__get_mark T
ss_utils__invalid_thread R 8
ss_utils__markIP T
ss_utils__null_registry B 3072
ss_utils__registry_entryIP T
ss_utils__s_allocate T
ss_utils__s_mark T
ss_utils__s_release T
ss_utils__secondary_stack_size R 8
ss_utils__set_mark T
string_utils_E D 2
string_utils__convert_to_ada T
string_utils__get_char T
string_utils__incr T
string_utils__length T
string_utils__null_pointer R 8
string_utils__to_address T
string_utils__to_pointer T
system__aamp R 1
system__always_compatible_rep R 1
system__arith_64__add_with_ovflo_check T
@ -189,6 +173,7 @@ system__parameters__c_malloc_linkname R 16
system__parameters__runtime_default_sec_stack_size R 4
system__preallocated_stacks R 1
system__secondary_stack_E D 2
system__secondary_stack___elabb T
system__secondary_stack___elabs T
system__secondary_stack__mark_idIP T
system__secondary_stack__memoryIP T

View File

@ -1 +1 @@
4b6479e0bcbb8e5fc3210c20bea97045ce2f0002
db898737bfc7439e637065a8f975097aad4741dc

View File

@ -3,9 +3,9 @@ VERSION := 0
DOWNLOADS := ada-runtime.git ada-runtime-alis.git
URL(ada-runtime) := https://github.com/Componolit/ada-runtime.git
REV(ada-runtime) := 4660d7becf9d7112ae371fb678253d9b5798e3d1
REV(ada-runtime) := e09f9981ad7e02407b1710b80b701384ef5c32f7
DIR(ada-runtime) := ada-runtime
URL(ada-runtime-alis) := https://github.com/Componolit/ada-runtime-alis.git
REV(ada-runtime-alis) := d548a88f1e17ca1cdcf8f48238faf2563732cdd8
REV(ada-runtime-alis) := a679a4097b416360efa9b37a4184479ce5adbae0
DIR(ada-runtime-alis) := ada-runtime-alis

View File

@ -4,43 +4,48 @@ ADA_ALI_DIR := $(call port_dir,$(GENODE_DIR)/repos/libports/ports/ada-runtime)/a
MIRROR_FROM_ADA_RT_DIR := \
$(addprefix ada-runtime/contrib/gcc-8.3.0/,\
ada.ads \
system.ads \
s-stoele.ads \
a-unccon.ads \
gnat.ads \
g-io.ads \
interfac.ads \
i-cexten.ads \
s-arit64.ads \
s-maccod.ads \
s-unstyp.ads \
) \
$(addprefix ada-runtime/src/minimal/,\
s-stalib.ads \
a-except.ads \
s-secsta.ads \
s-parame.ads \
s-soflin.ads \
s-exctab.ads \
i-c.ads \
system.ads \
s-arit64.ads \
s-exctab.ads \
s-parame.ads \
s-secsta.ads \
s-soflin.ads \
s-stalib.ads \
s-stoele.ads \
) \
$(addprefix ada-runtime/src/lib/,\
ss_utils.ads \
string_utils.ads \
platform.ads \
ada_exceptions.ads \
ada_exceptions.h \
)
componolit.ads \
componolit-runtime.ads \
componolit-runtime-conversions.ads \
componolit-runtime-debug.ads \
componolit-runtime-exceptions.ads \
componolit-runtime-platform.ads \
componolit-runtime-strings.ads \
) \
ada-runtime/src/common/s-init.ads
MIRROR_FROM_ADA_ALI_DIR := \
a-except.ali \
ada.ali \
ada_exceptions.ali \
a-except.ali \
g-io.ali \
gnat.ali \
interfac.ali \
componolit-runtime-conversions.ali \
componolit-runtime-debug.ali \
componolit-runtime-exceptions.ali \
componolit-runtime-platform.ali \
componolit-runtime-strings.ali \
componolit-runtime.ali \
componolit.ali \
i-c.ali \
i-cexten.ali \
platform.ali \
interfac.ali \
s-arit64.ali \
s-init.ali \
s-parame.ali \
@ -49,9 +54,7 @@ MIRROR_FROM_ADA_ALI_DIR := \
s-stalib.ali \
s-stoele.ali \
s-unstyp.ali \
ss_utils.ali \
string_utils.ali \
system.ali \
system.ali
content: $(MIRROR_FROM_ADA_RT_DIR) $(MIRROR_FROM_ADA_ALI_DIR)

View File

@ -1 +0,0 @@
Test for the GNAT.IO support of the Ada runtime.

View File

@ -1,4 +0,0 @@
_/src/init
_/src/test-gnatio
_/src/spark
_/src/log_terminal

View File

@ -1 +0,0 @@
2019-07-08 9b8a04ad6a71621edd81e6437061214a1fa9715d

View File

@ -1,41 +0,0 @@
<runtime ram="32M" caps="1000" binary="init">
<events>
<timeout meaning="failed" sec="20" />
<log meaning="succeeded">GNAT.IO test program started successfully.</log>
</events>
<content>
<rom label="ld.lib.so"/>
<rom label="spark.lib.so"/>
<rom label="test-gnatio"/>
<rom label="log_terminal"/>
</content>
<config>
<parent-provides>
<service name="LOG"/>
<service name="PD"/>
<service name="CPU"/>
<service name="ROM"/>
</parent-provides>
<default-route>
<any-service> <parent/> </any-service>
</default-route>
<default caps="100"/>
<start name="terminal">
<binary name="log_terminal"/>
<resource name="RAM" quantum="2M"/>
<provides><service name="Terminal"/></provides>
</start>
<start name="test-gnatio">
<resource name="RAM" quantum="2M"/>
<route>
<service name="Terminal"> <child name="terminal"/> </service>
<any-service> <parent/> <any-child/> </any-service>
</route>
</start>
</config>
</runtime>

View File

@ -3,36 +3,53 @@ ADA_RT_DIR := $(call port_dir,$(GENODE_DIR)/repos/libports/ports/ada-runtime)
MIRROR_FROM_ADA_RT_DIR := \
$(addprefix ada-runtime/contrib/gcc-8.3.0/,\
ada.ads \
system.ads \
interfac.ads \
s-unstyp.ads \
s-stoele.ads \
s-stoele.adb \
a-unccon.ads \
interfac.ads \
i-cexten.ads \
s-maccod.ads \
s-unstyp.ads \
) \
$(addprefix ada-runtime/src/minimal/,\
a-except.ads \
a-except.adb \
i-c.ads \
i-c.adb \
system.ads \
s-arit64.ads \
s-arit64.adb \
gnat.ads \
g-io.ads \
g-io.adb \
i-cexten.ads \
s-exctab.ads \
s-exctab.adb \
s-parame.ads \
s-parame.adb \
s-secsta.ads \
s-secsta.adb \
s-soflin.ads \
s-soflin.adb \
s-stalib.ads \
s-stalib.adb \
s-stoele.ads \
s-stoele.adb \
) \
$(addprefix ada-runtime/src/lib/,\
ada_exceptions.ads \
ada_exceptions.h \
argv.c \
exit.c \
componolit.ads \
componolit-runtime.ads \
componolit-runtime-conversions.ads \
componolit-runtime-conversions.adb \
componolit-runtime-debug.ads \
componolit-runtime-debug.adb \
componolit-runtime-exceptions.ads \
componolit-runtime-platform.ads \
componolit-runtime-platform.adb \
componolit-runtime-strings.ads \
componolit-runtime-strings.adb \
init.c \
platform.ads \
platform.adb \
ss_utils.ads \
ss_utils.adb \
string_utils.ads \
string_utils.adb \
) \
ada-runtime/src/common \
ada-runtime/src/minimal \
ada-runtime/platform/genode.cc \
ada-runtime/platform/unwind.h
ada-runtime/src/common/s-init.ads \
ada-runtime/src/common/s-init.adb \
ada-runtime/platform/genode/genode.cc \
ada-runtime/platform/componolit_runtime.h \
ada-runtime/platform/ada_exceptions.h \
ada-runtime/platform/gnat_helpers.h
content: $(MIRROR_FROM_ADA_RT_DIR)

View File

@ -1,3 +0,0 @@
SRC_DIR = src/test/gnatio
include $(GENODE_DIR)/repos/base/recipes/src/content.inc

View File

@ -1 +0,0 @@
2019-07-08 39623ef76139921c1ece41ec937b023944a5139b

View File

@ -1,3 +0,0 @@
base
spark
terminal_session

View File

@ -1,36 +0,0 @@
--
-- \brief GNAT.IO test program
-- \author Alexander Senier
-- \date 2019-01-03
--
with GNAT.IO;
procedure Main is
use GNAT.IO;
begin
Put (Standard_Output, "Hell");
Put (Standard_Output, 'o');
Put_Line (Standard_Output, " World!");
New_Line (Standard_Output);
Put (Standard_Output, 98765432);
New_Line;
Put ("Integer: ");
Put (123456);
New_Line;
Put_Line ("Character: ");
Put ('X');
Put ('Y');
Put ('Z');
New_Line;
Put ("New_Line with spacing:");
New_Line (Spacing => 5);
Set_Output (Standard_Error);
Put (11223344);
New_Line;
Put_Line ("GNAT.IO test program started successfully.");
end Main;

View File

@ -1,23 +0,0 @@
/*
* \brief Wrapper for Ada main program using Terminal session
* \author Alexander Senier
* \date 2019-01-03
*/
/* Genode includes */
#include <base/component.h>
#include <terminal_session/connection.h>
extern "C" void _ada_main(void);
/* Required in runtime */
Terminal::Connection *__genode_terminal;
void Component::construct(Genode::Env &env)
{
Terminal::Connection _terminal (env, "Ada");
__genode_terminal = &_terminal;
_ada_main();
env.parent().exit(0);
}

View File

@ -1,4 +0,0 @@
TARGET = test-gnatio
SRC_ADB = main.adb
SRC_CC = startup.cc
LIBS = base spark