Re: [klee-dev] Strange compilation failure on 32-bit FreeBSD

2020-12-13 Thread Gleb Popov
On Mon, Dec 14, 2020 at 12:28 AM Cristian Cadar 
wrote:

> Hi Gleb,
>
> Please see the discussion at https://github.com/klee/klee/issues/1327.
>
> In short, we're not supporting 32-bit platforms anymore, but if someone
> wants to revive support for this, we're happy to accept such a
> contribution.
>

Just as I thought, thanks for clearing this up. I'll just mark the port
with NOT_FOR_ARCHS=i386


> Best,
> Cristian
>
> On 13/12/2020 19:55, Gleb Popov wrote:
> > Hello KLEE devs.
> >
> > I stumbled upon a strange building failure when trying to compile KLEE
> > on i386 FreeBSD. Here's the log:
> >
> > In file included from
> > /wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.cpp:10:
> > In file included from
> > /wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.h:15:
> > /usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:147:3: error:
> > static_assert failed due to requirement '3U <=
> > PointerLikeTypeTraits::NumLowBitsAvailable'
> > "PointerIntPair with integer size too large for pointer"
> >   static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
> >   ^ ~
> > /usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:71:13: note: in
> > instantiation of template class
> > 'llvm::PointerIntPairInfo > llvm::PointerLikeTypeTraits >' requested here
> > Value = Info::updatePointer(0, PtrVal);
> > ^
> > /usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:56:47: note: in
> > instantiation of member function 'llvm::PointerIntPair > *, 3, unsigned char, llvm::PointerLikeTypeTraits,
> > llvm::PointerIntPairInfo > ointerLikeTypeTraits > >::initWithPointer' requested
> > here
> >   explicit PointerIntPair(PointerTy PtrVal) { initWithPointer(PtrVal); }
> >   ^
> > /wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.cpp:35:12:
> > note: in instantiation of member function
> > 'llvm::PointerIntPair > llvm::PointerLikeTypeTraits,
> > llvm::PointerIntPairInfo > *, 3, llvm::PointerLikeTypeTraits >
> >  >::PointerIntPair' requested here
> > : root(PTreeNodePtr(new PTreeNode(nullptr, initialState))) {
> >^
> >
> > Any ideas what might be wrong here?
> >
> > Thanks in advance.
> >
> > ___
> > klee-dev mailing list
> > klee-dev@imperial.ac.uk
> > https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
> >
>
> ___
> klee-dev mailing list
> klee-dev@imperial.ac.uk
> https://mailman.ic.ac.uk/mailman/listinfo/klee-dev
>
___
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev


Re: [klee-dev] Strange compilation failure on 32-bit FreeBSD

2020-12-13 Thread Cristian Cadar

Hi Gleb,

Please see the discussion at https://github.com/klee/klee/issues/1327.

In short, we're not supporting 32-bit platforms anymore, but if someone 
wants to revive support for this, we're happy to accept such a contribution.


Best,
Cristian

On 13/12/2020 19:55, Gleb Popov wrote:

Hello KLEE devs.

I stumbled upon a strange building failure when trying to compile KLEE 
on i386 FreeBSD. Here's the log:


In file included from 
/wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.cpp:10:
In file included from 
/wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.h:15:
/usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:147:3: error: 
static_assert failed due to requirement '3U <= 
PointerLikeTypeTraits::NumLowBitsAvailable' 
"PointerIntPair with integer size too large for pointer"

  static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
  ^ ~
/usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:71:13: note: in 
instantiation of template class 
'llvm::PointerIntPairInfollvm::PointerLikeTypeTraits >' requested here

    Value = Info::updatePointer(0, PtrVal);
    ^
/usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:56:47: note: in 
instantiation of member function 'llvm::PointerIntPair*, 3, unsigned char, llvm::PointerLikeTypeTraits, 
llvm::PointerIntPairInfoointerLikeTypeTraits > >::initWithPointer' requested 
here

  explicit PointerIntPair(PointerTy PtrVal) { initWithPointer(PtrVal); }
  ^
/wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.cpp:35:12: 
note: in instantiation of member function 
'llvm::PointerIntPairllvm::PointerLikeTypeTraits, 
llvm::PointerIntPairInfo*, 3, llvm::PointerLikeTypeTraits > 
 >::PointerIntPair' requested here

    : root(PTreeNodePtr(new PTreeNode(nullptr, initialState))) {
   ^

Any ideas what might be wrong here?

Thanks in advance.

___
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev



___
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev


Re: [klee-dev] Strange compilation failure on 32-bit FreeBSD

2020-12-13 Thread Frank Busse
Hi,


On Sun, 13 Dec 2020 23:55:25 +0400
Gleb Popov  wrote:

> Hello KLEE devs.
> 
> I stumbled upon a strange building failure when trying to compile
> KLEE on i386 FreeBSD. Here's the log:
> 
> [...]
> 
> Any ideas what might be wrong here?

The latest PTree implementation uses bit-stealing (fat pointers) and
defaults to three bits:

https://github.com/klee/klee/blob/master/lib/Core/PTree.h#L25

On 32bit systems you simply can't reserve 3 bits due to smaller
alignments. One could fix it but KLEE does not support 32bit host
systems anymore I'm afraid.


Kind regards,

Frank

___
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev


[klee-dev] Strange compilation failure on 32-bit FreeBSD

2020-12-13 Thread Gleb Popov
Hello KLEE devs.

I stumbled upon a strange building failure when trying to compile KLEE on
i386 FreeBSD. Here's the log:

In file included from
/wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.cpp:10:
In file included from
/wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.h:15:
/usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:147:3: error:
static_assert failed due to requirement '3U <=
PointerLikeTypeTraits::NumLowBitsAvailable'
"PointerIntPair with integer size too large for pointer"
 static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
 ^ ~
/usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:71:13: note: in
instantiation of template class 'llvm::PointerIntPairInfo >' requested here
   Value = Info::updatePointer(0, PtrVal);
   ^
/usr/local/llvm90/include/llvm/ADT/PointerIntPair.h:56:47: note: in
instantiation of member function 'llvm::PointerIntPair,
llvm::PointerIntPairInfo > >::initWithPointer' requested
here
 explicit PointerIntPair(PointerTy PtrVal) { initWithPointer(PtrVal); }
 ^
/wrkdirs/usr/ports/security/klee/work/klee-2.2/lib/Core/PTree.cpp:35:12:
note: in instantiation of member function
'llvm::PointerIntPair,
llvm::PointerIntPairInfo > >::PointerIntPair'
requested here
   : root(PTreeNodePtr(new PTreeNode(nullptr, initialState))) {
  ^

Any ideas what might be wrong here?

Thanks in advance.
___
klee-dev mailing list
klee-dev@imperial.ac.uk
https://mailman.ic.ac.uk/mailman/listinfo/klee-dev