diff options
author | Jose Ruiz <ruiz@adacore.com> | 2008-08-20 18:12:17 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-08-20 18:12:17 +0200 |
commit | 2bb767155a3f1831a5a9170a6cc47fec23219ee1 (patch) | |
tree | 4bc8e13b248bd8fe9e1a6b6e31e87bc0233064ca /gcc | |
parent | 2dd8670af1e1863acff088dca4c888e33b16ba16 (diff) | |
download | gcc-2bb767155a3f1831a5a9170a6cc47fec23219ee1.zip gcc-2bb767155a3f1831a5a9170a6cc47fec23219ee1.tar.gz gcc-2bb767155a3f1831a5a9170a6cc47fec23219ee1.tar.bz2 |
errno.c (__get_errno, [...]): Transform then into weak symbols so we use the version provided by MaRTE when...
2008-08-20 Jose Ruiz <ruiz@adacore.com>
* errno.c (__get_errno, __set_errno for MaRTE): Transform then into
weak symbols so we use the version provided by MaRTE when available.
From-SVN: r139332
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/errno.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/gcc/ada/errno.c b/gcc/ada/errno.c index 1f3497d..811cbdb 100644 --- a/gcc/ada/errno.c +++ b/gcc/ada/errno.c @@ -43,18 +43,15 @@ #ifdef MaRTE -/* Function that returns a pointer to the per-task errno variable */ -extern int *pthread_errno (void); +/* MaRTE OS provides its own implementation of errno related functionality. We + want to ensure the use of the MaRTE version for tasking programs (the MaRTE + library will not be linked if no tasking constructs are used), so we use the + weak symbols mechanism to use the MaRTE version whenever is available. */ -int -__get_errno (void) -{ - return *pthread_errno (); -} - -/* Function __set_errno is already defined in package MaRTE.POSIX_Pthread */ +#pragma weak __get_errno +#pragma weak __set_errno -#else +#endif #include <errno.h> int @@ -68,5 +65,3 @@ __set_errno(int err) { errno = err; } - -#endif |