summaryrefslogtreecommitdiff
path: root/utils/imxtools/sbtools/sbtoelf.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils/imxtools/sbtools/sbtoelf.c')
-rw-r--r--utils/imxtools/sbtools/sbtoelf.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/utils/imxtools/sbtools/sbtoelf.c b/utils/imxtools/sbtools/sbtoelf.c
index 578135d7ca..86c37f3e4c 100644
--- a/utils/imxtools/sbtools/sbtoelf.c
+++ b/utils/imxtools/sbtools/sbtoelf.c
@@ -263,13 +263,14 @@ static void usage(void)
263 printf(" -s/--no-simpl Prevent elf files from being simplified*\n"); 263 printf(" -s/--no-simpl Prevent elf files from being simplified*\n");
264 printf(" -x Use default sb1 key\n"); 264 printf(" -x Use default sb1 key\n");
265 printf(" -b Brute force key\n"); 265 printf(" -b Brute force key\n");
266 printf(" --ignore-sha1 Ignore SHA-1 mismatch*\n");
266 printf("Options marked with a * are for debug purpose only\n"); 267 printf("Options marked with a * are for debug purpose only\n");
267 exit(1); 268 exit(1);
268} 269}
269 270
270int main(int argc, char **argv) 271int main(int argc, char **argv)
271{ 272{
272 bool raw_mode = false; 273 unsigned flags = 0;
273 const char *loopback = NULL; 274 const char *loopback = NULL;
274 bool force_sb1 = false; 275 bool force_sb1 = false;
275 bool force_sb2 = false; 276 bool force_sb2 = false;
@@ -288,6 +289,7 @@ int main(int argc, char **argv)
288 {"v1", no_argument, 0, '1'}, 289 {"v1", no_argument, 0, '1'},
289 {"v2", no_argument, 0, '2'}, 290 {"v2", no_argument, 0, '2'},
290 {"no-simpl", no_argument, 0, 's'}, 291 {"no-simpl", no_argument, 0, 's'},
292 {"ignore-sha1", no_argument, 0, 254},
291 {0, 0, 0, 0} 293 {0, 0, 0, 0}
292 }; 294 };
293 295
@@ -339,7 +341,7 @@ int main(int argc, char **argv)
339 break; 341 break;
340 } 342 }
341 case 'r': 343 case 'r':
342 raw_mode = true; 344 flags |= SB_RAW_MODE;
343 break; 345 break;
344 case 'a': 346 case 'a':
345 { 347 {
@@ -364,6 +366,9 @@ int main(int argc, char **argv)
364 case 'b': 366 case 'b':
365 brute_force = true; 367 brute_force = true;
366 break; 368 break;
369 case 254:
370 flags |= SB_IGNORE_SHA1;
371 break;
367 default: 372 default:
368 bug("Internal error: unknown option '%c'\n", c); 373 bug("Internal error: unknown option '%c'\n", c);
369 } 374 }
@@ -390,7 +395,7 @@ int main(int argc, char **argv)
390 if(force_sb2 || ver == SB_VERSION_2) 395 if(force_sb2 || ver == SB_VERSION_2)
391 { 396 {
392 enum sb_error_t err; 397 enum sb_error_t err;
393 struct sb_file_t *file = sb_read_file(sb_filename, raw_mode, NULL, generic_std_printf, &err); 398 struct sb_file_t *file = sb_read_file(sb_filename, flags, NULL, generic_std_printf, &err);
394 if(file == NULL) 399 if(file == NULL)
395 { 400 {
396 color(OFF); 401 color(OFF);