Commit Graph

460 Commits

Author SHA1 Message Date
38454ce7d4 fix MSVC build of test JNI library 2012-08-15 17:43:45 -06:00
b325221579 rename "resource" URL protocol to "avian_vm_resource"
This fixes a problem with JOSM, which attaches its own meaning to the
"resource" protocol.  The new name is less likely to cause such
conflicts.
2012-08-11 19:01:32 -06:00
021590af05 fix JNI test for openjdk-src build 2012-08-04 18:50:43 -06:00
2fb2fd9bb0 put test library in same directory as avian executable
This is a workaround for the fact that there's no precise equivalent
to LD_LIBRARY_PATH available on Windows.
2012-08-02 13:00:00 -06:00
296a1e5bab use so-prefix and so-suffix to generate test library name
This fixes the JNI test for Windows and OS X.
2012-08-02 12:47:48 -06:00
f03e5e8e55 clean up binary format code
Linux, FreeBSD, and QNX all use ELF, so no need to distinguish between
them when generating object files.  To avoid confusion, I've switch
from using operating system names to using binary format names where
applicable.
2012-08-02 12:39:24 -06:00
3a1343fb06 add support for FreeBSD on x86_64 2012-08-02 10:49:32 -06:00
c1aa0b46b5 add support for FreeBSD 2012-08-02 10:41:41 -06:00
57e318bbec revert accidentally-committed build-cc/build-cxx change 2012-08-02 10:41:43 -06:00
67ec092e9a add JNI test to test suite 2012-08-01 16:04:12 +00:00
4bafdf6286 add QNX ARM support
This is untested so far, since I haven't figured out how to install
the ARM port of QNX on QEMU.
2012-07-17 19:38:39 -06:00
4237a19b68 add support for QNX on x86_32
All but one test is passing.  The failure is due to the fact that QNX
doesn't (in general) support calling fork(2) from a multithreaded
process.  Thus, we'll need to use spawn instead of fork/exec on QNX,
which I'll attempt in a later commit.

http://www.qnx.com/developers/docs/6.4.1/neutrino/getting_started/s1_procs.html
2012-07-17 18:21:17 -06:00
8706b6ad4a fall back to x86_64-w64-mingw32 compiler for 32-bit Windows builds if i686-w64-mingw32 compiler not found
A multilib-capable x86_64-w64-mingw32 compiler should work just fine,
but since we don't know if it's mutilib or not, we try the
i686-w64-mingw32 version first.
2012-07-06 11:21:53 -06:00
d21b09215f use i686-w64-mingw32- prefix for ia32 Windows cross compiles
Using e.g. x86_64-w64-mingw32-gcc -m32 doesn't quite work at link time
when using Debian Wheezy's gcc-mingw-w64 package, due to the 32-bit
system libraries not being in the search path, so we use
i686-w64-mingw32-gcc instead.
2012-07-02 10:51:32 -06:00
fe1f069309 abort on startup if Thread field offset constants don't match the real runtime values 2012-06-20 13:16:08 -06:00
165986841e fix endianess bug in LZMA decoding 2012-06-06 12:58:24 -06:00
7d8def84e0 fix build on old Xcode versions 2012-06-04 09:52:06 -06:00
9ea6a28383 fix MSVC build regression 2012-06-04 09:51:11 -06:00
9520b03333 fix OS X build regressions 2012-06-02 18:56:07 -06:00
d61501453f add support for LZMA on Windows 2012-06-02 15:43:42 -06:00
f07a8c7ec4 make LZMA encoder by default 2012-06-02 13:23:52 -06:00
5d9f7b2bc3 add optional LZMA support for compressing embedded JARs, boot images, and shared objects 2012-06-02 09:06:22 -06:00
bd7ef24734 pass -std=c++11 to Clang for C++ code 2012-06-01 17:57:42 -06:00
879df617df add use-clang option for building with LLVM Clang instead of GCC
This also fixes several errors and warnings emitted by Clang.
2012-06-01 17:43:42 -06:00
a5c9dd6f24 Fixing some issues with runtime annotations within avian.
We were not properly converting dots to slashes internally for package names
and we did not properly handle Method.getAnnotations and
Method.getAnnotation(Class<T>) on methods without any annotations.

