On Thu, Jan 31, 2019 at 10:37 AM Sebastian Huber <sebastian.hu...@embedded-brains.de> wrote: > > On 31/01/2019 10:29, Richard Biener wrote: > > On Wed, Jan 30, 2019 at 3:46 PM Sebastian Huber > > <sebastian.hu...@embedded-brains.de> wrote: > >> Hello, > >> > >> we would like to use libgomp in a quite constraint environment. In this > >> environment using for example the C locale support, errno, malloc(), > >> realloc(), free(), and abort() are problematic. One option would be to > >> introduce a new header file "config/*/platform.h" which is included in > >> libgomp.h right after the #include "config.h". A platform could then do > >> something like this: > >> > >> #define malloc(size) platform_malloc(size) > >> ... > >> > >> In env.c there are some uses of strto*() like this: > >> > >> errno = 0; > >> stride = strtol (env, &env, 10); > >> if (errno) > >> return false; > >> > >> I would like to introduce a new header file "strto.h" which defines > >> something like this: > >> > >> static inline char * > >> gomp_strtol (char *s, long *value) > >> { > >> char *end; > >> > >> errno = 0; > >> *value = strtol (s, &end, 10); > >> if (errno != 0) > >> return NULL; > >> > >> return end; > >> } > >> > >> Then use: > >> > >> env = gomp_strtol (env, &stride); > >> if (env == NULL) > >> return false; > >> > >> A platform could then provide its own "config/*/strto.h" with an > >> alternative implementation. > >> > >> Would this be acceptable after the GCC 9 release? > > I guess you could look at what nvptx and HSA (and GCN on some branch) > > do here? > > My problem is that our real-time operating system (RTEMS) is somewhere > in between a full blown Linux and the offload hardware. I would like to > get rid of stuff which depends on the Newlib struct _reent since this > pulls in a lot of dependencies. The heavy weight functions are just used > for the initialization (env.c) and error reporting. Containing the heap > allocation functions helps to control the memory used by OpenMP > computations.
I suppose supplying a RTEMS specific noop-stub would work here and that's close enough to what the offload stuff does. But I'm not very familiar with this so sorry if misleading you. Richard. > -- > 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.hu...@embedded-brains.de > PGP : Public key available on request. > > Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG. >