diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-20 16:12:17 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-08-20 16:12:17 +0000 |
commit | b5c96e71217948d4d86d803758d36c962c390373 (patch) | |
tree | 4bc8e13b248bd8fe9e1a6b6e31e87bc0233064ca /gcc/ada | |
parent | 4b5a1388391bebfcd844c519061116146494c27f (diff) | |
download | gcc-b5c96e71217948d4d86d803758d36c962c390373.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139332 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-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 1f3497dad9e..811cbdbbf8d 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 |