Re: a question about memory access on IA64

From: David Mosberger <davidm_at_napali.hpl.hp.com>
Date: 2004-01-16 15:59:56
Sorry, but your problem report is still very incomplete.  Please
provide a _self-contained_ minimal test program that reproduces the
problem for you and describe you how compile the program.  Without a
complete test-case there are a million variations of what could be
wrong.

	--david

>>>>> On Fri, 16 Jan 2004 12:02:02 +0800, liuduo <liuduo@sinosoft.com.cn> said:

  Liuduo> David:
  Liuduo> Sorry, i only describe the process about the error occurs .

  Liuduo> typedef struct b{
  Liuduo> char*  pDescriptName;
  Liuduo> char*           pVendorName;
  Liuduo> unsigned int	RevisionID;
  Liuduo> }B;

  Liuduo> typedef struct pci{
  Liuduo> int c;
  Liuduo> struct b bb[512];
  Liuduo> }PCI;

  Liuduo> int main()
  Liuduo> {


  Liuduo> struct pci a;

  Liuduo> //function for operation a
  Liuduo> func(&a);
  Liuduo> return 0;
  Liuduo> }
  Liuduo> the func is in an lib, it's an lib export function, and the func is as 
  Liuduo> follows;

  Liuduo> func(struct pci* a)
  Liuduo> {
  Liuduo> char tmp[256];
  Liuduo> for(num=0;num<512;num++)
  Liuduo> {
  a-> bb[num].pDescriptName = (char*)malloc(100);
  Liuduo> strcpy(a->bb[num].pDescriptName , "dddd");
  a-> bb[num].pVendorName = (char*)malloc(100);
  Liuduo> strcpy(a->bb[num].pVendorName , "fffff");
  a-> bb[num].RevisionID = 22;
  Liuduo> }
  a-> c = 512;
  Liuduo> }
  Liuduo> when call the func , the segmentation fault occurs,
  Liuduo> and then we modified the struct A as follows
  Liuduo> typedef struct pci{
  Liuduo> struct b bb[512];
  Liuduo> int c;
  Liuduo> }PCI;
  Liuduo> it's normal.
  Liuduo> please tell me why?
  Liuduo> thanks a lot.
  Liuduo> -- 
  Liuduo> =======================================
  Liuduo> Liu duo
  Liuduo> tel:(010)62570007-509
  Liuduo> email:liuduo@sinosoft.com.cn
  Liuduo> Sinosoft Software.Co.Ltd.
  Liuduo> Esmpro Group.Secic Department
  Liuduo> =======================================


-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Jan 16 00:00:29 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:21 EST