gcc/libjava/classpath
Bernd Edlinger 54fde020cc Enable Java on Cygwin-64
Currently it is not possible to build GCC's libjava support on Cygwin-64.

This patch fixes the current build-problems on Cygwin-64 and the most
fundamental bugs on that platform.

Note you must still add --enable-threads=posix to successfully build the
java language support.


boehm-gc/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin-64 build problems.
        * include/gc_config_macros.h (GC_PTHREADS): Use __CYGWIN__ instead
        of __CYGWIN32__ here.
        * win32_threads.c (GC_push_all_stacks): Push all X86_64 registers.
        (GC_get_thread_stack_base): Get the stack base for X86_64.

libffi/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin-64 build problems.
        * src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API).
        * src/x86/ffi.c: Add if defined(__CYGWIN__).
        * src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added
        handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT.
        Added SEH information.  Fixed formatting.

libgcc/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * unwind-seh.c (_Unwind_Backtrace): Uncommented, finished
        implementation.

libjava/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin-64 build problems.
        * configure.host: Added handling for x86_64-*-cygwin/mingw.
        * boehm.cc (_Jv_GCAttachThread, _Jv_GCDetachThread): Don't compile if
        GC_WIN32_THREADS is defined.
        * java/lang/natClass.cc (_Jv_InterfaceAssignableFrom): Rename interface
        to source_interface.

libjava/classpath/ChangeLog:

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        Fix current cygwin-64 build problems.
        * native/fdlibm/mprec.c (_REENT_CHECK_MP, _REENT_MP_FREELIST,
        _REENT_MP_P5S, __ULong, __Long): Undefine previous definitions.

From-SVN: r210386
2014-05-13 16:23:11 +00:00
..
.externalToolBuilders
.settings
doc configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
examples configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
external configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
gnu gnat_ugn.texi: Bump @copying's copyright year. 2014-01-02 22:25:41 +01:00
include configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
java Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
javax Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
lib configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
m4 pkg.m4 (PKG_CHECK_MODULES): Use AC_PATH_TOOL to check for pkg-config. 2013-06-20 13:16:57 +00:00
native Enable Java on Cygwin-64 2014-05-13 16:23:11 +00:00
org Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
resource configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
scripts configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
sun
tools gnat_ugn.texi: Bump @copying's copyright year. 2014-01-02 22:25:41 +01:00
vm Merge GNU Classpath 0.99 into libjava. 2012-03-23 15:19:26 +00:00
.cdtproject
.classpath
.cvsignore
.project
aclocal.m4 Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
AUTHORS
autogen.sh
BUGS
ChangeLog Enable Java on Cygwin-64 2014-05-13 16:23:11 +00:00
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog.gcj Small ChangeLog fixes. 2014-01-02 22:56:58 +01:00
ChangeLog.gnujaxp.1
ChangeLog.gnujaxp.2
ChangeLog.libxmlj
ChangeLog.usermap
compile
config.guess Merge GNU Classpath 0.99 into libjava. 2012-03-23 15:19:26 +00:00
config.rpath
config.sub Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
configure libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match. 2013-09-20 19:17:52 +09:30
configure.ac configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
COPYING
depcomp Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
HACKING
INSTALL Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
install-sh Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
LICENSE
lt~obsolete.m4 Merge GNU Classpath 0.99 into libjava. 2012-03-23 15:19:26 +00:00
ltcf-c.sh
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig
ltgcc.m4
ltmain.sh Merge GNU Classpath 0.99 into libjava. 2012-03-23 15:19:26 +00:00
ltoptions.m4 Merge GNU Classpath 0.99 into libjava. 2012-03-23 15:19:26 +00:00
ltsugar.m4
ltversion.m4 Merge GNU Classpath 0.99 into libjava. 2012-03-23 15:19:26 +00:00
Makefile.am
Makefile.in configure.ac (dbexecdir): Base on $(toolexeclibdir), not $(libdir). 2013-05-22 17:25:59 -04:00
mauve-classpath
missing Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
mkinstalldirs
NEWS Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
README
THANKYOU Import GNU Classpath (20121202). 2012-12-19 17:03:15 +00:00
TODO

