Build Error from

gmake[1]: Entering directory `/home/ryan/llvm/llvm_core/trunk/lib/VMCore’
llvm[1]: Building Intrinsics.gen.tmp from
terminate called after throwing an instance of ‘std::bad_alloc’
what(): std::bad_alloc
0 llvm-tblgen 0x000000000058525f
1 llvm-tblgen 0x0000000000585719
2 0x00002b05a7801c60
3 0x00002b05a83ead05 gsignal + 53
4 0x00002b05a83eeab6 abort + 390
5 0x00002b05a7f556dd __gnu_cxx::__verbose_terminate_handler() + 285
6 0x00002b05a7f53926
7 0x00002b05a7f53953
8 0x00002b05a7f53a5e
9 0x00002b05a7f53e6d operator new(unsigned long) + 125
10 0x00002b05a7f36e6d std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator const&) + 93
11 0x00002b05a7f38905 char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator const&, std::forward_iterator_tag) + 53
12 0x00002b05a7f389ca std::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, unsigned long, std::allocator const&) + 26
13 llvm-tblgen 0x000000000056dfed
14 llvm-tblgen 0x000000000051f3c1
15 0x00002b05a83d5eff __libc_start_main + 255
16 llvm-tblgen 0x0000000000406b7d
Stack dump:
0. Program arguments: /home/ryan/llvm/llvm_core/trunk/Release+Asserts/bin/llvm-tblgen -I /home/ryan/llvm/llvm_core/trunk/lib/VMCore -I /home/ryan/llvm/llvm_core/trunk/include -I /home/ryan/llvm/llvm_core/trunk/include -I /home/ryan/llvm/llvm_core/trunk/lib/Target /home/ryan/llvm/llvm_core/trunk/include/llvm/ -o /home/ryan/llvm/llvm_core/trunk/lib/VMCore/Release+Asserts/Intrinsics.gen.tmp -gen-intrinsic

Anyone else having this issue?

Tried a fresh checkout with the same issue. I’m assuming this issue must be on my end.

Dumb question: do you have a restrictive ulimit setting that might cause the tblgen program to run out of memory? I tend to doubt that this is the case, but it’d be good to double check. – John T.


Thanks for responding. No, I don’t see a limit from ulimit. It’s definitely with the tblgen though, I have the same errors trying to compile clang.

ulimit -s = 8192
set “ulimit -c unlimited”

What files are created by the TableGen so that I can clean them out and start fresh?

Sorry, here’s something a little more descript:

core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 20
file size (blocks, -f) unlimited
pending signals (-i) 16382
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) unlimited
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

Usually it is the ones that end in “.inc”.

Here’s another question. It’s failing on a clean checkout, so what does llvm use from a previous install that I would need to clean when installing a new clean checkout?

Ok, thanks guys, I just manually deleted clang, clang++ and clang-tblgen (probably the only one I needed was the this latter) and the build is going past that old point.

Thanks again.

Curious though, I had X86_32 set to big endian but X86_64 (which I’m using) set to default (ie little endian), can’t think of any good reason this might be a problem?

Ryan Taylor <> writes:

Here's another question. It's failing on a clean checkout, so what does
llvm use from a previous install that I would need to clean when installing
a new clean checkout?

Nothing, unless you are building with clang.