Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Aug 2002 04:26:25 +0200 (CEST)
From:      Frerich Raabe <frerich.raabe@gmx.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/42019: Update port: devel/distcc fix for various configure scripts
Message-ID:  <20020826022625.4A3D71064@daedalus.lan>

next in thread | raw e-mail | index | archive | help

>Number:         42019
>Category:       ports
>Synopsis:       Update port: devel/distcc fix for various configure scripts
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 25 19:30:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Frerich Raabe
>Release:        FreeBSD 4.6-STABLE i386
>Organization:
>Environment:
System: FreeBSD daedalus.lan 4.6-STABLE FreeBSD 4.6-STABLE #18: Tue Aug 20 22:09:12 CEST 2002 root@daedalus.lan:/usr/obj/usr/src/sys/SWIFT i386
>Description:
libstdc++-v3's configure script (and others) execute commands such as
.../xgcc -B.../ conftest.C -c -S. Assuming that xgcc invokes the distcc client,
this makes the distcc client write the assembly output to conftest.o even
though it should go into conftest.s. The cause of this is that distcc currently
does not honour the fact that -S supersedes -c.
Interestingly, if you add "-o conftest.s" to the command line, it's the distcc
server that fails, claiming it couldn't find conftest.C.
The attached patch (courtesy of Alexandre Oliva <aoliva@redhat.com>
fixes this behaviour.
>How-To-Repeat:
Try to compile any program with both the "-c" and the "-S" parameters specified.
>Fix:
--- src/arg.c.S-beats-c	2002-08-15 10:52:41.000000000 -0300
+++ src/arg.c	2002-08-24 20:09:31.000000000 -0300
@@ -200,12 +200,13 @@
         /* FIXME: This doesn't handle a.out, but that doesn't matter.
          */
         char *ofile;
-        if (seen_opt_c) {
-            if (dcc_output_from_source(*input_file, ".o", &ofile))
-                return -1;
-        } else if (seen_opt_s) {
+        /* -S takes precedence over -c.  */
+        if (seen_opt_s) {
             if (dcc_output_from_source(*input_file, ".s", &ofile))
                 return -1; 
+        } else if (seen_opt_c) {
+            if (dcc_output_from_source(*input_file, ".o", &ofile))
+                return -1;
         } else {
             rs_log_crit("this can't be happening(%d)!", __LINE__);
             return -1;
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020826022625.4A3D71064>