GNU Classpath README - Last updated: August 6, 2006 (for release 0.92)

GNU Classpath, Essential Libraries for Java is a project to create a
free software implementation of the core class libraries for the java
programming language.

Additionally, GNU Classpath includes a sub-project called GNU Classpath
Tools whose goal is to provide a number of free replacements for standard
Java development tools like javadoc, javap, and others.  A sub-project
called GNU Inetlib, can be used as an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath.  It can
also be used as a standalone to ease adding http, imap, pop3 and smtp
client support to applictions.  These subprojects are normally released
independently from the core libraries.

This is a development snapshot release only and is not for general
purpose use.  GNU Classpath needs to be combined with a proper
development environment to be useable for end users.  Eventually,
these essential libraries for java will work with as many free
compilers and runtimes as possible.

Complete development environments known to be based on GNU Classpath
include (recommended for end users):

	* GCC with GCJ 	(http://gcc.gnu.org/java/)
	* Kaffe		(http://www.kaffe.org/)

Smaller environments (runtime only, no compilers, no tools) which work
with this GNU Classpath releases include
(tested by and recommended for GNU Classpath hackers):

	* CACAO		(http://www.cacaojvm.org/)
	* JamVM		(http://jamvm.sourceforge.net/)
	* Jikes RVM	(http://jikesrvm.sourceforge.net/)

In general the latest releases of the above VMs will work out of the box
with the latest GNU Classpath release (and in most cases directly with the
development sources from CVS).

Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional extension libraries (mail,
activation, infobus, servlet) check out the GNU ClasspathX project
(http://www.gnu.org/software/classpathx/).

Some tools come with their own customized version of GNU Classpath.
Please check if there is a customized version available for the tool you
use before trying the bare bones GNU Classpath release.  We are working with
the tool creators to keep the differences between the core classes as small
as possible.  Please tell us if you make GNU Classpath work with a new tool.

Active projects which use modified versions of the Classpath libraries
some of which synchronizes with the Classpath CVS head every couple of weeks:

	* IKVM.NET	(http://www.ikvm.net/)
	* JC		(http://jcvm.sourceforge.net/)
	* JNode		(http://jnode.sourceforge.net/)
	* MysaifuVM	(http://www2s.biglobe.ne.jp/~dat/java/project/jvm/)
	* SableVM	(http://www.sablevm.org/)

For a more complete list of GNU Classpath based projects, see the
GNU Classpath website: http://www.gnu.org/software/classpath/stories.html

See the file INSTALL for details on installing GNU Classpath.
See the file NEWS for details on what is included in this release.
See the file TODO for the latest to do list.
See the file HACKING for working on (non-released) CVS development versions.

Homepage: http://www.gnu.org/software/classpath/

Bugs should be reported via bugzilla, available from the GNU Classpath
website: http://www.gnu.org/software/classpath/bugs.html

General Mailing List: classpath@gnu.org
  --> To subscribe send email to classpath-request@gnu.org with a 
      subject and body of "subscribe".  To unsubscribe do the same,
      only with a body and subject of "unsubscribe".  This is a
      smartlist managed mailing list.

Patches Mailing List: classpath-patches@gnu.org
  --> Proposed patches should be sent to the GNU Classpath patches list
  --> To subscribe send email to classpath-patches-request@gnu.org with a 
      subject and body of "subscribe".  To unsubscribe do the same,
      only with a body and subject of "unsubscribe".  This is a
      smartlist managed mailing list.

Anonymous CVS:
  --> "cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/classpath
      co classpath"
  --> More detailed instructions available on the Savannah project website.
      http://savannah.gnu.org/projects/classpath/

Happy Hacking!