Add __tls_get_addr() for all targets to crt0. This is not only used on
ARM. In particular, it is used on RISC-V. This helps to adequately
support the GCC libgomp.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de
In order to enable proper detection of thread-local storage availability
we have to provide some symbols on ARM.
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
The dummy crt0.c provided by the RTEMS target provides stubs of
symbols which would normally be provided by RTEMS. This patch adds
stubs for posix_memalign() as well as the synchronization methods
prototyped in <sys/lock.h>.
* libc/sys/rtems/sys/queue.h: New file.
* libc/include/sys/signal.h: Reflect renumbering of signals to
fit into 32-bit mask.
* libc/include/sys/unistd.h: Add fdatasync() prototype.
* libc/sys/rtems/crt0.c: Add more symbols which may be implicitly
required. In particular, add the reentrant variants of libc calls.
* libc/sys/rtems/sys/dirent.h: Add scandir() prototype.
* libc/sys/rtems/include/limits.h, libc/sys/rtems/sys/param.h,
libc/sys/rtems/sys/syslimits.h: Update to be in sync with what
constants are defined in each file in the shared versions in
libc/include.
* libc/sys/rtems/crt0.c: Define extra symbols on SH and HP-PA to
autoconf can link programs.
* libc/include/machine/types.h: Explicitly specify signed on
intXX_t types to ensure they are signed.
* libc/sys/rtems/crt0.c (rtems_gxx_mutex_init): Dummy
routine to allow autoconf to determine that building executables
for rtems works.
(rtems_gxx_mutex_lock, rtems_gxx_mutex_unlock): Ditto.
(rtems_gxx_mutex_once): Ditto.
* libc/sys/rtems/crt0.c: Add stubs for functions implicitly
referenced by code generated by gcc 2.8.1.
(a29k): Add stubs for V_SPILL, V_FILL, V_BSD_OS, V_EPI_OS to
satisfy gcc.