Project

General

Profile

Actions

Bug #554

open

CIL errors

Added by Vadim Mutilin over 13 years ago. Updated over 9 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
CIL
Start date:
11/15/2010
Due date:
% Done:

0%

Estimated time:
Detected in build:
5f05c35e935005b61d91716380f69f269883acef
Platform:
Published in build:

Description

Mains with cil errors: 40
Drivers with cil errors: 21

CIL PROBLEMS STATS

Problem "Error: syntax error", counter: 2
Problem "Error: cabs2cil/castTo: illegal cast", counter: 8
Problem "Error: global initializer", counter: 7
Problem "Error: castToBool", counter: 0
Problem "Error: Bad alias attribute at", counter: 1
Problem "error in createGlobal", counter: 1
Problem "Error: Declaration of .* does not match previous declaration from", counter: 1
Problem "Error: Incompatible declaration for", counter: 13
Problem "Error: Cannot resolve variable", counter: 0
Problem "Error: Expected an lval in", counter: 0
Problem "Error: Expected lval", counter: 0
Problem "Error: Expecting a pointer", counter: 0
Problem "Error: Cannot find field", counter: 2
Problem "Error: Length of array is not a constant", counter: 5
Problem "Unmatched: ", counter: 0


Files

out.wiki (339 KB) out.wiki full log of Cil errors Vadim Mutilin, 11/15/2010 05:53 PM
Actions #1

Updated by Vadim Mutilin over 13 years ago

Problem "Error: cabs2cil/castTo: illegal cast", counter: 8
  • 6 drivers: bug in envgen #553
  • 2 drivers: CIL cannot cast char[] to long/int (drivers/net/myri10ge/myri10ge.ko, drivers/crypto/padlock-sha.ko)
Actions #2

Updated by Vadim Mutilin over 13 years ago

Actions #3

Updated by Vadim Mutilin over 13 years ago

  • File deleted (out.wiki)
Actions #4

Updated by Vadim Mutilin over 13 years ago

Drivers from the group "Error: Incompatible declaration for"

drivers/isdn/hardware/eicon/divas.ko (2 mains)

Structure pc_maint has different number of field in io.c(8) and diva.c(7), but the same SIZE.
So gcc has no problem with allocating memory for it. Cil does not know what to do.

  • drivers/isdn/hardware/eicon/io.c:
    #define MIPS_SCOM
    #include "pkmaint.h" /* pc_maint.h, packed in os-dependent fashion */
    
  • drivers/isdn/hardware/eicon/diva.c:
    #include "pc_maint.h" 
    
    
#if !defined(MIPS_SCOM)
struct pc_maint
{
  byte req;
  byte rc;
  POINTER_32BIT mem;
  short length;
  word port;
  byte fill[6];
  BUFFER data;
};
#else
struct pc_maint
{
  byte req;
  byte rc;
  byte reserved[2];     /* R3000 alignment ... */
  POINTER_32BIT mem;
  short length;
  word port;
  byte fill[4];         /* data at offset 16   */
  BUFFER data;
};
#endif

The same for drivers/net/chelsio/cxgb.ko (7 mains)
drivers/net/chelsio/pm3393.c

struct _cmac_instance {
    u8 enabled;
    u8 fc;
    u8 mac_addr[6];
};

drivers/net/chelsio/vsc7326.c

struct _cmac_instance {
    u32 index;
    u32 ticks;
};

drivers/char/ipmi/ipmi_si.ko (4 mains)
different number of fields in si_sm_data: 13 != 11 !=15.
But gcc still has no problems.

drivers/char/ipmi/ipmi_kcs_sm.c

struct si_sm_data {
    enum kcs_states  state;
    struct si_sm_io *io;
    unsigned char    write_data[MAX_KCS_WRITE_SIZE];
    int              write_pos;
    int              write_count;
    int              orig_write_count;
    unsigned char    read_data[MAX_KCS_READ_SIZE];
    int              read_pos;
    int             truncated;

    unsigned int  error_retries;
    long          ibf_timeout;
    long          obf_timeout;
    unsigned long  error0_timeout;
};

drivers/char/ipmi/ipmi_smic_sm.c

struct si_sm_data {
    enum smic_states state;
    struct si_sm_io *io;
    unsigned char     write_data[MAX_SMIC_WRITE_SIZE];
    int         write_pos;
    int         write_count;
    int         orig_write_count;
    unsigned char     read_data[MAX_SMIC_READ_SIZE];
    int         read_pos;
    int         truncated;
    unsigned int     error_retries;
    long         smic_timeout;
};

drivers/char/ipmi/ipmi_bt_sm.c

struct si_sm_data {
    enum bt_states    state;
    unsigned char    seq;        /* BT sequence number */
    struct si_sm_io    *io;
    unsigned char    write_data[IPMI_MAX_MSG_LENGTH];
    int        write_count;
    unsigned char    read_data[IPMI_MAX_MSG_LENGTH];
    int        read_count;
    int        truncated;
    long        timeout;    /* microseconds countdown */
    int        error_retries;    /* end of "common" fields */
    int        nonzero_status;    /* hung BMCs stay all 0 */
    enum bt_states    complete;    /* to divert the state machine */
    int        BT_CAP_outreqs;
    long        BT_CAP_req2rsp;
    int        BT_CAP_retries;    /* Recommended retries */
};

Actions #5

Updated by Evgeny Novikov almost 10 years ago

Proper place for CIL related bugs is its bugzilla, since we will unlikely fix them by ourselves. So reopen this issue there and mark this here.

Actions #6

Updated by Vadim Mutilin over 9 years ago

  • Category set to CIL
Actions

Also available in: Atom PDF