summaryrefslogtreecommitdiff
path: root/arch/arc/lib/relocate.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arc/lib/relocate.c')
-rw-r--r--arch/arc/lib/relocate.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arc/lib/relocate.c b/arch/arc/lib/relocate.c
index 7802f40545..96b4bd3d8f 100644
--- a/arch/arc/lib/relocate.c
+++ b/arch/arc/lib/relocate.c
@@ -17,6 +17,9 @@ int copy_uboot_to_ram(void)
{
size_t len = (size_t)&__image_copy_end - (size_t)&__image_copy_start;
+ if (gd->flags & GD_FLG_SKIP_RELOC)
+ return 0;
+
memcpy((void *)gd->relocaddr, (void *)&__image_copy_start, len);
return 0;
@@ -40,6 +43,9 @@ int do_elf_reloc_fixups(void)
Elf32_Rela *re_src = (Elf32_Rela *)(&__rel_dyn_start);
Elf32_Rela *re_end = (Elf32_Rela *)(&__rel_dyn_end);
+ if (gd->flags & GD_FLG_SKIP_RELOC)
+ return 0;
+
debug("Section .rela.dyn is located at %08x-%08x\n",
(unsigned int)re_src, (unsigned int)re_end);