This is the mail archive of the
cygwin
mailing list for the Cygwin project.
gcc-4.5 notes
- From: "Yaakov (Cygwin/X)" <yselkowitz at users dot sourceforge dot net>
- To: cygwin at cygwin dot com
- Date: Mon, 16 Aug 2010 15:20:25 -0500
- Subject: gcc-4.5 notes
Dave,
Several notes about gcc-4.5.0:
1) I'm using a new FIONREAD patch for Classpath which solves several
issues. Matching patch for gcc-4.5 attached.
2) fix-libtool-scripts-for-latest-gcc-runtimes.sh doesn't actually do
anything; 's|echo sed|sed|g' fixes that.
3) libgnat import libs are missing:
$ gnatmake hello.adb -bargs -shared
gcc -c hello.adb
gnatbind -shared -x hello.ali
gnatlink hello.ali -shared-libgcc
/usr/lib/gcc/i686-pc-cygwin/4.5.0/../../../../i686-pc-cygwin/bin/ld:
cannot find -lgnat-4.5
collect2: ld returned 1 exit status
gnatlink: error when calling /usr/bin/gcc.exe
gnatmake: *** link failed.
Looking at gcc/ada/gcc-interface/Makefile.in, it looks like there is
supposed to be a adalib/libgnat-4.5.dll.a symlink, but it's not quite
right. Patch for 4.5.1 attached.
4) After creating said symlink, the resulting binary outputs "Hello,
world!" but does not exit, and requires kill -f to terminate. The same
code linked statically (IOW w/o "-bargs -shared") runs and exits
correctly.
5) Several -4-suffixed programs have no unversioned alternatives; this
includes: aot-compile, gccbug, jcf-dump, rebuild-gcj-db. (Of course, if
we drop gcc3, or at least its alternatives, then gcc4 can be
unversioned, making this point moot.)
6) Are the gcj tools working? If not, perhaps they should just be
dropped until they get figured out. An alternative would be for me to
ITP my Classpath-based stack.
7) jni.h and jni_md.h should probably be shipped with gcc4-java instead
of gcc4-core.
8) It would be helpful if gcc4-core would provide a libffi.pc pkg-config
file, since for us this is *the* libffi.
HTH,
Yaakov
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35536
--- origsrc/gcc-4.5.0/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c 2007-12-28 11:49:56.000000000 -0600
+++ src/gcc-4.5.0/libjava/classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c 2010-05-11 03:55:47.789066200 -0500
@@ -1601,7 +1601,7 @@ Java_gnu_java_nio_VMChannel_available (J
if (ioctl (fd, FIONREAD, &avail) == -1)
{
#if defined(ENOTTY) && defined(HAVE_FSTAT)
- if (errno == ENOTTY)
+ if (errno == ENOTTY || errno == EINVAL)
{
if ((fstat (fd, &statBuffer) == 0) && S_ISREG (statBuffer.st_mode))
{
--- origsrc/gcc-4.5.1/gcc/ada/gcc-interface/Makefile.in 2010-08-15 23:57:49.606350800 -0500
+++ src/gcc-4.5.1/gcc/ada/gcc-interface/Makefile.in 2010-08-16 13:50:46.168752400 -0500
@@ -2434,10 +2444,8 @@
if [ -f $(RTSDIR)/$(LIBGNAT_SHARED_LIB_PREFIX)$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \
$(INSTALL) $(RTSDIR)/$(LIBGNAT_SHARED_LIB_PREFIX)$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
$(DESTDIR)$(bindir); \
- fi; \
- if [ -f $(RTSDIR)/$(LIBGNAT_SHARED_LIB_PREFIX)$${file}$(soext) ]; then \
- $(LN_S) $(bindir)$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
- $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \
+ $(LN_S) $(bindir)/$(LIBGNAT_SHARED_LIB_PREFIX)$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION).dll.a; \
fi; \
done
# This copy must be done preserving the date on the original file.
with Ada.Text_IO;
procedure Hello is
begin
Ada.Text_IO.Put_Line ("Hello, world!");
end Hello;
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple