diff options
Diffstat (limited to 'target/linux/adm5120-2.6/image/lzma-loader')
3 files changed, 17 insertions, 5 deletions
diff --git a/target/linux/adm5120-2.6/image/lzma-loader/src/decompress.c b/target/linux/adm5120-2.6/image/lzma-loader/src/decompress.c index f867e20dc..ffc87ee0d 100644 --- a/target/linux/adm5120-2.6/image/lzma-loader/src/decompress.c +++ b/target/linux/adm5120-2.6/image/lzma-loader/src/decompress.c @@ -277,9 +277,20 @@ void decompress_entry(unsigned long reg_a0, unsigned long reg_a1, (unsigned char*)LOADADDR, osize, &i); #endif if (res != LZMA_RESULT_OK) { - print_str("failed, LzmaDecode error: "); - print_hex(res); - print_str("\n"); + print_str("failed!\n"); + print_str("LzmaDecode: "); + switch (res) { + case LZMA_RESULT_DATA_ERROR: + print_str("data error\n"); + break; + case LZMA_RESULT_NOT_ENOUGH_MEM: + print_str("not enough memory\n"); + break; + default: + print_str("unknown error, err=0x"); + print_hex(res); + print_str("\n"); + } halt(); } diff --git a/target/linux/adm5120-2.6/image/lzma-loader/src/loader.lds b/target/linux/adm5120-2.6/image/lzma-loader/src/loader.lds index f9358257c..bae70fb6e 100644 --- a/target/linux/adm5120-2.6/image/lzma-loader/src/loader.lds +++ b/target/linux/adm5120-2.6/image/lzma-loader/src/loader.lds @@ -6,6 +6,8 @@ SECTIONS { *(.text.*) *(.rodata) *(.rodata.*) + . = ALIGN(16); + *(.data.lzma) } .data : { diff --git a/target/linux/adm5120-2.6/image/lzma-loader/src/lzma-data.lds b/target/linux/adm5120-2.6/image/lzma-loader/src/lzma-data.lds index b6984d742..abf756ba1 100644 --- a/target/linux/adm5120-2.6/image/lzma-loader/src/lzma-data.lds +++ b/target/linux/adm5120-2.6/image/lzma-loader/src/lzma-data.lds @@ -1,7 +1,6 @@ OUTPUT_ARCH(mips) SECTIONS { - .rodata : { - . = ALIGN(16); + .data.lzma : { _lzma_data_start = .; *(.data) _lzma_data_end = .; |