gnat 4.9.2 on arm with rtems
Sebastian Huber
sebastian.huber@embedded-brains.de
Thu Oct 29 10:46:00 GMT 2015
On 28/10/15 15:22, Jan Sommer wrote:
> I got it working. The Set function was always overwriting the address of the previous ATCB, so STPO.Self was always returning the ATCB of the task created last.
> It turns out that I was building rtems without the --enable-ada option. The option is not mentioned in configure --help and gnat still builds fine.
>
> Would it be possible to not have the symbol rtems_task_self if the --enable-ada switch is off? Then linking gnat should fail with an undefined reference.
> I don't know too much of the rtems internals, but maybe it is as easy as adding ifdefs around the SCORE_EXTERN void *rtems_ada_self in score/threadimpl.h?
Since you work on this area, this task variable should go way, since its
broken on SMP systems. I would replace it
o with functions, e.g. rtems_ada_get_self() and
rtems_ada_set_self(), or
o POSIX keys, or
o thread-local storage.
POSIX keys and thread-local storage would make the --enable-ada option
superfluous. Thread-local storage is more efficient. It is well
supported on ARM, PowerPC and SPARC on RTEMS.
>
> @Joel: What shall I do about the changes I made to gcc/ada/s-osinte-rtems.ads and newlib/libc/sys/rtems/sys/cpuset.h ? Just send the patches to you or should I push them to the respective lists with you CC?
Please send them as patches to the corresponding lists and CC
devel@rtems.org.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the Gcc
mailing list