Commit Graph

4674 Commits

Author SHA1 Message Date
Joshua Warner
b0bee9d501 Merge pull request #494 from dicej/netinet
get netinet headers from iPhoneSimulator SDK, not iPhoneOS SDK
2016-08-12 17:43:50 +00:00
Joel Dice
ad7ad4e512 get netinet headers from iPhoneSimulator SDK, not iPhoneOS SDK
As of SDK 9.2 at least, the headers we need are not part of the device
SDK, only the simulator SDK.
2016-08-12 10:05:37 -06:00
Joshua Warner
f9928ac36e Merge pull request #492 from ReadyTalk/IcmpSendEcho2Ex
patch Inet4AddressImpl.c to declare IcmpSendEcho2Ex
2016-07-02 02:47:56 +00:00
Joel Dice
ad945c00a6 patch Inet4AddressImpl.c to declare IcmpSendEcho2Ex
Apparently the MinGW header files don't declare it, despite it being
part of liblphlapi.a.  More confusingly, it didn't break anything for
64-bit builds because the compiler used an implicit declaration that
matched the link-time symbol name.  Alas, no such luck for 32-bit
builds, since the implicit declaration was not annotated with the @48
stdcall argument stack size, so the build died at link time.
2016-07-01 17:53:04 -07:00
Joshua Warner
a946fab2f2 Merge pull request #491 from waldyrious/patch-1
add license title and capitalize filename
2016-07-01 23:03:04 +00:00
Waldir Pimenta
8b666f6591 add license title and capitalize filename
The title is not strictly required, but it's useful metadata, and part of the recommended license template text (see http://choosealicense.com/licenses/isc/ and https://opensource.org/licenses/isc-license)

As for the filename, lowercase is fine, but since this project already uses an uppercase README as customary, using the same standard for the LICENSE file seemed to make sense.
2016-07-01 08:31:21 +01:00
Joshua Warner
110914d89f Merge pull request #489 from ReadyTalk/timestamps
fix timestamp-related bug in makefile
2016-06-22 03:26:17 +00:00
Joel Dice
8ca9bff2e5 fix timestamp-related bug in makefile
Prior to this commit, we had a little bit of "cleverness" wherein we
recursively invoked make to determine which of the .class files in the
class library were out of date with respect to their .java files.  We
did this to avoid asking javac to recompile everything every time.

The problem with that is when building against an alternative class
library (e.g. OpenJDK or Android), we use a combination of classes
from the alternative library and some of the built-in Avian classes
(e.g. java/lang/invoke/MethodHandle, which is very closely tied to the
VM).  This confuses the build process, since some of the classes were
taken from an external jar, and some of them were built from source.

The tricky bit is that, depending on the relative timestamps of the
extracted .class files and the .java source files, you might never see
the problem.  That's why I couldn't reproduce this when it was first
reported a few months ago: my source files were newer than the .class
files from the OpenJDK jars I was using, so the Avian versions were
built and used as intended.  It was only later when I used a newer
OpenJDK that I hit the problem.

Anyway, I've removed the cleverness.  If this causes an unreasonable
regression in (re)build times, we can try to reintroduce it in a way
that avoids the above problem, but for now simpler is better.
2016-06-21 16:34:45 -06:00
Joel Dice
a230a6f4dc Merge pull request #487 from joshuawarner32/master
Don't access length field of non-array objects (fixes #486)
2016-05-29 10:07:52 -06:00
Joshua Warner
95cd300bbd Don't access potentially mis-aligned, non-existent length field for non-array objects (fixes #486) 2016-05-26 14:37:26 +00:00
Joshua Warner
134d10960b Merge pull request #485 from dicej/default
support Java 8 default interface methods
2016-05-14 19:31:39 -06:00
Joel Dice
aacbd7cc7a support Java 8 default interface methods 2016-05-14 13:32:42 -06:00
Joel Dice
08982cc9ed Merge pull request #480 from dicej/ios
update to iOS 9.2 SDK and define sysroot for iOS
2016-05-14 13:18:48 -06:00
Joel Dice
edbce08e61 Merge pull request #484 from bigfatbrowncat/msys2-support
Added support for MSYS2 with mingw-w64 toolchain
2016-04-28 09:16:36 -06:00
Ilya Mizus
02fedde306 Added support for MSYS2 with mingw-w64 toolchain 2016-04-28 11:03:52 +03:00
Joshua Warner
c843d76f63 Merge pull request #483 from dicej/no-msys
MSYS update, plan B
2016-04-27 13:45:15 +00:00
Joel Dice
6106df6c69 remove MSYS instructions from README.md
Although some people still use MSYS to build Avian (e.g. the
avian-pack project), I'd rather not support it officially, and the
instructions in the README.md are outdated anyway.  This will
hopefully encourage new users to use Cygwin instead, which is less
likely to break without me noticing since that's what I use myself.
2016-04-26 19:09:32 -06:00
Joel Dice
b999772838 Revert "drop MSYS build support"
This reverts commit d930f41d7e.

