[LLVMdev] getelementptr results in seg-fault.

Reid Spencer reid at x10sys.com
Sat Jun 12 13:02:01 PDT 2004


On Sat, 2004-06-12 at 10:01, Tobias Nurmiranta wrote:
> Hi!
> 
> Hmm, ok. I'm using the 1.2 release. Found out that it worked when using
> long to index getelementptr, but not when using uint, int or ulong. But
> then I'll try with the CVS code instead. Thank you.
> 
> ,	Tobias
> 

Yes. I guess I should have noticed that. One of the changes in 1.3 is
that you access structures with uint instead of ubyte (as in 1.2) while
accessing arrays is still with longs. The type of the index in both
releases is used to disambiguate between structure and array accesses.
So, for your 1.2 release, please make sure to use long for arrays and
ubyte for structures. When you move to CVS head or 1.3 release (when it
happens), you'll need to use uint to index structures.

See bug 82 for more details:
http://llvm.cs.uiuc.edu/bugs/show_bug.cgi?id=82 

Reid


On Sat, 12 Jun 2004, Reid Spencer wrote:
> > Hi Tobias,
> >
> > I tried your test program on the latest CVS code. Everything worked
> > fine.
> >
> > Can you tell me which version of LLVM you're using?
> >
> > Reid.
> >
> > On Sat, 2004-06-12 at 08:26, Tobias Nurmiranta wrote:
> > > Hi,
> > >
> > > I'm trying to compile and run the following code-snippet:
> > >
> > > implementation
> > >
> > > uint %fie(uint* %x) {
> > >     %e = getelementptr uint* %x, int 1
> > >     ; %f = load uint* %e
> > >     ret uint 3
> > > }
> > >
> > > int %main(int %argc, sbyte** %argv) {
> > >     %z = malloc uint, uint 10
> > >     %g = call uint %fie(uint* %z)
> > >     ret int 0
> > > }
> > >
> > > But the getelementptr instruction gives a segmentation fault. Have I
> > > misunderstood its use? I get segmentation faults when I try to compile it
> > > as well.
> > >
> > > bash-2.05b$ llvm-as -f test.ll
> > > bash-2.05b$ lli test.bc
> > > Segmentation fault
> > > bash-2.05b$ llc -f test.bc
> > > Segmentation fault
> > >
> > > Any ideas of what's wrong?
> > > ,	Tobias
> > >
> > > _______________________________________________
> > > LLVM Developers mailing list
> > > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > > http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20040612/48dc199a/attachment.sig>


More information about the llvm-dev mailing list