public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libmudflap/38738]  New: gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld)
@ 2009-01-06  2:36 rob1weld at aol dot com
  2009-01-06  2:42 ` [Bug libmudflap/38738] " pinskia at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: rob1weld at aol dot com @ 2009-01-06  2:36 UTC (permalink / raw)
  To: gcc-bugs

Enable mudflaps for Solaris _IF_ gcc is configured to use GNU's ld .


Here is the final result:

# make check
...
                === libmudflap Summary ===
# of expected passes            1131
# of unexpected failures        293


I am running i386-pc-solaris2.11 (OpenSolaris 2008.11) and configured the
trunk like this:

# /usr/local/bin/gcc -v
Using built-in specs.
Target: i386-pc-solaris2.11
Configured with: ../gcc_trunk/configure
--enable-languages=ada,c,c++,fortran,java,objc,obj-c++ --enable-shared
--disable-static --enable-decimal-float --enable-nls --without-system-libunwind
--with-gnu-as --with-as=/usr/local/bin/as --with-gnu-ld
--with-ld=/usr/local/bin/ld
Thread model: posix
gcc version 4.4.0 20090104 (experimental) (GCC) 

# /usr/local/bin/ld -v
GNU ld (GNU Binutils) 2.19

# /usr/local/bin/as -v
GNU assembler version 2.19 (i386-pc-solaris2.11) using BFD version (GNU
Binutils) 2.19


I modified "gcc_build/i386-pc-solaris2.11/libmudflap/Makefile" to add
"-lsocket" to LIBS which allows most of the tests to work. This was not
necessary for any other testsuites, they worked as-is.

# LIBS = -ldl 
LIBS = -ldl -lsocket



Some of the "unexpected failures" are simple compilation errors in the
tests which, when fixed, will likely become "expected passes". Example:
...
output is:
/usr/share/src/gcc_trunk/libmudflap/testsuite/libmudflap.c/pass47-frag.c:10:
warning: mudflap cannot track unknown size extern '__ctype'
_or_
Excess errors:
/usr/share/src/gcc_trunk/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c:261:
error: invalid operands to binary - (have 'int' and 'char *')
/usr/share/src/gcc_trunk/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c:281:
error: invalid operands to binary - (have 'int' and 'char *')
/usr/share/src/gcc_trunk/libmudflap/testsuite/libmudflap.c/pass-stratcliff.c:309:
warning: comparison between pointer and integer
...

A few of the "unexpected failures" are only in the "execution test" and
are the result of a Segmentation Fault. For the most part it is working.


The root configure script needs to be modified to allow mudflaps on this
platform _IF_ gcc is configured to use GNU ld (usually it does not) and
there needs a bit of fixing in the Makefile of libmudflap's testsuite.

Thanks,
Rob


-- 
           Summary: gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps
                    (if gcc is configured to use GNU ld)
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: libmudflap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rob1weld at aol dot com
 GCC build triplet: i386-pc-solaris2.11
  GCC host triplet: i386-pc-solaris2.11
GCC target triplet: i386-pc-solaris2.11


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38738


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

* [Bug libmudflap/38738] gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld)
  2009-01-06  2:36 [Bug libmudflap/38738] New: gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld) rob1weld at aol dot com
@ 2009-01-06  2:42 ` pinskia at gcc dot gnu dot org
  2009-01-06  4:21 ` rob1weld at aol dot com
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-01-06  2:42 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2009-01-06 02:41 -------
for the pass-stratcliff.c failure, change:
#ifndef __FreeBSD__
to
#ifdef __gnu_linux__

And this should fix the issue there.

For pass47-frag.c failure, you need to either do a { dg-warning "__ctype" "" {
target *-*-solaris* } or prune the output of the warning.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|major                       |normal


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38738


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

* [Bug libmudflap/38738] gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld)
  2009-01-06  2:36 [Bug libmudflap/38738] New: gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld) rob1weld at aol dot com
  2009-01-06  2:42 ` [Bug libmudflap/38738] " pinskia at gcc dot gnu dot org
@ 2009-01-06  4:21 ` rob1weld at aol dot com
  2009-01-13  0:20 ` [Bug libmudflap/38738] libmudflap could be enabled for Solaris when using GNU ld pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rob1weld at aol dot com @ 2009-01-06  4:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from rob1weld at aol dot com  2009-01-06 04:21 -------
There is one other change I made, add this to the top of
libmudflaps/mf-hooks2.c :


/* OpenSolaris */
struct mntent {
        char    *mnt_fsname;    /* file system name */
        char    *mnt_dir;       /* file system path prefix */
        char    *mnt_type;      /* 4.3, nfs, dos, macintosh, cfs, or ignore */
        char    *mnt_opts;      /* ro, etc. */
        int     mnt_freq;       /* dump frequency, in days */
        int     mnt_passno;     /* pass number on parallel fsck */
};


Full results are here:
http://gcc.gnu.org/ml/gcc-testresults/2009-01/msg00488.html

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38738


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

* [Bug libmudflap/38738] libmudflap could be enabled for Solaris when using GNU ld
  2009-01-06  2:36 [Bug libmudflap/38738] New: gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld) rob1weld at aol dot com
  2009-01-06  2:42 ` [Bug libmudflap/38738] " pinskia at gcc dot gnu dot org
  2009-01-06  4:21 ` rob1weld at aol dot com
