aboutsummaryrefslogtreecommitdiff
path: root/libobjc/init.c
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-09-14 10:23:37 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-09-14 10:23:37 +0000
commitfd3125375f17ba4d47aaf00d0c5d16d72a24f4f8 (patch)
treea612f102fc0035c2f3ad31c1091a959c15fb4afc /libobjc/init.c
parent4359dc2a313d076c3e98f7f5c0b5455637e0b69e (diff)
downloadgcc-fd3125375f17ba4d47aaf00d0c5d16d72a24f4f8.zip
gcc-fd3125375f17ba4d47aaf00d0c5d16d72a24f4f8.tar.gz
gcc-fd3125375f17ba4d47aaf00d0c5d16d72a24f4f8.tar.bz2
In libobjc/: Implemented objc_sync_enter() and objc_sync_exit(), which are required by @synchronized() to work.
In libobjc/: Implemented objc_sync_enter() and objc_sync_exit(), which are required by @synchronized() to work. * objc-sync.c: New file. * objc/objc-sync.h: New file. * objc-private/objc-sync.h: New file. * init.c (__objc_exec_class): Call __objc_sync_init() during the Objective-C runtime startup. * Makefile.in: Added objc-sync.c and objc-sync.h. * configure.ac: Added GCC_CHECK_TLS. * acinclude.m4: Include ../config/enable.m4 and ../config/tls.m4. * configure: Regenerated. * config.h.in: Regenerated. From-SVN: r164276
Diffstat (limited to 'libobjc/init.c')
-rw-r--r--libobjc/init.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libobjc/init.c b/libobjc/init.c
index de624cf..206b85b 100644
--- a/libobjc/init.c
+++ b/libobjc/init.c
@@ -32,6 +32,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#include "objc/hash.h"
#include "objc/objc-list.h"
#include "objc-private/runtime.h"
+#include "objc-private/objc-sync.h" /* For __objc_sync_init() */
/* The version number of this runtime. This must match the number
defined in gcc (objc-act.c). */
@@ -550,6 +551,7 @@ __objc_exec_class (Module_t module)
__objc_load_methods = objc_hash_new (128,
(hash_func_type)objc_hash_ptr,
objc_compare_ptrs);
+ __objc_sync_init ();
previous_constructors = 1;
}