Displaying 1 result from an estimated 1 matches for "b_fw".
2014 Dec 08
3
[LLVMdev] Incorrect loop optimization when building the Linux kernel
...ux kernel with clang and observed a crash due to incorrect loop optimization:
drivers/base/firmware_class.c
extern struct builtin_fw __start_builtin_fw[];
extern struct builtin_fw __end_builtin_fw[];
static bool fw_get_builtin_firmware(struct firmware *fw, const char *name)
{
struct builtin_fw *b_fw;
for (b_fw = __start_builtin_fw; b_fw != __end_builtin_fw; b_fw++) {
if (strcmp(name, b_fw->name) == 0) {
fw->size = b_fw->size;
fw->data = b_fw->data;
return true;
}
}
return false;
}
When compiled with -O0, the comparison (b_fw != __end_builtin_fw) is executed befo...