Turns out the avian-pack project really needs MSYS support, so I'm
reverting this.
2016-04-26 19:06:25 -06:00
Joshua Warner
954902019b Merge pull request #482 from ReadyTalk/no-msys
drop MSYS build support
2016-04-25 16:55:21 +00:00
Joel Dice
d930f41d7e drop MSYS build support
Per a recent request for help on the Google group, I spent some time
this past weekend trying to debug the MSYS build.  The conclusion I
came to is that MSYS is not worth supporting anymore.  The most recent
release is almost three years old, and I've been unable to find any
variant with a 64-bit-target compiler that will actually install.  If
someone else cares enough about building Avian on MSYS to maintain it
themselves, patches are welcome.

Meanwhile, let's all just use Cygwin.  Perhaps someone will build a
cool package manager on top of WSL and suddenly make both Cygwin and
MSYS obsolete.
2016-04-25 09:02:35 -07:00
Joel Dice
0ab8235237 streamline SDK search in makefile 2016-04-06 07:40:49 -06:00
Joel Dice
18b27c9436 update to iOS 9.2 SDK and define sysroot for iOS
Previously, we only seemed to define sysroot for MacOS, not iOS, yet
we reference $(sysroot) in both cases.  This ensures it is defined in
both cases as well.
2016-04-04 11:55:03 -06:00
Joshua Warner
c299319b16 Merge pull request #478 from dicej/putDouble
add sun.misc.Unsafe.putDouble(Object,long,double)
2016-03-02 15:41:20 +00:00
Joel Dice
a538f54033 add sun.misc.Unsafe.putDouble(Object,long,double) 2016-03-01 18:28:04 -07:00
Joshua Warner
cbfce38aa1 Merge pull request #477 from dicej/getEntryBytes
do not null-terminate ZipEntry names in openjdk-src builds
2016-02-16 15:02:33 +00:00
Joel Dice
2bb3ea2532 do not null-terminate ZipEntry names in openjdk-src builds
OpenJDK's java.util.zip.ZipFile.getEntryBytes should return a byte
array that is not null-terminated, but we were giving it one that was
null-terminated, which caused lookups to fail later when
ZipFile.getInputStream was called.
2016-02-15 18:30:56 -07:00
Joshua Warner
3b83277d5e Merge pull request #476 from dicej/werror
disable -Werror by default (but still use it for continuous integration)
2016-02-15 23:38:46 +00:00
Joel Dice
3247093b10 disable -Werror by default (but still use it for continuous integration)
Since we can't predict what warnings future compilers will emit, and
most people just want to build Avian without some new warning tripping
it up, we now omit -Werror unless requested via the "use-werror=true"
option to make.  Note that we pass "use-werror=true" in test/ci.sh to
ensure Travis alerts us to new warnings as they appear.

BTW, sorry about the unrelated whitespace changes in this patch; I've
got Emacs set up to fix whitespace "problems" on save, and those are
what it found.
2016-02-15 15:48:30 -07:00
Joshua Warner
ee7da77c70 Merge pull request #475 from dicej/static-synchronized
synchronize on Java class rather than VM class in static synchronized…
2016-01-16 18:46:34 +00:00
Joel Dice
ba101699a7 fix bootimage regression 2016-01-16 10:20:10 -07:00
Joel Dice
b5308c4866 synchronize on Java class rather than VM class in static synchronized methods
Previously, the following code would throw an IllegalMonitorStateException:

public class Test {
  public static synchronized void main(String[] args) {
    Test.class.notify();
  }
}

