summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/powerpc/crt0.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/powerpc/crt0.c')
-rw-r--r--libc/sysdeps/linux/powerpc/crt0.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/powerpc/crt0.c b/libc/sysdeps/linux/powerpc/crt0.c
index b7e7f9b15..2460e910c 100644
--- a/libc/sysdeps/linux/powerpc/crt0.c
+++ b/libc/sysdeps/linux/powerpc/crt0.c
@@ -30,7 +30,23 @@ asm(
"\tstwu 1,-32(1)\n"
"\tmtlr 0\n"
//"\tstw 0,0(1)\n"
- "\tb _start2\n");
+ "\tb _start2\n
+
+ ");
+
+/* a little bit of stuff to support C++ */
+asm(
+ "\t.section .ctors,\"aw\"\n"
+ "\t.align 4\n"
+ "\t.global __CTOR_LIST__\n"
+ "__CTOR_LIST__:\n"
+ "\t.long -1\n"
+ "\t.section .dtors,\"aw\"\n"
+ "\t.align 4\n"
+ "\t.global __DTOR_LIST__\n"
+ "__DTOR_LIST__:\n"
+ "\t.long -1\n"
+ );
void __uClibc_main(int argc,void *argv,void *envp);