← Commit list

f4c684a1e

Rob Landley
Rob Landley
2005-08-23
SOURCE BUG Duration: 6s

Subject

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

SOURCE BUG

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)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

util-linux/umount.c+3 -1
@@ -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);
}