The problem stems from the fact that for a long time Avian has had two
representations of a given class: avian.VMClass and java.lang.Class.
It used to be that there was only one, java.lang.Class, but that
didn't play nicely with OpenJDK's class library, so we split it into
two.  Unfortunately, we forgot to update the JIT and interpreter
accordingly, so a static synchronized method would acquire the
avian.VMClass instance, whereas Foo.class.notify() would be invoked on
the java.lang.Class instance.

This commit fixes it.
2016-01-16 08:34:30 -07:00
Joel Dice
451700fad7 Merge pull request #473 from joshuawarner32/master
disable Trace test for PR builds, since it fails so often (and we haven't gotten around to debugging it)
2016-01-13 15:12:28 -07:00
Joshua Warner
be84e421ee Merge pull request #472 from dicej/windows-openjdk
fix openjdk/openjdk-src builds for latest JDKs 7 and 8
2016-01-13 20:23:36 +00:00
Joshua Warner
c1b5104e79 disable Trace test for PR builds, since it fails so often (and we haven't gotten around to debugging it) 2016-01-13 20:23:15 +00:00
Joel Dice
dab9bb7d1f replace preprocessor __try/__except hack with patch 2016-01-13 09:47:52 -08:00
Joel Dice
10eecce9cf add OSX 10.10 and 10.11 to SDK search list 2016-01-13 09:03:48 -07:00
Joel Dice
e169d683c4 fix Linux openjdk build regression 2016-01-13 08:14:22 -07:00
Joel Dice
80dc32094f fix openjdk/openjdk-src builds for latest JDKs 7 and 8
The tower of patches and hacks grows higher.  Ideally, we'll just drop
support for JDK 7 soon and clean this mess up a bit, but TravisCI
still hasn't gotten the memo that it's dead, so we muddle onward.

I've tested this on Windows, but not yet Linux or OS X.  Wanted to get
a PR before I move on to that.
2016-01-12 16:37:03 -08:00
Joshua Warner
505c2b8d93 Merge pull request #471 from lwahlmeier/master
Added missing apis to ByteBuffer
2016-01-11 01:02:01 +00:00
Luke Wahlmeier
62a03898c3 Merge remote-tracking branch 'rt/master' 2016-01-10 12:10:47 -07:00
Luke Wahlmeier
9d87e3b2a7 added get/put float/double to ByteBuffers, as well as duplicate 2016-01-10 03:03:03 -07:00
Joshua Warner
15b3a8289a Merge pull request #469 from keinhaar/master
Added support for HTTP URL connections, and fixed SocketInputStream and BufferedInputStream.
2015-12-28 18:21:45 +00:00
keinhaar
524f034bac Added support for HTTP URL connections, and fixed SocketInputStream and BufferedInputStream.
Did some cleanup as proposed by the main developers.
- Bigger HTTP Header Buffer
- Exception if Header is anyway exceeded.
- Linebreaks on HTTP Request fixed to standard.
- Only stop header reading on \r\n\r\n and no longer on \n\n\n\n
- Simplyfied the code to stop if buffer could not be filled.
- Handle special case if buffer has length 0, like specified in the Java API
- Socket will no longer fill the buffer completely
2015-12-26 11:58:40 +01:00
Joshua Warner
2d7347166c Merge pull request #470 from Xtansia/patch-1
Change Avian src volume path to match Dockerfile
2015-12-24 15:17:28 +00:00
Thomas Farr
d9f6cabcf6 Change Avian src volume path to match Dockerfile 2015-12-22 20:36:50 +13:00
Joshua Warner
0c71ba0763 Merge pull request #465 from dicej/no-mo-oss
update README to remove references to oss.readytalk.com
2015-11-10 03:48:25 +00:00
Joel Dice
19945346fc update README to remove references to oss.readytalk.com 2015-11-09 16:33:01 -07:00
Joel Dice
aeaf4c1f28 Merge pull request #464 from benstadin/master
- fixed building for iOS 9
2015-11-03 11:59:23 -07:00
Benjamin Stadin
dc010f9a92 - fixed building for iOS 9
- handle sim flag to better distinguish between ios simulator / ios
- added ios_deployment_target to set ios min version
- default to 64 bit build for iOS
2015-11-01 20:36:47 +01:00
Joshua Warner
7cc9f160f2 Merge pull request #459 from dicej/bootimage-test
add bootimage-test option to makefile
2015-10-20 17:33:58 +00:00