Added some tests to cover these cases.
2012-05-22 14:02:51 -06:00
f0152f1d33 Merge branch 'jdk7' 2012-05-11 16:41:18 -06:00
3dcf886bbe allow passing bootimage / codeimage start and end symbol names to the bootimage-generator
The usage statement for the bootimage-generator now looks like this:
build/linux-x86_64-bootimage/bootimage-generator \
  -cp <classpath> \
  -bootimage <bootimage file> \
  -codeimage <codeimage file> \
  [-entry <class name>[.<method name>[<method spec>]]] \
  [-bootimage-symbols <start symbol name>:<end symbol name>] \
  [-codeimage-symbols <start symbol name>:<end symbol name>]
2012-05-10 14:49:59 -06:00
19de383aae Merge branch 'master' into jdk7
Conflicts:
	makefile
2012-05-04 11:33:16 -06:00
8c0ef382f8 write out bootimage directly from the bootimage-generator, eliminating one of the steps in a custom bootimage build 2012-05-03 12:04:34 -06:00
1b5f37c9de correctly define the target platform in the case of a bootimage build 2012-05-03 10:13:56 -06:00
d76807d9e0 add back pointer-size assignment in makefile for i386 (accidentally removed) 2012-05-03 10:13:56 -06:00
132af5f70e fix windows build 2012-05-03 10:13:56 -06:00
b742c58055 directly emit codeimage as a object (binaryToObject is statically linked in), as a stepping stone to including extra symbols in said codeimage 2012-05-03 10:13:55 -06:00
2fa7fa0e83 correct bootimage dependency chain 2012-05-03 10:13:55 -06:00
20a0823a74 Merge remote-tracking branch 'origin/master' into jdk7 2012-05-02 11:44:24 -06:00
661f6c28a8 refactor binaryToObject to allow more flexibilty (in particular, allowing arbitrary symbols per object) 2012-04-27 12:08:44 -06:00
a9ba4782ef improve build for binaryToObject 2012-04-25 09:13:04 -06:00
9c308f751c refactor binaryToObject, to better support (eventually) putting symbols for compiled code in objects 2012-04-24 16:17:52 -06:00
616c08fee9 Merge remote branch 'oss/master' into jdk7
Conflicts:
	makefile
2012-04-10 07:53:00 -06:00
ba1f8aa68e don't fail build on missing iOS SDK unless actually building for iOS 2012-04-07 17:15:59 -06:00
8742ae1bde Merge branch 'jdk7' of oss.readytalk.com:/var/local/git/avian into jdk7 2012-04-05 09:51:52 -06:00
48bb1e4f41 include charsets.jar in openjdk-src build
The other JARs we were including refer to classes in this jar, so we
need to include it as well.
2012-03-27 17:58:52 -06:00
1be6fe6f15 add -march=i586 to lflags as well as cflags where appropriate
When link time optimization is enabled, we need to remind the compiler
that we're targeting i586 when linking so it can resolve atomic
operations like __sync_bool_compare_and_swap.
2012-03-26 18:09:35 -06:00
031852daec add -march=i586 to lflags as well as cflags where appropriate
When link time optimization is enabled, we need to remind the compiler
that we're targeting i586 when linking so it can resolve atomic
operations like __sync_bool_compare_and_swap.
2012-03-26 18:02:43 -06:00
5be0edd628 Use latest iOS SDK found on local machine 2012-03-26 11:28:07 -06:00
a10ce99302 Use latest iOS SDK found on local machine 2012-03-26 11:23:31 -06:00
0167868797 various Windows OpenJDK 7 fixes 2012-03-17 18:47:22 -06:00
75b5d3df4a fix Windows OpenJDK 7 build 2012-03-17 12:59:22 -06:00
333b6c59d4 fix non-embedded openjdk build on OS X
The JRE lib dir for OpenJDK 7 on OS X seems to be just "lib", not
e.g. "lib/amd64" by default, so we use that now.  Also, the default
library compatibility version for libjvm.dylib is 0.0.0, but OpenJDK
wants 1.0.0, so we set it explicitly.
2012-03-16 11:01:20 -06:00
3817bc280e heretofore untested iOS OpenJDK support 2012-03-11 17:46:36 -06:00