This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gcc-4.5 notes


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) 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
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/, 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

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.



--- 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/	2010-08-15 23:57:49.606350800 -0500
+++ src/gcc-4.5.1/gcc/ada/gcc-interface/	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; \
 # This copy must be done preserving the date on the original file.
with Ada.Text_IO;
procedure Hello is
   Ada.Text_IO.Put_Line ("Hello, world!");
end Hello;

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]