Commit graph

4744 commits

Author SHA1 Message Date
dholland
ac52d55eb5 Make this configure for and build on amd64. 2008-09-07 07:31:35 +00:00
dholland
80bbe6d3b5 DESTDIR works, so enable it. 2008-09-07 07:31:11 +00:00
dholland
17098f44fb Update to 1.5.1 and make it build on amd64. Add destdir support.
JamVM 1.5.1 released on 10th March 2008
=======================================

A summary of changes since 1.5.0:

- Implemented a new internal VM symbol framework.  This ensures that
  all class, method, field names, etc. are unique thus removing the
  need to use strcmp for comparison.

- Implemented a new internal VM exception mechanism for frequent
  exceptions thrown within the VM.

- Hand-coded support for AMD64 ABI.  Previously AMD64 required libffi
  but this is not individually packaged on some Linux distributions.
  On a random set of signatures the hand-coded assembler is 4.6 times
  faster (and jBYTEmark FP Index is 30% faster).

- Ported to Darwin/ARM (i.e. the iPhone).  Built using unofficial
  toolchain and tested on jailbroken iPhone (1.1.3 firmware)

- Class initialisation/first active use fixes

  - initialise if first active use is object allocation via reflection
    (newInstance)

  - initialise if first active use is object allocation via JNI
    (AllocObject/NewObject)

  - The wait in step 2 of the initialisation sequence must be
    non-interruptible (not specified in the JVM or Java spec).

  - If allocation of the ExceptionInInitializerError fails,
    OutOfMemoryError should be thrown not the original exception

  - Don't resolve if initialiser throws ExceptionInInitializerError
    (subsequent resolution will not see the class is erroneous)

- JNI_OnLoad fixes

  - initialise JNI local refs before calling

  - if JNI_FindClass is called from JNI_OnLoad, ensure correct class
    loader context is used.

- JNI_OnUnload fixes

  - initialise JNI local refs before calling

  - If a library defines JNI_OnUnload, and the class loader which
    loaded it is GCed JNI_OnUnload is called and the library is
    unloaded.  Previously this was done within the GC.  If OnUnload
    allocated objects it could corrupt the heap.  Dummy unloader
    objects are now created, and JNI_OnUnload is called from the
    finalize method by the finalizer thread.

- Fix variable argument passing of floats When calling Java methods from
  native code

- Rework VM initialisation/start-up sequence

- Fix for JNI_ThrowNew and exceptions loaded by non-bootstrap classloader

- Fix for JNI_GetMethodID and object/class initialiser methods
  (do not search class hierarchy)

- During resolution throw IllegalAccessError and not IllegalAccessException

- handle loadClass returning null without throwing exception

- Fix for running Jar files where the main class is package-protected

- Interpeter inlining changes

  - Do not inline class initialisers (<clinit>).  No performance
    improvement as they are only ran once.  Reduces memory usage

  - Fix for class unloading when inlining disabled (-Xnoinlining)

- Bump java.specification.version to 1.5

- Improve error messages if VM aborts during initialisation

- During configure, do not disable zip/jar file support if zlib library
  or header can't be found (now aborts).  Users never saw the warning
  and they ended up with a build which "didn't work".

- Various compiler warnings.


JamVM 1.5.0 released on 28th October 2007
=========================================

A summary of changes since 1.4.5:

- Substantially modified the interpreter to implement inline-threading
  (also known as super-instructions or code-copying).  This copies
  code sequences together to produce native code that executes without
  the normal interpreter dispatch overhead (similar to a simple JIT).

  - Supported on i386, AMD64, PowerPC and ARM, with or without stack-
    caching.  It is enabled by default on i386, AMD64 and PowerPC.

  - Performance improvement upto 300% on Pentium 4 (NetBurst), and upto
    200% on Athlon 64.  Less on Core 2 Duo (upto 70% faster as it has
    indirect branch prediction), and PowerPC which was already very
    optimised (upto 30% faster).

  - Tested on gcc 3.4 (i386, AMD64, PowerPC), 4.0 (i386), 4.1
    (i386, AMD64, PowerPC, ARM), 4.2 (i386, AMD64)

  - Several new command line options to control inlining:

      -Xreplication : determines whether duplicate code sequences
       are replicated or shared.  Can be set to 'none' (no replication),
       'always' (all sequences are copies) or a threshold value (e.g.
       10, when sharing of a sequence reaches the threshold the sequence
       is replicated).

      -Xcodemem : the maximum amount of memory for super-instructions.
       Once the maximum is reached no new super-instructions are generated
       but existing super-instructions are reused (class unloading will
       also free unused sequences).  Can be set to a value or 'unlimited'.
       This option can be used to limit code memory on systems with little
       RAM (i.e. embedded).

      -Xshowreloc : debugging option, which shows which opcodes were
       determined to be relocatable, and for opcodes which aren't why
       they aren't relocatable.  When using stack-caching there are
       three versions of each opcode (for 3 stack-cache levels).

      -Xnoinlining : turns off inlining (equivalent to setting codemem
       to zero).

  - Opcode relocatability is determined by default at build time, but
    this doesn't work when cross-compiling (so inlining is disabled).
    Relocatability can be determined at runtime using configure option
    --enable-runtime-reloc-checks, but this increases executable size
    by approx 30%.

