li      r8,MMU_PAGE_4K          /* page size */
        li      r9,MMU_PAGE_4K          /* actual page size */
        ld      r10,STK_PARAM(R9)(r1)   /* segment size */
-_GLOBAL(htab_call_hpte_insert1)
+.globl htab_call_hpte_insert1
+htab_call_hpte_insert1:
        bl      .                       /* Patched by htab_finish_init() */
        cmpdi   0,r3,0
        bge     htab_pte_insert_ok      /* Insertion successful */
        li      r8,MMU_PAGE_4K          /* page size */
        li      r9,MMU_PAGE_4K          /* actual page size */
        ld      r10,STK_PARAM(R9)(r1)   /* segment size */
-_GLOBAL(htab_call_hpte_insert2)
+.globl htab_call_hpte_insert2
+htab_call_hpte_insert2:
        bl      .                       /* Patched by htab_finish_init() */
        cmpdi   0,r3,0
        bge+    htab_pte_insert_ok      /* Insertion successful */
 2:     and     r0,r5,r27
        rldicr  r3,r0,3,63-3    /* r0 = (hash & mask) << 3 */   
        /* Call ppc_md.hpte_remove */
-_GLOBAL(htab_call_hpte_remove)
+.globl htab_call_hpte_remove
+htab_call_hpte_remove:
        bl      .                       /* Patched by htab_finish_init() */
 
        /* Try all again */
        li      r7,MMU_PAGE_4K          /* actual page size */
        ld      r8,STK_PARAM(R9)(r1)    /* segment size */
        ld      r9,STK_PARAM(R8)(r1)    /* get "local" param */
-_GLOBAL(htab_call_hpte_updatepp)
+.globl htab_call_hpte_updatepp
+htab_call_hpte_updatepp:
        bl      .                       /* Patched by htab_finish_init() */
 
        /* if we failed because typically the HPTE wasn't really here
        li      r8,MMU_PAGE_4K          /* page size */
        li      r9,MMU_PAGE_4K          /* actual page size */
        ld      r10,STK_PARAM(R9)(r1)   /* segment size */
-_GLOBAL(htab_call_hpte_insert1)
+.globl htab_call_hpte_insert1
+htab_call_hpte_insert1:
        bl      .                       /* patched by htab_finish_init() */
        cmpdi   0,r3,0
        bge     htab_pte_insert_ok      /* Insertion successful */
        li      r8,MMU_PAGE_4K          /* page size */
        li      r9,MMU_PAGE_4K          /* actual page size */
        ld      r10,STK_PARAM(R9)(r1)   /* segment size */
-_GLOBAL(htab_call_hpte_insert2)
+.globl htab_call_hpte_insert2
+htab_call_hpte_insert2:
        bl      .                       /* patched by htab_finish_init() */
        cmpdi   0,r3,0
        bge+    htab_pte_insert_ok      /* Insertion successful */
 2:     and     r0,r5,r27
        rldicr  r3,r0,3,63-3            /* r0 = (hash & mask) << 3 */
        /* Call ppc_md.hpte_remove */
-_GLOBAL(htab_call_hpte_remove)
+.globl htab_call_hpte_remove
+htab_call_hpte_remove:
        bl      .                       /* patched by htab_finish_init() */
 
        /* Try all again */
        li      r7,MMU_PAGE_4K          /* actual page size */
        ld      r8,STK_PARAM(R9)(r1)    /* segment size */
        ld      r9,STK_PARAM(R8)(r1)    /* get "local" param */
-_GLOBAL(htab_call_hpte_updatepp)
+.globl htab_call_hpte_updatepp
+htab_call_hpte_updatepp:
        bl      .                       /* patched by htab_finish_init() */
 
        /* if we failed because typically the HPTE wasn't really here
        li      r8,MMU_PAGE_64K
        li      r9,MMU_PAGE_64K         /* actual page size */
        ld      r10,STK_PARAM(R9)(r1)   /* segment size */
