gthr-posix.c revision 132718
155714Skris/* POSIX threads dummy routines for systems without weak definitions.  */
255714Skris/* Compile this one with gcc.  */
355714Skris/* Copyright (C) 2003 Free Software Foundation, Inc.
455714Skris
555714SkrisThis file is part of GCC.
655714Skris
755714SkrisGCC is free software; you can redistribute it and/or modify it under
855714Skristhe terms of the GNU General Public License as published by the Free
955714SkrisSoftware Foundation; either version 2, or (at your option) any later
1055714Skrisversion.
1176866Skris
1255714SkrisGCC is distributed in the hope that it will be useful, but WITHOUT ANY
1355714SkrisWARRANTY; without even the implied warranty of MERCHANTABILITY or
1455714SkrisFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1555714Skrisfor more details.
1655714Skris
1755714SkrisYou should have received a copy of the GNU General Public License
1855714Skrisalong with GCC; see the file COPYING.  If not, write to the Free
1955714SkrisSoftware Foundation, 59 Temple Place - Suite 330, Boston, MA
2055714Skris02111-1307, USA.  */
2155714Skris
2255714Skris/* As a special exception, if you link this library with other files,
2355714Skris   some of which are compiled with GCC, to produce an executable,
2455714Skris   this library does not by itself cause the resulting executable
2555714Skris   to be covered by the GNU General Public License.
2655714Skris   This exception does not however invalidate any other reasons why
2755714Skris   the executable file might be covered by the GNU General Public License.  */
2855714Skris
2955714Skris#include "tconfig.h"
3055714Skris#include "tm.h"
3155714Skris/* Define so we provide weak definitions of functions used by libobjc only.  */
3255714Skris#define _LIBOBJC_WEAK
3355714Skris#include "gthr.h"
3455714Skris
3555714Skrisint
3655714Skrispthread_once (pthread_once_t *once ATTRIBUTE_UNUSED,
3755714Skris	      void (*func) (void) ATTRIBUTE_UNUSED)
3855714Skris{
3955714Skris  return -1;
4055714Skris}
4155714Skris
4255714Skrisint
4355714Skrispthread_key_create (pthread_key_t *key ATTRIBUTE_UNUSED,
4455714Skris		    void (*dtor) (void *) ATTRIBUTE_UNUSED)
4555714Skris{
4655714Skris  return -1;
4755714Skris}
4855714Skris
4955714Skrisint
5055714Skrispthread_key_delete (pthread_key_t key ATTRIBUTE_UNUSED)
5155714Skris{
5255714Skris  return 0;
5355714Skris}
5455714Skris
5555714Skrisvoid *
5655714Skrispthread_getspecific (pthread_key_t key ATTRIBUTE_UNUSED)
5755714Skris{
5855714Skris  return 0;
5955714Skris}
6055714Skris
6155714Skrisint
6255714Skrispthread_setspecific (pthread_key_t key ATTRIBUTE_UNUSED,
6355714Skris		     const void *ptr ATTRIBUTE_UNUSED)
6455714Skris{
6555714Skris  return 0;
6655714Skris}
6755714Skris
6855714Skrisint
6955714Skrispthread_create (pthread_t *thread ATTRIBUTE_UNUSED,
7055714Skris		const pthread_attr_t *attr ATTRIBUTE_UNUSED,
7155714Skris		void *(*start_routine) (void *) ATTRIBUTE_UNUSED,
7255714Skris		void *arg ATTRIBUTE_UNUSED)
7355714Skris{
7455714Skris  return 0;
7555714Skris}
7655714Skris
7755714Skrisint
7855714Skrispthread_mutex_lock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
7955714Skris{
8055714Skris  return 0;
8155714Skris}
8255714Skris
8355714Skrisint
8455714Skrispthread_mutex_trylock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
8555714Skris{
8655714Skris  return 0;
8755714Skris}
8855714Skris
8955714Skrisint
9055714Skrispthread_mutex_unlock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
9155714Skris{
9255714Skris  return 0;
9355714Skris}
9455714Skris
9555714Skrisint
9655714Skrispthread_cond_broadcast (pthread_cond_t *cond ATTRIBUTE_UNUSED)
9755714Skris{
9855714Skris  return 0;
9955714Skris}
10055714Skris
10155714Skrisint
10255714Skrispthread_cond_destroy (pthread_cond_t *cond ATTRIBUTE_UNUSED)
10355714Skris{
10455714Skris  return 0;
10555714Skris}
10655714Skris
10755714Skrisint
10855714Skrispthread_cond_init (pthread_cond_t *cond ATTRIBUTE_UNUSED,
10955714Skris		   const pthread_condattr_t *attr ATTRIBUTE_UNUSED)
11055714Skris{
11155714Skris  return 0;
11255714Skris}
11355714Skris
11455714Skrisint
11555714Skrispthread_cond_signal (pthread_cond_t *cond ATTRIBUTE_UNUSED)
11655714Skris{
11755714Skris  return 0;
11855714Skris}
11955714Skris
12055714Skrisint
12155714Skrispthread_cond_wait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
12255714Skris		   pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
12355714Skris{
12455714Skris  return 0;
12555714Skris}
12655714Skris
12755714Skrisvoid
12855714Skrispthread_exit (void *value_ptr ATTRIBUTE_UNUSED)
12955714Skris{
13055714Skris}
13155714Skris
132int
133pthread_mutex_init (pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
134		    const pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
135{
136  return 0;
137}
138
139int
140pthread_mutex_destroy (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
141{
142  return 0;
143}
144
145pthread_t
146pthread_self (void)
147{
148  return (pthread_t) 0;
149}
150
151#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
152int
153sched_get_priority_max (int policy ATTRIBUTE_UNUSED)
154{
155  return 0;
156}
157
158int
159sched_get_priority_min (int policy ATTRIBUTE_UNUSED)
160{
161  return 0;
162}
163#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
164
165int
166sched_yield (void)
167{
168  return 0;
169}
170
171int
172pthread_attr_destroy (pthread_attr_t *attr ATTRIBUTE_UNUSED)
173{
174  return 0;
175}
176
177int
178pthread_attr_init (pthread_attr_t *attr ATTRIBUTE_UNUSED)
179{
180  return 0;
181}
182
183int
184pthread_attr_setdetachstate (pthread_attr_t *attr ATTRIBUTE_UNUSED,
185			     int detachstate ATTRIBUTE_UNUSED)
186{
187  return 0;
188}
189
190#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
191int
192pthread_getschedparam (pthread_t thread ATTRIBUTE_UNUSED,
193		       int *policy ATTRIBUTE_UNUSED,
194		       struct sched_param *param ATTRIBUTE_UNUSED)
195{
196  return 0;
197}
198
199int
200pthread_setschedparam (pthread_t thread ATTRIBUTE_UNUSED,
201		       int policy ATTRIBUTE_UNUSED,
202		       const struct sched_param *param ATTRIBUTE_UNUSED)
203{
204  return 0;
205}
206#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
207
208