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>