- Command line options -version and -showversion now shows build
  information.  This includes the execution engine (e.g. inline-
  threaded interpreter with stack-caching), the gcc version which
  was used to compile JamVM (useful for debugging) and the "built in"
  boot library path and classpath.

- Ported to ARM systems using EABI.  This is a full port, with hand-
  coded assembler to handle the construction of a call-frame for calling
  JNI native methods.

- Refactored GC to remove all possible calls which may deadlock
  with threads suspended in "unsafe" operations.  This includes
  use of malloc/realloc/free and pthreads operations.

- In allocClass() check if gcMalloc() returns NULL (i.e. OOM).

- Copy Sun's behaviour when dealing with an empty property key or no
  equals after key.

- Add java.util.concurrent.atomic.AtomicLong.VMSupportsCS8.

- In method and field access checks, put back in access check for
  class (removed previously because it caused regressions, since
  fixed in Classpath).

- Enable suspend on thread creation (parent thread created thread with
  suspension disabled).  Effects threads which immediately call a long
  running native method.

- Fixed race condition in thread creation and compaction (start function
  obtains class reference when it is not suspendable, if compaction
  occurs, the reference may be threaded, or moved).

- Fix potential deadlock in threadInterrupt under Linuxthreads.

- Protect lock operation in resetPeakThreadsCount().

- In createJavaThread(), re-enable suspension if pthread_create fails.

- Fix race-condition in thread deletion.

- Fix bug in hash table "scavenge".  This could lead to entries not being
  freed, and exhaustion of Monitors on embedded systems.

- Removed use of malloc/free in thread dump.  Removes potential deadlock
  with threads suspended in malloc/realloc/free.

- Added symbolic link from lib/rt.jar to Classpath's glibj.zip (fixes
  programs such as ecj which locates rt.jar via java.home).

- Bumped Java compatible version to 1.5.0 as Classpath is now the generics
  branch (since Classpath 0.95).
2008-09-07 06:41:44 +00:00
dholland
c68b03b4b7 Use ${INSTALL_ENV} instead of passing DESTDIR explicitly, at the
suggestion of bjs@.
2008-09-07 05:19:33 +00:00
dholland
e370218398 Refine previous slightly; it can now actually configure libjava
library, and it might build for i386, although x86_64 is still pretty
broken.
2008-09-07 05:12:58 +00:00
dholland
af9014ca50 Make this configure for NetBSD amd64. While here, add DESTDIR support. 2008-09-07 04:35:41 +00:00
dholland
d08a807a07 And now, add some logic so if gcc declines to configure libjava, as
happens by default on amd64, the build will fail instead of silently
skipping it.
2008-09-07 03:23:16 +00:00
dholland
715854f1a1 Changes that should result in DESTDIR support, only the package is too
broken to test fully, so I've left PKG_DESTDIR_SUPPORT commented out.
2008-09-07 03:14:04 +00:00
dholland
58c9eb1cce Add DESTDIR support. 2008-09-07 02:10:15 +00:00
dholland
d7a4ca8287 Add some bits to the previous commit's destdir support, so install now
works consistently. Should fix broken bulk builds.
Update PLIST accordingly && PKGREVISION++.
2008-09-07 01:59:26 +00:00
dholland
d7b4f9c02a Add DESTDIR support. 2008-09-07 01:33:51 +00:00
dholland
54fdadcfa5 Fix broken build arising from C++ version skew. 2008-09-07 00:43:50 +00:00
dholland
20d64e25ec Fix broken build caused by invalid shell syntax in a configure script.
While here, patch a couple 64-bit issues and add destdir support. The
latter involved making some absolute symlinks relative, which changes
the binary package, and someone might have built this revision with a
version of bash accepting the invalid script syntax, so PKGREVISION++.
2008-09-07 00:23:57 +00:00
dholland
ba89256e2c Mark this not available on sparc64 and x86_64 as well as alpha; it is
thoroughly 32-bit only.

