When compiling with FEATURE_MTAB_SUPPORT disabled, the call to erase_mtab() can never be made because useMtab is initialized to 0, and all the other assignments of that variable assign 0 to it. Any compiler that can perform simple constant propogation on local variables will optimize away if statem
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -116,7 +116,9 @@ extern int umount_main(int argc, char **argv) | |
| del_loop(m->device); | |
| if(curstat) { | |
| - | if(useMtab && m) erase_mtab(m->dir); |
| + | /* Yes, the ENABLE is redundant here, but the optimizer for ARM |
| + | * can't do simple constant propogation in local variables... */ |
| + | if(ENABLE_FEATURE_MTAB_SUPPORT && useMtab && m) erase_mtab(m->dir); |
| status = EXIT_FAILURE; | |
| bb_perror_msg("Couldn't umount %s\n", path); | |
| } | |