public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* gcc-4.5 notes
@ 2010-08-16 20:20 Yaakov (Cygwin/X)
  2010-08-25 14:37 ` Reini Urban
  0 siblings, 1 reply; 2+ messages in thread
From: Yaakov (Cygwin/X) @ 2010-08-16 20:20 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1645 bytes --]

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


[-- Attachment #2: classpath-0.98-FIONREAD.patch --]
[-- Type: text/x-patch, Size: 627 bytes --]

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))
             {


[-- Attachment #3: gcc45-libgnat-implib.patch --]
[-- Type: text/x-patch, Size: 930 bytes --]

--- 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.

[-- Attachment #4: hello.adb --]
[-- Type: text/x-adasrc, Size: 100 bytes --]

with Ada.Text_IO;
 
procedure Hello is
begin
   Ada.Text_IO.Put_Line ("Hello, world!");
end Hello;


[-- Attachment #5: Type: text/plain, Size: 218 bytes --]

--
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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: gcc-4.5 notes
  2010-08-16 20:20 gcc-4.5 notes Yaakov (Cygwin/X)
@ 2010-08-25 14:37 ` Reini Urban
  0 siblings, 0 replies; 2+ messages in thread
From: Reini Urban @ 2010-08-25 14:37 UTC (permalink / raw)
  To: cygwin

Hi Dave,

Aside from Yaakov's notes I have nothing to fix.
Just to add that it is working fine for me. I've rebuilt
some of my perls with extensive testsuites and everything
so far was fine.
Yaakov's tests are obviously better than mine.

May I ask when can we expect gcc-4.5.0 going stable?

Because I want the pending perl-5.10.1-4 update which changes
cc from gcc to gcc-4 and fixes some more minor stuff to be done
with the new gcc-4.5.x.
But if it's more than one week I'll revert to the old compiler.


2010/8/16 Yaakov (Cygwin/X):
> 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.
-- 
Reini Urban
http://phpwiki.org/           http://murbreak.at/

--
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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-08-25 14:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-16 20:20 gcc-4.5 notes Yaakov (Cygwin/X)
2010-08-25 14:37 ` Reini Urban

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).