It *might* work if someone rebuilt the boostrap files with a suitable
Scheme compiler capable of generating 64-bit-clean C code. But someone
who knows Scheme better than I do will have to figure that out.
2008-09-06 22:37:04 +00:00
ahoka
ff90db518e Replace perl and sed interpreter in installed scripts. 2008-09-06 17:54:15 +00:00
dholland
053674084d Fix broken 64-bit build, and patch makefile to stop on error. There
are a lot of woolly things going on here, so PKGREVISION++ as a
precaution.
2008-09-05 05:27:30 +00:00
dholland
3b06c79f86 Fix broken 64-bit build. Add destdir support.
PKGREVISION++, because I changed some things around.
2008-09-05 02:07:51 +00:00
adrianp
1fafe1486d Change /tmp directory used on installation (fix for PR 39449) 2008-09-02 17:37:59 +00:00
obache
6c7fbf4d9f Fix one pkglint warining, remove unwanted tail of slash for @dirrm. 2008-09-02 11:52:49 +00:00
kefren
c43c16cebf Merge fix for Bug 418620 (SVN revision 111276) - Sys.Web is prone to
"HTTP header injection" attacks
2008-09-01 09:28:54 +00:00
dholland
181e5ef273 Mark this NOT_FOR_PLATFORM on 64-bit platforms; it is severely broken. 2008-08-31 22:48:12 +00:00
obache
d94e07276a lang/gambc and lang/scheme48 are conflict with bin/scheme-r5rs.
Noticed by Aleksej Saushev in PR 39403.
2008-08-31 09:17:56 +00:00
tron
a53f22672d Add security patches for CVE-2008-2315, CVE-2008-2316, CVE-2008-3142 and
CVE-2008-3144 (this one shouldn't affect platforms supported by pkgsrc)
all taken from Gentoo. Bump package revision.
2008-08-30 10:02:33 +00:00
dholland
9fd05904d9 patch-aa (with dragonfly config) got merged upstream. Applying the
patch with a more tolerant version of patch (like netbsd's) gives two
copies of the definitions in the same file, with who knows what
consequences. Applying the patch with a less tolerant version of patch
fails.

So, remove it, and bump PKGREVISION just in case.
2008-08-30 08:06:33 +00:00
ahoka
769e6780cc Add destdir support and mark not make jobs safe.
Submitted by Aleksej Saushev in PR pkg/39406.
2008-08-28 13:15:27 +00:00
joerg
6d13d1e1b0 As dholland pointed out, don't leak memory when FS needs resizing more
than once. Bump revision again.
2008-08-26 20:26:25 +00:00
joerg
655567b3ad Remove hard-coded limit on FS. Merge minor performance improvements.
Bump revision.
2008-08-26 14:46:21 +00:00
joerg
618136dedb Remove junk. 2008-08-26 14:45:19 +00:00
joerg
68f3df2f1d Use pax instead of requiring GNU tar.
DESTDIR support
Fix unbalanced ' in configure.
2008-08-19 16:14:24 +00:00
joerg
c08aca2db2 Remove trailing ' to unbreak shell scripts. 2008-08-19 14:34:29 +00:00
ahoka
ef891727ab MAKE_JOBS_SAFE=no
Reported by Aleksej Saushev.
2008-08-19 11:04:52 +00:00
adrianp
2454f3ff61 Add a comment about the changed behaviour in include_path WRT php{4,5}
packages.
2008-08-17 18:40:36 +00:00
adrianp
9295025527 This adds ${PREFIX}/lib/php to the default include_path in php.ini
which makes integration with PEAR a little simpler.
PKGREVISION++
2008-08-17 18:36:50 +00:00
dholland
49a673260f Fix this to not compile in the pkgsrc dummy $HOME. (Patching lisp code,
whee.)
PKGREVISION++.
2008-08-17 06:45:48 +00:00
dholland
010a5874f1 Set interpreter properly in the bash script this installs.
PKGREVISION++.
2008-08-17 04:36:28 +00:00
he
514c29b0a3 Update to Java 5.0 Update 16. Fixes a number of security vulnerabilities.
Also updates some root certificates and imports tzdata2008b.
Sun's release notes are at
  http://java.sun.com/j2se/1.5.0/ReleaseNotes.html#150_16
2008-08-15 15:06:35 +00:00
tnn
571b218f6a add lang/ecl 2008-08-12 19:59:29 +00:00
tnn
cd934671e1 Import ecl-0.9.12 (ecl-0.9l) as lang/ecl. From pkgsrc-wip, packaged by asau@
ECL stands for Embeddable Common-Lisp. The ECL project is an effort to
modernize Giuseppe Attardi's ECL environment to produce an implementation of
the Common-Lisp language which complies to the ANSI X3J13 definition of the
language.
2008-08-12 19:57:45 +00:00
taca
dca06ac644 Update ruby18-base to 1.8.7.72 (Ruby 1.8.7-p72).
These packages are implicitly updated with distfile update only.

	databases/ruby-gdbm
	devel/ruby-readline
	lang/ruby
	lang/ruby18

Here's quote from release announce:

	Sorry for a fuss, but it turned out that taintness check of dl in last
	releases I made was incomplete. Here are fixes for that.

And relevant changes:

Mon Aug 11 09:37:17 2008  Yukihiro Matsumoto  <matz@ruby-lang.org>

	* ext/dl/dl.c (rb_str_to_ptr): should propagate taint to dlptr.

	* ext/dl/dl.c (rb_ary_to_ptr): ditto.

	* ext/dl/sym.c (rb_dlsym_call): should check taint of DLPtrData as
	  well.
2008-08-11 06:58:33 +00:00
tron
7c12e33377 Remove directory "include/mono-1.0/mono" on deinstallation.
Bump package revision because of a package list fix.
2008-08-10 16:19:33 +00:00
kefren
5a9062e35b fix an cross site scripting vulnerability
bump PKGREVISION
2008-08-09 19:57:51 +00:00
adrianp
d72458d4a7 Add maintainer-zts option
Suggested by riz@ in PR 39312
2008-08-08 20:01:34 +00:00
taca
63f6f35e30 Update ruby18-base to 1.8.7.71.
pkgsrc change:

	Apply fix for sunpro compilre, provided by PR pkg/37771 from
	Naoto Morishima.


This release includes fix for multiple vulnerabilities.

http://www.ruby-lang.org/en/news/2008/08/08/multiple-vulnerabilities-in-ruby/

	* Several vulnerabilities in safe level
	* DoS vulnerability in WEBrick
	* Lack of taintness check in dl
	* DNS spoofing vulnerability in resolv.rb

Full changes are too many, please refer ChangeLog file.
2008-08-08 12:42:44 +00:00
taca
c24329c455 Start update of Ruby 1.8.7 patchlevel 71. 2008-08-08 12:38:59 +00:00
drochner
35baa89b31 Add a patch from the upstream 2.5 branch (svn rev.63883) to fix an
integer overflow in the vsnprintf replacement function.
This is likely not a real problem, and the patch wasn't pulled to
the upstream 2.4 branch, but so we can formally declare our 2.4
as not vulnerable now.
2008-08-07 11:20:18 +00:00
drochner
20cca7e4a5 also apply upstream svn rev.65262, fixes overflow checks in memory
allocation (CVE-2008-3142), ride on PKGREVISION bump some minutes ago
2008-08-05 10:45:45 +00:00
drochner
ed29f353e5 add patches from upstream svn rev.65333, fix integer overflows in
memory allocation (CVE-2008-2315)
2008-08-05 10:13:34 +00:00
tnn
abbfea3145 Update to chicken-3.3.0. From Aleksej Saushev.
- the build system now sets the SONAME field of libchicken.so under Linux
- added use of unit ports to unit extras and chicken-setup
- unit utils and extras: moved port extensions to unit ports
- new unit ports
- some fixes to the build system when USE_HOST_PCRE is set
- fixed an allocation bug in decode_literal
- bug fix for bitwise-or use [Joerg Wittenberger]
- bug fix pointer->address
- other bug fixes
2008-08-02 10:06:46 +00:00
ahoka
343d3b6580 Don't try to use objformat on FreeBSD 7.0 and newer. 2008-07-30 23:07:52 +00:00
obache
9669e20043 Fixes pkgname of BUILDLINK_DEPMETHOD, it caused unwanted full dependency,
pointed out in PR 39234.
2008-07-28 09:48:48 +00:00