-_GLOBAL(ht64_call_hpte_insert1)
+.globl ht64_call_hpte_insert1
+ht64_call_hpte_insert1:
        bl      .                       /* patched by htab_finish_init() */
        cmpdi   0,r3,0
        bge     ht64_pte_insert_ok      /* Insertion successful */
        li      r8,MMU_PAGE_64K
        li      r9,MMU_PAGE_64K         /* actual page size */
        ld      r10,STK_PARAM(R9)(r1)   /* segment size */
-_GLOBAL(ht64_call_hpte_insert2)
+.globl ht64_call_hpte_insert2
+ht64_call_hpte_insert2:
        bl      .                       /* patched by htab_finish_init() */
        cmpdi   0,r3,0
        bge+    ht64_pte_insert_ok      /* Insertion successful */
 2:     and     r0,r5,r27
        rldicr  r3,r0,3,63-3    /* r0 = (hash & mask) << 3 */
        /* Call ppc_md.hpte_remove */
-_GLOBAL(ht64_call_hpte_remove)
+.globl ht64_call_hpte_remove
+ht64_call_hpte_remove:
        bl      .                       /* patched by htab_finish_init() */
 
        /* Try all again */
        li      r7,MMU_PAGE_64K         /* actual page size */
        ld      r8,STK_PARAM(R9)(r1)    /* segment size */
        ld      r9,STK_PARAM(R8)(r1)    /* get "local" param */
-_GLOBAL(ht64_call_hpte_updatepp)
+.globl ht64_call_hpte_updatepp
+ht64_call_hpte_updatepp:
        bl      .                       /* patched by htab_finish_init() */
 
        /* if we failed because typically the HPTE wasn't really here
 
 }
 #endif /* CONFIG_MEMORY_HOTPLUG */
 
+extern u32 htab_call_hpte_insert1[];
+extern u32 htab_call_hpte_insert2[];
+extern u32 htab_call_hpte_remove[];
+extern u32 htab_call_hpte_updatepp[];
+extern u32 ht64_call_hpte_insert1[];
+extern u32 ht64_call_hpte_insert2[];
+extern u32 ht64_call_hpte_remove[];
+extern u32 ht64_call_hpte_updatepp[];
+
 static void __init htab_finish_init(void)
 {
-       extern unsigned int *htab_call_hpte_insert1;
-       extern unsigned int *htab_call_hpte_insert2;
-       extern unsigned int *htab_call_hpte_remove;
-       extern unsigned int *htab_call_hpte_updatepp;
-
 #ifdef CONFIG_PPC_HAS_HASH_64K
-       extern unsigned int *ht64_call_hpte_insert1;
-       extern unsigned int *ht64_call_hpte_insert2;
-       extern unsigned int *ht64_call_hpte_remove;
-       extern unsigned int *ht64_call_hpte_updatepp;
-
        patch_branch(ht64_call_hpte_insert1,
                ppc_function_entry(ppc_md.hpte_insert),
                BRANCH_SET_LINK);
        patch_branch(ht64_call_hpte_updatepp,
                ppc_function_entry(ppc_md.hpte_updatepp),
                BRANCH_SET_LINK);
-
 #endif /* CONFIG_PPC_HAS_HASH_64K */
 
        patch_branch(htab_call_hpte_insert1,
 
        patch_instruction(insn_addr, insn);
 }
 
+extern u32 slb_compare_rr_to_size[];
+extern u32 slb_miss_kernel_load_linear[];
+extern u32 slb_miss_kernel_load_io[];
+extern u32 slb_compare_rr_to_size[];
+extern u32 slb_miss_kernel_load_vmemmap[];
+
 void slb_set_size(u16 size)
 {
-       extern unsigned int *slb_compare_rr_to_size;
-
        if (mmu_slb_size == size)
                return;
 
        unsigned long linear_llp, vmalloc_llp, io_llp;
        unsigned long lflags, vflags;
        static int slb_encoding_inited;
-       extern unsigned int *slb_miss_kernel_load_linear;
-       extern unsigned int *slb_miss_kernel_load_io;
-       extern unsigned int *slb_compare_rr_to_size;
 #ifdef CONFIG_SPARSEMEM_VMEMMAP
-       extern unsigned int *slb_miss_kernel_load_vmemmap;
        unsigned long vmemmap_llp;
 #endif