* Are we booted from a PROM Of-type client-interface ?
         */
        cmpldi  cr0,r5,0
-       bne     .__boot_from_prom               /* yes -> prom */
-
+       beq     1f
+       b       .__boot_from_prom               /* yes -> prom */
+1:
        /* Save parameters */
        mr      r31,r3
        mr      r30,r4
        bl      .__mmu_off
        b       .__after_prom_start
 
-_STATIC(__boot_from_prom)
+_INIT_STATIC(__boot_from_prom)
        /* Save parameters */
        mr      r31,r3
        mr      r30,r4
                                        /*      the source addr          */
 
        cmpdi   r4,0                    /* In some cases the loader may  */
-       beq     .start_here_multiplatform /* have already put us at zero */
+       bne     1f
+       b       .start_here_multiplatform /* have already put us at zero */
                                        /* so we can skip the copy.      */
-       LOAD_REG_IMMEDIATE(r5,copy_to_here) /* # bytes of memory to copy */
+1:     LOAD_REG_IMMEDIATE(r5,copy_to_here) /* # bytes of memory to copy */
        sub     r5,r5,r27
 
        li      r6,0x100                /* Start offset, the first 0x100 */
 /*
  * This is where the main kernel code starts.
  */
-_STATIC(start_here_multiplatform)
+_INIT_STATIC(start_here_multiplatform)
        /* get a new offset, now that the kernel has moved. */
        bl      .reloc_offset
        mr      r26,r3
        b       .       /* prevent speculative execution */
        
        /* This is where all platforms converge execution */
-_STATIC(start_here_common)
+_INIT_STATIC(start_here_common)
        /* relocation is on at this point */
 
        /* The following code sets up the SP and TOC now that we are */