Hi Albert, On Tuesday, May 14, 2013 10:02:58 PM, Albert ARIBAUD wrote: > This change is only done where needed: some linker > scripts may contain relocation symbols yet remain > unchanged. > > __rel_dyn_start, __rel_dyn_end and __dynsym_start > each requires its own output section; putting them > in relocation sections changes the sections' nature > which breaks relocation. > > Signed-off-by: Albert ARIBAUD <albert.u.b...@aribaud.net>
[...] > diff --git a/arch/arm/lib/relocate.S b/arch/arm/lib/relocate.S > index 2f22c8c..818735c 100644 > --- a/arch/arm/lib/relocate.S > +++ b/arch/arm/lib/relocate.S > @@ -54,12 +54,9 @@ copy_loop: > /* > * fix .rel.dyn relocations > */ > - ldr r10, _dynsym_start_ofs /* r10 <- sym table ofs */ > - add r10, r10, r9 /* r10 <- sym table in FLASH */ > - ldr r2, _rel_dyn_start_ofs /* r2 <- rel dyn start ofs */ > - add r2, r2, r9 /* r2 <- rel dyn start in FLASH */ > - ldr r3, _rel_dyn_end_ofs /* r3 <- rel dyn end ofs */ > - add r3, r3, r9 /* r3 <- rel dyn end in FLASH */ > + ldr r10, =__dynsym_start /* r10 <- sym table ofs */ > + ldr r2, =__rel_dyn_start /* r2 <- rel dyn start ofs */ > + ldr r3, =__rel_dyn_end /* r3 <- rel dyn end ofs */ 'ofs' -> 'in FLASH' in the comments of the 3 lines above. > fixloop: > ldr r0, [r2] /* r0 <- SRC location to fix up */ > add r0, r0, r9 /* r0 <- DST location to fix up */ > @@ -98,11 +95,4 @@ relocate_done: > bx lr > #endif > > -_rel_dyn_start_ofs: > - .word __rel_dyn_start - relocate_code > -_rel_dyn_end_ofs: > - .word __rel_dyn_end - relocate_code > -_dynsym_start_ofs: > - .word __dynsym_start - relocate_code > - > ENDPROC(relocate_code) [...] Best regards, Benoît _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot