Project

General

Profile

Actions

Bug #920

closed

BLAST fails with Exception in Simplemem.simplemem

Added by Pavel Shved about 13 years ago. Updated over 12 years ago.

Status:
Closed
Priority:
Low
Assignee:
Category:
-
Target version:
Start date:
03/09/2011
Due date:
08/10/2011
% Done:

0%

Estimated time:
Detected in build:
svn
Platform:
Published in build:

Description

In bug #429, comment #3 (link), Alexey reports the following error:

Now, I have another example of uninformative Errormsg.Error descriptor coming from the following BLAST trace:

...32_7/drivers/isdn/hisax/config.c:1988: Warning: .../32_7/drivers/isdn/hisax/config.c:1988: CIL only supports attribute((alias)) for functions.

Bug: Visitor's instruction queue is not empty.
  You should only use queueInstr inside a function body!
Exception in Simplemem.simplemem: Errormsg.Error
Timings:
TOTAL                          0.960 s (1)
  Parse:                         0.960 s (1)
Ack! The gremlins again!: Errormsg.Error
Ack! The gremlins again!: Errormsg.Error
Fatal error: exception Errormsg.Error

It may be a problem in the interaction between rerouter and "simplemem" functionality (unrolling complex assignments with derefs).


Related issues 1 (0 open1 closed)

Related to BLAST - Bug #338: CIL can't preprocess__padding or __builtin_offsetof in rules 60_1 and 68_1ClosedPavel Shved08/05/201008/10/2011

Actions
Actions #1

Updated by Pavel Shved over 12 years ago

  • Due date set to 08/10/2011
  • Status changed from New to Open

It is a bug in simplemem. Here's a sample code that causes the problem:

static struct acpi_offsets extended_info_offsets[] = {
 {__builtin_offsetof(struct acpi_battery,power_unit), 0},
};

If such an initialization happens inside a function, then it's OK, since CIL knows how to add auxiliary variables assignments to a function. But if it happens at the global variables level, it fails with the error given above.

Will try either to fix it, or to shut the warnings off.

Actions #2

Updated by Pavel Shved over 12 years ago

  • Status changed from Open to Resolved

Fixed in commit:3929577. These expressions are left untouched, and we just go for an assumption that they aren't used anyway (actually, any result would be better than a parsing error).

Actions #3

Updated by Pavel Shved over 12 years ago

  • Status changed from Resolved to Closed
Actions #4

Updated by Pavel Shved over 12 years ago

  • Project changed from Linux Driver Verification to BLAST
  • Category deleted (BLAST)
Actions #5

Updated by Pavel Shved over 12 years ago

  • Target version set to 2.6
Actions

Also available in: Atom PDF