diff --git a/arch/ppc/qemu/init.c b/arch/ppc/qemu/init.c
index fa7c59e..c4d1106 100644
--- a/arch/ppc/qemu/init.c
+++ b/arch/ppc/qemu/init.c
@@ -472,6 +472,7 @@ go( void )
{
ucell addr;
+ feval("saved-program-state >sps.entry @");
addr = POP();
call_elf( 0, 0, addr);
diff --git a/arch/ppc/qemu/ofmem.c b/arch/ppc/qemu/ofmem.c
index 93c432f..d4d5519 100644
--- a/arch/ppc/qemu/ofmem.c
+++ b/arch/ppc/qemu/ofmem.c
@@ -162,8 +162,6 @@ realloc( void *ptr, size_t size )
/* misc */
/************************************************************************/
-extern char _start[], _end[];
-
ucell ofmem_arch_default_translation_mode( ucell phys )
{
/* XXX: Guard bit not set as it should! */
diff --git a/config/examples/cross-ppc_config.xml b/config/examples/cross-ppc_config.xml
index 1df7305..d5e63db 100644
--- a/config/examples/cross-ppc_config.xml
+++ b/config/examples/cross-ppc_config.xml
@@ -42,7 +42,7 @@
-
+
diff --git a/config/examples/ppc_config.xml b/config/examples/ppc_config.xml
index 1df7305..d5e63db 100644
--- a/config/examples/ppc_config.xml
+++ b/config/examples/ppc_config.xml
@@ -42,7 +42,7 @@
-
+
diff --git a/include/arch/ppc/io.h b/include/arch/ppc/io.h
index 805a025..d7c78a0 100644
--- a/include/arch/ppc/io.h
+++ b/include/arch/ppc/io.h
@@ -6,6 +6,7 @@
#define NO_QEMU_PROTOS
#include "arch/common/fw_cfg.h"
+extern char _start, _end;
extern unsigned long virt_offset;
#define phys_to_virt(phys) ((void *) ((unsigned long) (phys) - virt_offset))
diff --git a/include/arch/ppc/types.h b/include/arch/ppc/types.h
index 32807de..cb999dc 100644
--- a/include/arch/ppc/types.h
+++ b/include/arch/ppc/types.h
@@ -40,6 +40,10 @@ typedef uint64_t ducell;
#define FMT_ucellx "%08x"
#define FMT_ucellX "%08X"
+#define FMT_elf "%#x"
+#define FMT_sizet "%lx"
+#define FMT_aout_ehdr "%lx"
+
#define bitspercell (sizeof(cell)<<3)
#define bitsperdcell (sizeof(dcell)<<3)