Regarding compiler option "-mstrict" for SPARC Processor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi !!

Iam facing a problem 
struct name
{
 int a[5];

};

struct mrreqchgresr_s
{
  SIGSELECT signo;           /* Signal number         
                  */
  W16 cell;                  /* Cell individual       
                  */
  W8  chgType;               /* Change type           
                  */
                             /* 0 = "Upgrade abis
path"                  */
                             /* 1 = "Downgrade abis
path"                */
  W16  lpset;                /* LPSET individual      
                  */
  W8   noOfLpdchs;           /* Number of LPDCHs      
                  */
  W16  lpdchInd[8];          /* List of LPDCH
individuals                */
  W8   result;               /* Request result        
                  */                        
                             /* 0 = Successful, change
possible          */
                             /* 1 = Unsuccessful, no
change possible     */
};

Two structs are defined and then there was a faulty
definition of the "signal" using the the
wrong struct and then trying to send the signal gave
the fault, like:
#define MRREQCHGRESR_S   sizeof(struct mrreqchgres_s)
Later on when sending the signal like following it
gave the error because the memory allocated
is not enough:
    sig_p = OS_alloc(MRREQCHGRESR_S, MRREQCHGRESR);
    sig_p -> mrreqchgresr.result = FALSE;

    OS_send(&sig_p, cceProcessId);

The correct way of coding this should be :
#define MRREQCHGRESR_S   sizeof(struct mrreqchgresr_s)
and then sending of signal:
    sig_p = OS_alloc(MRREQCHGRESR_S, MRREQCHGRESR);
    sig_p -> mrreqchgresr.result = FALSE;

    OS_send(&sig_p, cceProcessId);
This works and doesn't generate any fault in RPP nor
Razorsim.

The problem is that there should have been a restart
of the Razorsim when executing the
"faulty" code.

regards 
/clas



		
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail 

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux