From a0005b2e7b9186eb071bb44ad5d80559bac82222 Mon Sep 17 00:00:00 2001 From: Jose Ruiz Date: Wed, 20 Aug 2008 14:36:24 +0200 Subject: [PATCH] errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno to get access to the per-task errno variable. 2008-08-20 Jose Ruiz * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno to get access to the per-task errno variable. (__set_errno for MaRTE): Do not redefine this function here since it is already defined in MaRTE. From-SVN: r139284 --- gcc/ada/errno.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gcc/ada/errno.c b/gcc/ada/errno.c index 93981d60a8f..1f3497dad9e 100644 --- a/gcc/ada/errno.c +++ b/gcc/ada/errno.c @@ -6,7 +6,7 @@ * * * C Implementation File * * * - * Copyright (C) 1992-2005, Free Software Foundation, Inc. * + * Copyright (C) 1992-2008, Free Software Foundation, Inc. * * * * GNAT is free software; you can redistribute it and/or modify it under * * terms of the GNU General Public License as published by the Free Soft- * @@ -41,6 +41,21 @@ #define _THREAD_SAFE #define _SGI_MP_SOURCE +#ifdef MaRTE + +/* Function that returns a pointer to the per-task errno variable */ +extern int *pthread_errno (void); + +int +__get_errno (void) +{ + return *pthread_errno (); +} + +/* Function __set_errno is already defined in package MaRTE.POSIX_Pthread */ + +#else + #include int __get_errno(void) @@ -53,3 +68,5 @@ __set_errno(int err) { errno = err; } + +#endif -- 2.30.2