u32 socfpga_sdram_self_refresh(u32 sdr_base);
 extern unsigned int socfpga_sdram_self_refresh_sz;
 
-extern char secondary_trampoline, secondary_trampoline_end;
+extern char secondary_trampoline[], secondary_trampoline_end[];
 
 extern unsigned long socfpga_cpu1start_addr;
 
 
 
 static int socfpga_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
-       int trampoline_size = &secondary_trampoline_end - &secondary_trampoline;
+       int trampoline_size = secondary_trampoline_end - secondary_trampoline;
 
        if (socfpga_cpu1start_addr) {
                /* This will put CPU #1 into reset. */
                writel(RSTMGR_MPUMODRST_CPU1,
                       rst_manager_base_addr + SOCFPGA_RSTMGR_MODMPURST);
 
-               memcpy(phys_to_virt(0), &secondary_trampoline, trampoline_size);
+               memcpy(phys_to_virt(0), secondary_trampoline, trampoline_size);
 
                writel(__pa_symbol(secondary_startup),
                       sys_manager_base_addr + (socfpga_cpu1start_addr & 0x000000ff));
 
 static int socfpga_a10_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
-       int trampoline_size = &secondary_trampoline_end - &secondary_trampoline;
+       int trampoline_size = secondary_trampoline_end - secondary_trampoline;
 
        if (socfpga_cpu1start_addr) {
                writel(RSTMGR_MPUMODRST_CPU1, rst_manager_base_addr +
                       SOCFPGA_A10_RSTMGR_MODMPURST);
-               memcpy(phys_to_virt(0), &secondary_trampoline, trampoline_size);
+               memcpy(phys_to_virt(0), secondary_trampoline, trampoline_size);
 
                writel(__pa_symbol(secondary_startup),
                       sys_manager_base_addr + (socfpga_cpu1start_addr & 0x00000fff));