From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24078 invoked by alias); 23 Nov 2015 22:15:45 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 24063 invoked by uid 89); 23 Nov 2015 22:15:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.8 required=5.0 tests=AWL,BAYES_50,KAM_ASCII_DIVIDERS,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: aries.uberspace.de Received: from aries.uberspace.de (HELO aries.uberspace.de) (95.143.172.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 23 Nov 2015 22:15:41 +0000 Received: (qmail 31436 invoked from network); 23 Nov 2015 22:15:37 -0000 Received: from localhost (HELO kubuntu.localnet) (127.0.0.1) by aries.uberspace.de with SMTP; 23 Nov 2015 22:15:37 -0000 From: Jan Sommer To: gcc-patches@gcc.gnu.org, devel@rtems.org Subject: [PATCH] Fix declaration of pthread-structs in s-osinte-rtems.ads (ada/68169) Date: Mon, 23 Nov 2015 22:21:00 -0000 Message-ID: <3667951.xxJfb3I2z2@kubuntu> User-Agent: KMail/5.0.2 (Linux/4.2.0-18-generic; KDE/5.15.0; x86_64; ; ) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart131694139.1z3j1Vu4MS" Content-Transfer-Encoding: 7Bit X-IsSubscribed: yes X-SW-Source: 2015-11/txt/msg02802.txt.bz2 This is a multi-part message in MIME format. --nextPart131694139.1z3j1Vu4MS Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Content-length: 194 Just noticed that I forgot to crosspost this mail to the rtems-devel list. If someone with commit rights could check and push the patches we might get it into the next release. Cheers, Jan --nextPart131694139.1z3j1Vu4MS Content-Type: message/rfc822 Content-Disposition: inline; filename="Weitergeleitete Nachricht" Content-Description: Jan Sommer : [PATCH] Fix declaration of pthread-structs in s-osinte-rtems.ads (ada/68169) Content-length: 21380 Return-Path: Delivered-To: jsom@posteo.de Received: from proxy01.posteo.de ([127.0.0.1]) by dovecot02.posteo.local (Dovecot) with LMTP id ln9DB6bjTFY6SwAAEN9ryQ for ; Wed, 18 Nov 2015 21:51:19 +0100 Received: from proxy01.posteo.de ([127.0.0.1]) by proxy01.posteo.de (Dovecot) with LMTP id lrxQLLbiTFYvOAIAKZGY6Q ; Wed, 18 Nov 2015 21:51:19 +0100 Received: from mx02.posteo.de (mx02.posteo.local [10.125.125.165]) by proxy01.posteo.de (Postfix) with ESMTPS id 3p1GWq3CJmz2ybk for ; Wed, 18 Nov 2015 21:51:19 +0100 (CET) Received: from localhost (localhost.localdomain [127.0.0.1]) by mx02.posteo.de (Postfix) with ESMTP id 6456425AF52E for ; Wed, 18 Nov 2015 21:51:19 +0100 (CET) X-Virus-Scanned: amavisd-new at posteo.de X-Spam-Flag: NO X-Spam-Score: -1.119 X-Spam-Status: No, score=-1.119 required=6.01 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no Authentication-Results: amavis1.posteo.de (amavisd-new); domainkeys=pass (1024-bit key) header.sender=gcc-patches-owner@gcc.gnu.org header.d=gcc.gnu.org; dkim=pass (1024-bit key) header.d=gcc.gnu.org Received: from mx02.posteo.de ([127.0.0.1]) by localhost (amavis1.posteo.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ImXp3RhcqfVY for ; Wed, 18 Nov 2015 21:51:17 +0100 (CET) Received: from aries.uberspace.de (aries.uberspace.de [95.143.172.170]) by mx02.posteo.de (Postfix) with ESMTPS for ; Wed, 18 Nov 2015 21:51:16 +0100 (CET) Received: (qmail 27335 invoked by uid 856); 18 Nov 2015 20:51:16 -0000 Delivered-To: soja@aries.uberspace.de Received: (qmail 27332 invoked by uid 856); 18 Nov 2015 20:51:16 -0000 Delivered-To: soja-lists@aries.uberspace.de Received: (qmail 27254 invoked from network); 18 Nov 2015 20:51:15 -0000 Received: from unknown (HELO sourceware.org) (209.132.180.131) by aries.uberspace.de with SMTP; 18 Nov 2015 20:51:15 -0000 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:date:message-id:mime-version:content-type :content-transfer-encoding; q=dns; s=default; b=dBUb7aVcAAcT48KS PAupWluhvfjQ9ufywUX6aBB71CPyix0PZIRe5pDd0IN84YbGcj5gI0Q8G/a+6vSX xroAYDGvN9jF5jpWrZ/opL7iUybFzUnLMuEbUUXOruHBVTVkgWtT3QFIXpmeM4FL /VWUbFA+RURKzR2B4J7DJiP5S4U= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=default; bh=aN21aCxuGzEUNoxaV/P/TM OtbzM=; b=vYz/qe6veAR1xDCZouilyu2fkhywsxH6BNYBhB5aUO+ExvDtY+xsnT xgSmx2+92BU+QxM7hzqMB14PppeRREnNYq19grmMQIlcWxl9V3vXHerDLJQ6yBGn /gD/tSl3f5PhhILYlW42UC7Qg0y9eHXg3FGcrvOwXtSj4N+jBmzho= Received: (qmail 129055 invoked by alias); 18 Nov 2015 20:50:51 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 129038 invoked by uid 89); 18 Nov 2015 20:50:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.8 required=5.0 tests=AWL,BAYES_50,KAM_ASCII_DIVIDERS,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW,RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: aries.uberspace.de Received: from aries.uberspace.de (HELO aries.uberspace.de) (95.143.172.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 18 Nov 2015 20:50:48 +0000 Received: (qmail 22360 invoked from network); 18 Nov 2015 20:50:43 -0000 Received: from localhost (HELO kubuntu.localnet) (127.0.0.1) by aries.uberspace.de with SMTP; 18 Nov 2015 20:50:43 -0000 From: Jan Sommer To: gcc-patches@gcc.gnu.org, joel.sherrill@oarcorp.com Subject: [PATCH] Fix declaration of pthread-structs in s-osinte-rtems.ads (ada/68169) Date: Wed, 18 Nov 2015 21:50:41 +0100 Message-ID: <5494811.Ftry5FZUsk@kubuntu> User-Agent: KMail/5.0.2 (Linux/4.2.0-16-generic; KDE/5.15.0; x86_64; ; ) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart4144409.vfQCXR4sjD" Content-Transfer-Encoding: 7Bit X-IsSubscribed: yes This is a multi-part message in MIME format. --nextPart4144409.vfQCXR4sjD Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Content-length: 245 Hello, The paperwork seems to have gone through. Here is the patch again for the 4.9.x, 5.x and trunk respectively. I just pulled the head of the corresponding branches and created a new diff, so it should apply properly. Best regards, Jan --nextPart4144409.vfQCXR4sjD Content-Disposition: attachment; filename="ada-68169_4.9.diff" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="utf-8"; name="ada-68169_4.9.diff" Content-length: 5382 Index: gcc/ada/ChangeLog =================================================================== --- gcc/ada/ChangeLog (Revision 230563) +++ gcc/ada/ChangeLog (Arbeitskopie) @@ -1,3 +1,9 @@ +2015-11-18 Jan Sommer + + * s-oscons-tmplt.c: Generate pthread constants for RTEMS + * s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada + Fixes PR ada/68169 + 2015-10-09 Eric Botcazou * gcc-interface/Make-lang.in: Make sure that GNAT1_OBJS and not just Index: gcc/ada/s-oscons-tmplt.c =================================================================== --- gcc/ada/s-oscons-tmplt.c (Revision 230563) +++ gcc/ada/s-oscons-tmplt.c (Arbeitskopie) @@ -154,7 +154,7 @@ pragma Style_Checks ("M32766"); # include <_types.h> #endif -#ifdef __linux__ +#if defined (__linux__) || defined (__rtems__) # include # include #endif @@ -1441,7 +1441,8 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock") CNS(CLOCK_RT_Ada, "") #endif -#if defined (__APPLE__) || defined (__linux__) || defined (DUMMY) +#if defined (__APPLE__) || defined (__linux__) || defined (__rtems__) || \ + defined (DUMMY) /* -- Sizes of pthread data types @@ -1484,7 +1485,7 @@ CND(PTHREAD_RWLOCKATTR_SIZE, "pthread_rwlockattr_t CND(PTHREAD_RWLOCK_SIZE, "pthread_rwlock_t") CND(PTHREAD_ONCE_SIZE, "pthread_once_t") -#endif /* __APPLE__ || __linux__ */ +#endif /* __APPLE__ || __linux__ || __rtems__*/ /* Index: gcc/ada/s-osinte-rtems.ads =================================================================== --- gcc/ada/s-osinte-rtems.ads (Revision 230563) +++ gcc/ada/s-osinte-rtems.ads (Arbeitskopie) @@ -51,6 +51,8 @@ -- It is designed to be a bottom-level (leaf) package. with Interfaces.C; +with System.OS_Constants; + package System.OS_Interface is pragma Preelaborate; @@ -60,6 +62,7 @@ package System.OS_Interface is subtype rtems_id is Interfaces.C.unsigned; subtype int is Interfaces.C.int; + subtype char is Interfaces.C.char; subtype short is Interfaces.C.short; subtype long is Interfaces.C.long; subtype unsigned is Interfaces.C.unsigned; @@ -68,7 +71,6 @@ package System.OS_Interface is subtype unsigned_char is Interfaces.C.unsigned_char; subtype plain_char is Interfaces.C.plain_char; subtype size_t is Interfaces.C.size_t; - ----------- -- Errno -- ----------- @@ -76,11 +78,11 @@ package System.OS_Interface is function errno return int; pragma Import (C, errno, "__get_errno"); - EAGAIN : constant := 11; - EINTR : constant := 4; - EINVAL : constant := 22; - ENOMEM : constant := 12; - ETIMEDOUT : constant := 116; + EAGAIN : constant := System.OS_Constants.EAGAIN; + EINTR : constant := System.OS_Constants.EINTR; + EINVAL : constant := System.OS_Constants.EINVAL; + ENOMEM : constant := System.OS_Constants.ENOMEM; + ETIMEDOUT : constant := System.OS_Constants.ETIMEDOUT; ------------- -- Signals -- @@ -448,6 +450,7 @@ package System.OS_Interface is ss_low_priority : int; ss_replenish_period : timespec; ss_initial_budget : timespec; + sched_ss_max_repl : int; end record; pragma Convention (C, struct_sched_param); @@ -621,43 +624,34 @@ private end record; pragma Convention (C, timespec); - CLOCK_REALTIME : constant clockid_t := 1; - CLOCK_MONOTONIC : constant clockid_t := 4; + CLOCK_REALTIME : constant clockid_t := System.OS_Constants.CLOCK_REALTIME; + CLOCK_MONOTONIC : constant clockid_t := System.OS_Constants.CLOCK_MONOTONIC; + subtype char_array is Interfaces.C.char_array; + type pthread_attr_t is record - is_initialized : int; - stackaddr : System.Address; - stacksize : int; - contentionscope : int; - inheritsched : int; - schedpolicy : int; - schedparam : struct_sched_param; - cputime_clocked_allowed : int; - detatchstate : int; + Data : char_array (1 .. OS_Constants.PTHREAD_ATTR_SIZE); end record; pragma Convention (C, pthread_attr_t); + for pthread_attr_t'Alignment use Interfaces.C.double'Alignment; type pthread_condattr_t is record - flags : int; - process_shared : int; + Data : char_array (1 .. OS_Constants.PTHREAD_CONDATTR_SIZE); end record; pragma Convention (C, pthread_condattr_t); + for pthread_condattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_mutexattr_t is record - is_initialized : int; - process_shared : int; - prio_ceiling : int; - protocol : int; - mutex_type : int; - recursive : int; - end record; + Data : char_array (1 .. OS_Constants.PTHREAD_MUTEXATTR_SIZE); + end record; pragma Convention (C, pthread_mutexattr_t); + for pthread_mutexattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_rwlockattr_t is record - is_initialized : int; - process_shared : int; + Data : char_array (1 .. OS_Constants.PTHREAD_RWLOCKATTR_SIZE); end record; pragma Convention (C, pthread_rwlockattr_t); + for pthread_rwlockattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_t is new rtems_id; --nextPart4144409.vfQCXR4sjD Content-Disposition: attachment; filename="ada-68169_5.x.diff" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="utf-8"; name="ada-68169_5.x.diff" Content-length: 4860 Index: gcc/ada/s-oscons-tmplt.c =================================================================== --- gcc/ada/s-oscons-tmplt.c (Revision 230563) +++ gcc/ada/s-oscons-tmplt.c (Arbeitskopie) @@ -157,7 +157,7 @@ pragma Style_Checks ("M32766"); # include <_types.h> #endif -#ifdef __linux__ +#if defined (__linux__) || defined (__rtems__) # include # include #endif @@ -1456,7 +1456,8 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock") CNS(CLOCK_RT_Ada, "") #endif -#if defined (__APPLE__) || defined (__linux__) || defined (DUMMY) +#if defined (__APPLE__) || defined (__linux__) || defined (__rtems__) || \ + defined (DUMMY) /* -- Sizes of pthread data types @@ -1499,7 +1500,7 @@ CND(PTHREAD_RWLOCKATTR_SIZE, "pthread_rwlockattr_t CND(PTHREAD_RWLOCK_SIZE, "pthread_rwlock_t") CND(PTHREAD_ONCE_SIZE, "pthread_once_t") -#endif /* __APPLE__ || __linux__ */ +#endif /* __APPLE__ || __linux__ || __rtems__*/ /* Index: gcc/ada/s-osinte-rtems.ads =================================================================== --- gcc/ada/s-osinte-rtems.ads (Revision 230563) +++ gcc/ada/s-osinte-rtems.ads (Arbeitskopie) @@ -51,6 +51,8 @@ -- It is designed to be a bottom-level (leaf) package. with Interfaces.C; +with System.OS_Constants; + package System.OS_Interface is pragma Preelaborate; @@ -60,6 +62,7 @@ package System.OS_Interface is subtype rtems_id is Interfaces.C.unsigned; subtype int is Interfaces.C.int; + subtype char is Interfaces.C.char; subtype short is Interfaces.C.short; subtype long is Interfaces.C.long; subtype unsigned is Interfaces.C.unsigned; @@ -68,7 +71,6 @@ package System.OS_Interface is subtype unsigned_char is Interfaces.C.unsigned_char; subtype plain_char is Interfaces.C.plain_char; subtype size_t is Interfaces.C.size_t; - ----------- -- Errno -- ----------- @@ -76,11 +78,11 @@ package System.OS_Interface is function errno return int; pragma Import (C, errno, "__get_errno"); - EAGAIN : constant := 11; - EINTR : constant := 4; - EINVAL : constant := 22; - ENOMEM : constant := 12; - ETIMEDOUT : constant := 116; + EAGAIN : constant := System.OS_Constants.EAGAIN; + EINTR : constant := System.OS_Constants.EINTR; + EINVAL : constant := System.OS_Constants.EINVAL; + ENOMEM : constant := System.OS_Constants.ENOMEM; + ETIMEDOUT : constant := System.OS_Constants.ETIMEDOUT; ------------- -- Signals -- @@ -448,6 +450,7 @@ package System.OS_Interface is ss_low_priority : int; ss_replenish_period : timespec; ss_initial_budget : timespec; + sched_ss_max_repl : int; end record; pragma Convention (C, struct_sched_param); @@ -621,43 +624,34 @@ private end record; pragma Convention (C, timespec); - CLOCK_REALTIME : constant clockid_t := 1; - CLOCK_MONOTONIC : constant clockid_t := 4; + CLOCK_REALTIME : constant clockid_t := System.OS_Constants.CLOCK_REALTIME; + CLOCK_MONOTONIC : constant clockid_t := System.OS_Constants.CLOCK_MONOTONIC; + subtype char_array is Interfaces.C.char_array; + type pthread_attr_t is record - is_initialized : int; - stackaddr : System.Address; - stacksize : int; - contentionscope : int; - inheritsched : int; - schedpolicy : int; - schedparam : struct_sched_param; - cputime_clocked_allowed : int; - detatchstate : int; + Data : char_array (1 .. OS_Constants.PTHREAD_ATTR_SIZE); end record; pragma Convention (C, pthread_attr_t); + for pthread_attr_t'Alignment use Interfaces.C.double'Alignment; type pthread_condattr_t is record - flags : int; - process_shared : int; + Data : char_array (1 .. OS_Constants.PTHREAD_CONDATTR_SIZE); end record; pragma Convention (C, pthread_condattr_t); + for pthread_condattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_mutexattr_t is record - is_initialized : int; - process_shared : int; - prio_ceiling : int; - protocol : int; - mutex_type : int; - recursive : int; - end record; + Data : char_array (1 .. OS_Constants.PTHREAD_MUTEXATTR_SIZE); + end record; pragma Convention (C, pthread_mutexattr_t); + for pthread_mutexattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_rwlockattr_t is record - is_initialized : int; - process_shared : int; + Data : char_array (1 .. OS_Constants.PTHREAD_RWLOCKATTR_SIZE); end record; pragma Convention (C, pthread_rwlockattr_t); + for pthread_rwlockattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_t is new rtems_id; --nextPart4144409.vfQCXR4sjD Content-Disposition: attachment; filename="ada-68169_trunk.diff" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="utf-8"; name="ada-68169_trunk.diff" Content-length: 5401 Index: gcc/ada/ChangeLog =================================================================== --- gcc/ada/ChangeLog (Revision 230563) +++ gcc/ada/ChangeLog (Arbeitskopie) @@ -1,3 +1,9 @@ +2015-11-18 Jan Sommer + + * s-oscons-tmplt.c: Generate pthread constants for RTEMS + * s-osinte-rtems.ads: Declare pthread structs as opaque types in Ada + Fixes PR ada/68169 + 2015-11-18 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Use case #1 Index: gcc/ada/s-oscons-tmplt.c =================================================================== --- gcc/ada/s-oscons-tmplt.c (Revision 230563) +++ gcc/ada/s-oscons-tmplt.c (Arbeitskopie) @@ -157,7 +157,7 @@ pragma Style_Checks ("M32766"); # include <_types.h> #endif -#if defined (__linux__) || defined (__ANDROID__) +#if defined (__linux__) || defined (__ANDROID__) || defined (__rtems__) # include # include #endif @@ -1458,7 +1458,7 @@ CNS(CLOCK_RT_Ada, "") #endif #if defined (__APPLE__) || defined (__linux__) || defined (__ANDROID__) \ - || defined (DUMMY) + || defined (__rtems__) || defined (DUMMY) /* -- Sizes of pthread data types @@ -1501,7 +1501,7 @@ CND(PTHREAD_RWLOCKATTR_SIZE, "pthread_rwlockattr_t CND(PTHREAD_RWLOCK_SIZE, "pthread_rwlock_t") CND(PTHREAD_ONCE_SIZE, "pthread_once_t") -#endif /* __APPLE__ || __linux__ || __ANDROID__ */ +#endif /* __APPLE__ || __linux__ || __ANDROID__ || __rtems__ */ /* Index: gcc/ada/s-osinte-rtems.ads =================================================================== --- gcc/ada/s-osinte-rtems.ads (Revision 230563) +++ gcc/ada/s-osinte-rtems.ads (Arbeitskopie) @@ -51,6 +51,8 @@ -- It is designed to be a bottom-level (leaf) package. with Interfaces.C; +with System.OS_Constants; + package System.OS_Interface is pragma Preelaborate; @@ -60,6 +62,7 @@ package System.OS_Interface is subtype rtems_id is Interfaces.C.unsigned; subtype int is Interfaces.C.int; + subtype char is Interfaces.C.char; subtype short is Interfaces.C.short; subtype long is Interfaces.C.long; subtype unsigned is Interfaces.C.unsigned; @@ -68,7 +71,6 @@ package System.OS_Interface is subtype unsigned_char is Interfaces.C.unsigned_char; subtype plain_char is Interfaces.C.plain_char; subtype size_t is Interfaces.C.size_t; - ----------- -- Errno -- ----------- @@ -76,11 +78,11 @@ package System.OS_Interface is function errno return int; pragma Import (C, errno, "__get_errno"); - EAGAIN : constant := 11; - EINTR : constant := 4; - EINVAL : constant := 22; - ENOMEM : constant := 12; - ETIMEDOUT : constant := 116; + EAGAIN : constant := System.OS_Constants.EAGAIN; + EINTR : constant := System.OS_Constants.EINTR; + EINVAL : constant := System.OS_Constants.EINVAL; + ENOMEM : constant := System.OS_Constants.ENOMEM; + ETIMEDOUT : constant := System.OS_Constants.ETIMEDOUT; ------------- -- Signals -- @@ -448,6 +450,7 @@ package System.OS_Interface is ss_low_priority : int; ss_replenish_period : timespec; ss_initial_budget : timespec; + sched_ss_max_repl : int; end record; pragma Convention (C, struct_sched_param); @@ -621,43 +624,34 @@ private end record; pragma Convention (C, timespec); - CLOCK_REALTIME : constant clockid_t := 1; - CLOCK_MONOTONIC : constant clockid_t := 4; + CLOCK_REALTIME : constant clockid_t := System.OS_Constants.CLOCK_REALTIME; + CLOCK_MONOTONIC : constant clockid_t := System.OS_Constants.CLOCK_MONOTONIC; + subtype char_array is Interfaces.C.char_array; + type pthread_attr_t is record - is_initialized : int; - stackaddr : System.Address; - stacksize : int; - contentionscope : int; - inheritsched : int; - schedpolicy : int; - schedparam : struct_sched_param; - cputime_clocked_allowed : int; - detatchstate : int; + Data : char_array (1 .. OS_Constants.PTHREAD_ATTR_SIZE); end record; pragma Convention (C, pthread_attr_t); + for pthread_attr_t'Alignment use Interfaces.C.double'Alignment; type pthread_condattr_t is record - flags : int; - process_shared : int; + Data : char_array (1 .. OS_Constants.PTHREAD_CONDATTR_SIZE); end record; pragma Convention (C, pthread_condattr_t); + for pthread_condattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_mutexattr_t is record - is_initialized : int; - process_shared : int; - prio_ceiling : int; - protocol : int; - mutex_type : int; - recursive : int; - end record; + Data : char_array (1 .. OS_Constants.PTHREAD_MUTEXATTR_SIZE); + end record; pragma Convention (C, pthread_mutexattr_t); + for pthread_mutexattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_rwlockattr_t is record - is_initialized : int; - process_shared : int; + Data : char_array (1 .. OS_Constants.PTHREAD_RWLOCKATTR_SIZE); end record; pragma Convention (C, pthread_rwlockattr_t); + for pthread_rwlockattr_t'Alignment use Interfaces.C.double'Alignment; type pthread_t is new rtems_id; --nextPart4144409.vfQCXR4sjD-- --nextPart131694139.1z3j1Vu4MS--