mirror of
https://github.com/u-boot/u-boot.git
synced 2024-11-24 04:34:22 +08:00
Fix serious pointer bug with bootm and reserve map.
What was suppose to be a stack variable was declared as a pointer, overwriting random memory. Also moved the libfdt.a requirement into the main Makefile. That is The U-Boot Way.
This commit is contained in:
parent
37837828d8
commit
7651f8bdbb
1
Makefile
1
Makefile
@ -219,6 +219,7 @@ LIBS += $(shell if [ -d post/cpu/$(CPU) ]; then echo \
|
||||
LIBS += $(shell if [ -d post/board/$(BOARDDIR) ]; then echo \
|
||||
"post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
|
||||
LIBS += common/libcommon.a
|
||||
LIBS += libfdt/libfdt.a
|
||||
LIBS += $(BOARDLIBS)
|
||||
|
||||
LIBS := $(addprefix $(obj),$(LIBS))
|
||||
|
@ -26,8 +26,3 @@
|
||||
#
|
||||
|
||||
TEXT_BASE = 0xFE000000
|
||||
|
||||
#
|
||||
# Additional board-specific libraries
|
||||
#
|
||||
BOARDLIBS = libfdt/libfdt.a
|
||||
|
@ -56,7 +56,7 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
|
||||
}
|
||||
|
||||
if (initrd_start && initrd_end) {
|
||||
struct fdt_reserve_entry *re;
|
||||
struct fdt_reserve_entry re;
|
||||
int used;
|
||||
int total;
|
||||
int j;
|
||||
@ -77,7 +77,7 @@ int fdt_chosen(void *fdt, ulong initrd_start, ulong initrd_end, int force)
|
||||
*/
|
||||
for (j = 0; j < used; j++) {
|
||||
err = fdt_get_reservemap(fdt, j, &re);
|
||||
if (re->address == initrd_start) {
|
||||
if (re.address == initrd_start) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user