Вы можете в Google, например, "ada gnarl" и найдите довольно подробную информацию.
Это часть RTS, которая обрабатывает задачи, поэтому, в общем, если ваша программа не использует задачи, ей не понадобится libgnarl.
Исторически сложилось так, что он был разработан как совместный проект команды NYU GNAT и команды PART из Университета штата Флорида: из отчета FSU в цифровой библиотеке ACM ,
Разработка GNARL - это совместная работа проекта POSIX / Ada Real-Time (PART) Университета штата Флорида и команды разработчиков NYAT GNAT. Целью проекта PART является продвижение разработки и стандартизации привязок языка Ada к стандартам IEEE POSIX, семейству прикладных программных интерфейсов для служб операционной системы. Главной задачей проекта PART было согласование модели задач Ada с предлагаемыми стандартными сервисами потоков POSIX (Pthreads).
Встроенные RTS от AdaCore (по крайней мере, ARM), по-видимому, не сохраняют это различие: по крайней мере в одном, libgnarl.a
содержит только empty.o
! Тем не менее, AdaCore продолжил подход, включающий академические разработки RTS в свои встроенные RTS, см. s-bb.ads
(bb
=> Bare Board):
-- Copyright (C) 1999-2002 Universidad Politecnica de Madrid --
-- Copyright (C) 2003-2004 The European Space Agency --
-- Copyright (C) 2003-2018, AdaCore --