summaryrefslogtreecommitdiffstats
path: root/target/linux/adm5120-2.6/image/lzma-loader
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/adm5120-2.6/image/lzma-loader')
-rw-r--r--target/linux/adm5120-2.6/image/lzma-loader/src/decompress.c17
-rw-r--r--target/linux/adm5120-2.6/image/lzma-loader/src/loader.lds2
-rw-r--r--target/linux/adm5120-2.6/image/lzma-loader/src/lzma-data.lds3
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 = .;