summaryrefslogtreecommitdiff
path: root/libobjc/init.c
diff options
context:
space:
mode:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-14 10:23:37 +0000
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>2010-09-14 10:23:37 +0000
commita2a8dcb195e20f33c8f5e4bbc0b1c61b2f9ad428 (patch)
treea612f102fc0035c2f3ad31c1091a959c15fb4afc /libobjc/init.c
parentf97eea22bbf293f898a4fd60953d411854ff7157 (diff)
downloadgcc-a2a8dcb195e20f33c8f5e4bbc0b1c61b2f9ad428.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164276 138bc75d-0d04-0410-961f-82ee72b054a4
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 de624cf79c1..206b85b5c0d 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;
}