there.
This changes the interpreter to use libffi. After this patch, the interpreter
will barely be able to call any external functions if built on a system without
libffi installed (just enough to pass 'make check' really). But with libffi,
we can now call any function that isn't variadic or taking a struct or vector
parameter (but pointer to struct is fine). Patch by Alexei Svitkine!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63723 91177308-0d34-0410-b5e6-96231b3b80d8
This requires a rebuild of 'configure' itself. I will be committing that next, but
built with the wrong version of autoconf. Somebody who has the right one, please update
it.
As a side-note, because of the way autoconf works, all built tools will link against
libffi, not just lli. If you know how to fix this, please let me know ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62553 91177308-0d34-0410-b5e6-96231b3b80d8
runnable on the build machine.
There are a few bits that need built for the build environment (TableGen).
This patch builds those bits, and the associated libraries, for the build
environment as well as the (usual) host environment.
Thanks to Eric C. and Devang P. for pre-commit review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56975 91177308-0d34-0410-b5e6-96231b3b80d8
We will keep the old projects/llvm-test working for existing installs.
The changes to configure are made manually, since I lack autoconf-2.6. Someone
might want to run AutoGen.sh to see if that changes anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52675 91177308-0d34-0410-b5e6-96231b3b80d8
put it in a new header System/Host.h instead.
Instead of getting the endianness from configure,
calculate it directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44959 91177308-0d34-0410-b5e6-96231b3b80d8
using the minimum possible number of bytes. For little
endian targets run on little endian machines, apints are
stored in memory from LSB to MSB as before. For big endian
targets on big endian machines they are stored from MSB to
LSB which wasn't always the case before (if the target and
host endianness doesn't match values are stored according
to the host's endianness). Doing this requires knowing the
endianness of the host, which is determined when configuring -
thanks go to Anton for this. Only having access to little
endian machines I was unable to properly test the big endian
part, which is also the most complicated...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44796 91177308-0d34-0410-b5e6-96231b3b80d8
- Fix typo in SPUCallingConv.td
- Credit myself for CellSPU work
- Add CellSPU to 'all' host target list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44627 91177308-0d34-0410-b5e6-96231b3b80d8
stdlib if it's beneath --prefix, and is libdir/ocaml otherwise.
If someone has a better way than this to test whether $B is a path
within $A, I'd love to hear it:
if test "$A" \< "$B" -a "$B" \< "${A}~"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42532 91177308-0d34-0410-b5e6-96231b3b80d8
The AC_CHECK_HEADER macro was used instead of AC_CHECK_HEADERS. The former does
not automatically add a #define to the configure variables while the latter
does. Consequently, the HAVE_PTHREAD_H symbol was not defined which caused the
Mutex.cpp file to compile to an empty implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41137 91177308-0d34-0410-b5e6-96231b3b80d8
JITer (short path is added for darwin). This is needed to properly JIT llvm-gcc-4.2-built
binaries, since cxa_atexit is enabled by default on much more targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40600 91177308-0d34-0410-b5e6-96231b3b80d8
* autoconf/AutoRegen.sh: use variables for autofoo versions
* autoconf/configure.ac: test for some more functions
that are not guaranteed on solaris
Note: the svn:mime-type of autoconf/AutoRegen.sh
should be set to something that allows for
text compares using svn diff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39800 91177308-0d34-0410-b5e6-96231b3b80d8
--enable-expensive-checks allows the developer to enable runtime
checking that can greatly increase compile time. Currently it only
turns on _GLIBCXX_DEBUG. Other expensive debugging checks added later
should be controlled by this configure option.
This patch also updates llvm-config with a --cppflags option to inform
llvm-gcc how to build itself so that it is compatible with an llvm that
was built with _GLIBCXX_DEBUG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37777 91177308-0d34-0410-b5e6-96231b3b80d8
Change the llvm-gcc sanity check to look for "target datalayout" instead
of "implementation". The implementation keyword is no longer generated
by llvm or llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35451 91177308-0d34-0410-b5e6-96231b3b80d8
Add HAVE_PTHREAD to makefiles with support from configure and use it to
determine whether to build examples/ParallelJIT.
Patch by Anton Korobeynikov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32054 91177308-0d34-0410-b5e6-96231b3b80d8
premature, these libraries will be going away for the 2.0 release. Other
arrangements for profiling, gc, etc. should be made in the next few months.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31807 91177308-0d34-0410-b5e6-96231b3b80d8
stands a chance of being compiled with a non C99 C compiler. The default
is enabled so you must specifically disable this feature if you want the
CBE output compiled with an older C compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31461 91177308-0d34-0410-b5e6-96231b3b80d8
Update ltld.[ch] to version 1.5.22.
Correct the notes about updating these tools (autoconf/README.TXT)
Add configure options for getting the correct option for including a whole
archive when linking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29529 91177308-0d34-0410-b5e6-96231b3b80d8
1. Get the path to the pwd binary (/bin/pwd usually) from configure.
2. Use that path to run pwd in all path variables set in Makefile.config.in
The hope is that these changes will resolve symlinks to physical paths. This
should work on all platforms where the binary pwd defaults to printing
physical paths. The shell version of pwd generally doesn't (it will print
the symlink path).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29381 91177308-0d34-0410-b5e6-96231b3b80d8
have a compile-host version of "nm", not build-host. In order to effect this
we must use autoconf to determine the correct "nm" to use and propagate that
through the makefiles, through llvm-config and finally to GenLibDeps.pl as
an optional argument.
Patch contributed by Anton Korobeynikov. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29368 91177308-0d34-0410-b5e6-96231b3b80d8
Provide support for making cross-compiling builds. See the PR for details.
Patch provided by Anton Korobeynikov. Thanks, Anton!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29309 91177308-0d34-0410-b5e6-96231b3b80d8
Add configure checks for setjmp/longjmp for Chris. I can't believe this easy
PR has been outstanding for so long. If I don't get to something, please
remind me! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28686 91177308-0d34-0410-b5e6-96231b3b80d8
are available. These libraries are used in lib/System and should be
included on the link line or if not available generate an error when
building lib/System.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28628 91177308-0d34-0410-b5e6-96231b3b80d8