summaryrefslogtreecommitdiff
path: root/ldso/ldso/powerpc/dl-startup.h
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2001-07-12 10:14:09 +0000
committerDavid Schleef <ds@schleef.org>2001-07-12 10:14:09 +0000
commit9ef15439a40676b3bca769deb9a037000457c12e (patch)
tree081f9c5d7843c5d4eb29f2a38ab956658f8827d0 /ldso/ldso/powerpc/dl-startup.h
parent6e0b24b426c91b93f863a5187ce9e0577f00c4dd (diff)
First cut of PowerPC port. It works for hello world, but has lots
of debugging information is still there.
Diffstat (limited to 'ldso/ldso/powerpc/dl-startup.h')
-rw-r--r--ldso/ldso/powerpc/dl-startup.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/ldso/ldso/powerpc/dl-startup.h b/ldso/ldso/powerpc/dl-startup.h
new file mode 100644
index 000000000..30fd7542a
--- /dev/null
+++ b/ldso/ldso/powerpc/dl-startup.h
@@ -0,0 +1,23 @@
+/* Any assmbly language/system dependent hacks needed to setup boot1.c so it
+ * will work as expected and cope with whatever platform specific wierdness is
+ * needed for this architecture. */
+
+/* Overrive the default _dl_boot function, and replace it with a bit of asm.
+ * Then call the real _dl_boot function, which is now named _dl_boot2. */
+
+asm("\
+.text
+.globl _dl_boot
+_dl_boot:
+ addi 3,1,4
+
+ bl _dl_boot2
+
+ li 0,0
+ lwz 0,42(0)
+.previous\n\
+");
+
+#define _dl_boot _dl_boot2
+#define DL_BOOT(X) static void * __attribute__ ((unused)) _dl_boot (X)
+