[U-Boot] [PATCH v1] Refactor linker-generated arrays
Daniel Schwierzeck
daniel.schwierzeck at gmail.com
Sat Feb 2 18:51:38 CET 2013
Hi Albert,
2013/2/2 Albert ARIBAUD <albert.u.boot at aribaud.net>:
> Refactor linker-generated array code so that symbols
> which were previously linker-generated are now compiler-
> generated. This causes relocation records of type
> R_ARM_ABS32 to become R_ARM_RELATIVE, which makes
> code which uses LGA able to run before relocation as
> well as after.
>
> Note: this affects more than ARM targets, as linker-
> lists span possibly all target architectures, notably
> PowerPC.
>
> Signed-off-by: Albert ARIBAUD <albert.u.boot at aribaud.net>
> ---
for the MIPS part:
Tested-by: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
BTW: if we use
.u_boot_list : {
KEEP(*(SORT(.u_boot_list*)))
}
we can get rid of the undef magic in the final link of u-boot
--- a/Makefile
+++ b/Makefile
@@ -559,10 +559,8 @@ GEN_UBOOT = \
$(PLATFORM_LIBS) -Wl,-Map -Wl,u-boot.map -o u-boot
else
GEN_UBOOT = \
- UNDEF_LST=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
- sed -n -e
's/.*\($(SYM_PREFIX)_u_boot_list_.*\)/-u\1/p'|sort|uniq`;\
cd $(LNDIR) && $(LD) $(LDFLAGS) $(LDFLAGS_$(@F)) \
- $$UNDEF_LST $(__OBJS) \
+ $(__OBJS) \
--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
-Map u-boot.map -o u-boot
endif
--
Best regards,
Daniel
More information about the U-Boot
mailing list