aboutsummaryrefslogtreecommitdiff
path: root/libobjc/objc-private/module-abi-8.h
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-12-21 12:49:26 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-12-21 12:49:26 +0000
commit600cbba24eabcc0ec3802e44408f4cd65816fcbf (patch)
treeda80c7ab199492b7389004929895a22823b5f659 /libobjc/objc-private/module-abi-8.h
parentbebf8772de79a91c76ad95274228f5e27a5ed140 (diff)
downloadgcc-600cbba24eabcc0ec3802e44408f4cd65816fcbf.zip
gcc-600cbba24eabcc0ec3802e44408f4cd65816fcbf.tar.gz
gcc-600cbba24eabcc0ec3802e44408f4cd65816fcbf.tar.bz2
In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com>
In libobjc/: 2010-12-21 Nicola Pero <nicola.pero@meta-innovation.com> * objc-private/module-abi-8.h (struct objc_symtab): Declare 'refs' to be 'struct objc_selector *' and not 'SEL'. * init.c (__objc_exec_class): Call __objc_register_selectors_from_module instead of iterating over each selector and calling __sel_register_typed_name for each. * objc-private/selector.h: Declare __objc_register_selectors_from_module instead of __sel_register_typed_name. * selector.c (__objc_register_selectors_from_module): New. (__sel_register_typed_name): Made static. From-SVN: r168113
Diffstat (limited to 'libobjc/objc-private/module-abi-8.h')
-rw-r--r--libobjc/objc-private/module-abi-8.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/libobjc/objc-private/module-abi-8.h b/libobjc/objc-private/module-abi-8.h
index 3ed836c..0c9574b 100644
--- a/libobjc/objc-private/module-abi-8.h
+++ b/libobjc/objc-private/module-abi-8.h
@@ -48,10 +48,16 @@ struct objc_static_instances
struct objc_symtab
{
unsigned long sel_ref_cnt; /* Unused (always set to 0). */
- SEL refs; /* The table of selectors referenced in
+ struct objc_selector *refs; /* The table of selectors referenced in
this module. This is terminated by a
selector with NULL sel_id and NULL
- sel_types. */
+ sel_types. Note that we use the type
+ 'struct objc_selector *' and not
+ 'SEL' (which is 'const struct
+ objc_selector *') because the sel_id
+ of these selectors is patched up by
+ the runtime when the module is
+ loaded. */
unsigned short cls_def_cnt; /* Number of classes compiled (defined)
in the module. */
unsigned short cat_def_cnt; /* Number of categories compiled