summaryrefslogtreecommitdiffhomepage
path: root/arch/nt32/src
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2015-06-06 23:11:27 -0400
committermidipix <writeonce@midipix.org>2015-07-18 20:10:38 -0400
commit51d2a078cef514252bd12a1dd16dcfa456b1f296 (patch)
tree322216db7b072026db93987d76e13e21dcb5b00b /arch/nt32/src
parentd0625dc2ccd0f720b225e1f50b618845b5ca9b4b (diff)
downloadmmglue-51d2a078cef514252bd12a1dd16dcfa456b1f296.tar.bz2
mmglue-51d2a078cef514252bd12a1dd16dcfa456b1f296.tar.xz
fix indirection of __init_array_start and __fini_array_start.
signed-off by Z. Gilboa; see copying.midipix (9cd0746c) for additional information.
Diffstat (limited to 'arch/nt32/src')
-rw-r--r--arch/nt32/src/crt_glue.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/nt32/src/crt_glue.c b/arch/nt32/src/crt_glue.c
index 07d38de..b92db1a 100644
--- a/arch/nt32/src/crt_glue.c
+++ b/arch/nt32/src/crt_glue.c
@@ -8,8 +8,8 @@
extern struct __ldso_vtbl * __ldso_vtbl;
extern struct __psx_vtbl * __psx_vtbl;
-extern void * __init_array_start;
-extern void * __fini_array_start;
+extern void * __init_array_start[];
+extern void * __fini_array_start[];
typedef int __app_main();
typedef int __pthread_surrogate_routine(struct pthread *);
@@ -73,8 +73,8 @@ void __libc_entry_routine(
__teb_libc_idx = ctx.teb_libc_idx;
/* surrogate init/fini arrays */
- __init_array_start = ctx.do_global_ctors_fn;
- __fini_array_start = ctx.do_global_dtors_fn;
+ *__init_array_start = ctx.do_global_ctors_fn;
+ *__fini_array_start = ctx.do_global_dtors_fn;
/* enter libc */
__libc_start_main(__main,argc,argv);