@ 2009-01-13  0:20 ` pinskia at gcc dot gnu dot org
  2009-01-18 12:52 ` rob1weld at aol dot com
  2009-03-10  4:27 ` rob1weld at aol dot com
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2009-01-13  0:20 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement
  GCC build triplet|i386-pc-solaris2.11         |
   GCC host triplet|i386-pc-solaris2.11         |
 GCC target triplet|i386-pc-solaris2.11         |*-*-solaris*
            Summary|gcc 4.4.0 20090104 -        |libmudflap could be enabled
                   |OpenSolaris can enable      |for Solaris when using GNU
                   |libmudflaps (if gcc is      |ld
                   |configured to use GNU ld)   |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38738


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

* [Bug libmudflap/38738] libmudflap could be enabled for Solaris when using GNU ld
  2009-01-06  2:36 [Bug libmudflap/38738] New: gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld) rob1weld at aol dot com
                   ` (2 preceding siblings ...)
  2009-01-13  0:20 ` [Bug libmudflap/38738] libmudflap could be enabled for Solaris when using GNU ld pinskia at gcc dot gnu dot org
@ 2009-01-18 12:52 ` rob1weld at aol dot com
  2009-03-10  4:27 ` rob1weld at aol dot com
  4 siblings, 0 replies; 6+ messages in thread
From: rob1weld at aol dot com @ 2009-01-18 12:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rob1weld at aol dot com  2009-01-18 12:52 -------
(In reply to comment #1)
> for the pass-stratcliff.c failure, change:
> #ifndef __FreeBSD__
> to
> #ifdef __gnu_linux__
> 
> And this should fix the issue there.
> 
> For pass47-frag.c failure, you need to either do a { dg-warning "__ctype" "" {
> target *-*-solaris* } or prune the output of the warning.
> 

I will add those to my next run.


I could not decide where or how to fix the Testsuite with a trivial
patch (that addressed a single issue) to provide the greatest benefit
so for myself I tried something like this:


# svn diff libmudflap/testsuite/mfconfig.exp.in
Index: libmudflap/testsuite/mfconfig.exp.in
===================================================================
--- libmudflap/testsuite/mfconfig.exp.in        (revision 143454)
+++ libmudflap/testsuite/mfconfig.exp.in        (working copy)
@@ -1,4 +1,13 @@
+# We need libsocket to link successfully on OpenSolaris, set
default-extra-flags
+proc solaris_libmudflap_need_lsocket {} {
+  if { [istarget "*-*-solaris*"] } {
+    lappend uselsocket "-lsocket"
+  }
+  return $uselsocket
+}
+
 global mfconfig_libs
-set mfconfig_libs "@LIBS@"
+set uselsocket [solaris_libmudflap_need_lsocket]
+set mfconfig_libs "@LIBS@ $uselsocket "
 global libmudflapth
 set libmudflapth "@build_libmudflapth@"



The code was derived by reading
"gcc_trunk/libjava/testsuite/libjava.jni/jni.exp"
(line 263). The file contains no copyright info whatsoever but it is yours.


That gives us this result:

                === libmudflap Summary ===

# of expected passes            1107
# of unexpected failures        317


Full results are here:

Results for 4.4.0 20090117 (experimental) [trunk revision 143454] (GCC)
testsuite on i386-pc-solaris2.11
http://gcc.gnu.org/ml/gcc-testresults/2009-01/msg01790.html

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38738


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

* [Bug libmudflap/38738] libmudflap could be enabled for Solaris when using GNU ld
  2009-01-06  2:36 [Bug libmudflap/38738] New: gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld) rob1weld at aol dot com
                   ` (3 preceding siblings ...)
  2009-01-18 12:52 ` rob1weld at aol dot com
@ 2009-03-10  4:27 ` rob1weld at aol dot com
  4 siblings, 0 replies; 6+ messages in thread
From: rob1weld at aol dot com @ 2009-03-10  4:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rob1weld at aol dot com  2009-03-10 04:27 -------
(In reply to comment #3)
> (In reply to comment #1)

MIRO: Mudflap Improved with Referent Objects - Works on OpenSolaris also.
http://gcc.gnu.org/wiki/MIRO

Results for gcc version 4.4.0 20080520 (experimental) [miro revision 144368]
(GCC) testsuite on i386-pc-solaris2.11
http://gcc.gnu.org/ml/gcc-testresults/2009-02/msg02215.html

Rob


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38738


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

end of thread, other threads:[~2009-03-10  4:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-06  2:36 [Bug libmudflap/38738] New: gcc 4.4.0 20090104 - OpenSolaris can enable libmudflaps (if gcc is configured to use GNU ld) rob1weld at aol dot com
2009-01-06  2:42 ` [Bug libmudflap/38738] " pinskia at gcc dot gnu dot org
2009-01-06  4:21 ` rob1weld at aol dot com
2009-01-13  0:20 ` [Bug libmudflap/38738] libmudflap could be enabled for Solaris when using GNU ld pinskia at gcc dot gnu dot org
2009-01-18 12:52 ` rob1weld at aol dot com
2009-03-10  4:27 ` rob1weld at aol dot com

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