From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32589 invoked by alias); 28 Apr 2004 23:47:16 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 32570 invoked from network); 28 Apr 2004 23:47:12 -0000 Received: from unknown (HELO poros.telenet-ops.be) (195.130.132.44) by sources.redhat.com with SMTP; 28 Apr 2004 23:47:12 -0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by poros.telenet-ops.be (Postfix) with SMTP id 5089736802A; Thu, 29 Apr 2004 01:47:12 +0200 (MEST) Received: from seagha.com (D577B6B7.kabel.telenet.be [213.119.182.183]) by poros.telenet-ops.be (Postfix) with ESMTP id BB5B736802D; Thu, 29 Apr 2004 01:47:11 +0200 (MEST) Message-ID: <40904283.8040509@seagha.com> Date: Thu, 29 Apr 2004 04:07:00 -0000 From: Karl Vogel User-Agent: Mozilla Thunderbird 0.5 (Windows/20040207) MIME-Version: 1.0 To: Rainer Orth Cc: Jim Wilson , gcc@gcc.gnu.org Subject: Re: HP/Compaq Tru64 linker semantics References: <6DED3619289CD311BCEB00508B8E133601A68654@nt-server2.antwerp.seagha.com> <40900DC4.1080504@specifixinc.com> <1083189407.1072.44.camel@leaf.tuliptree.org> <16528.10942.725616.111974@xayide.TechFak.Uni-Bielefeld.DE> In-Reply-To: <16528.10942.725616.111974@xayide.TechFak.Uni-Bielefeld.DE> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-04/txt/msg01350.txt.bz2 Rainer Orth wrote: >Jim Wilson writes: > > > >>This is because of confusion between "-o output" and >>"-oldstyle_liblookup" This should be fixable by defining >>SWITCHES_NEED_SPACES to include "o". This changes both gcc.c and >>collect2.c, and they will no longer accept "-ooutput" as valid, which >>should let the Tru64 linker option work. >> >> > >True, this is even mentioned in the PR. I've just checked that this is >true: ld doesn't understand -otest (instead of -o test). I once had a >hacky patch to let collect2 pass through certain flags (like >-oldstyle_liblookup) unprocessed, but this is much cleaner. > >I'll prepare a patch. > > > I did something like: +Index: gcc/config/alpha/osf.h +--- gcc/config/alpha/osf.h.orig 2003-12-12 02:19:23.000000000 +0100 ++++ gcc/config/alpha/osf.h 2004-04-26 21:25:14.000000000 +0200 +@@ -79,7 +79,7 @@ + constructor and call-frame data structures are not accidentally + overridden. */ + #define LINK_SPEC \ +- "-G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \ ++ "-oldstyle_liblookup %{!o:-o a.out} -G 8 %{O*:-O3} %{!O*:-O1} -S %{static:-non_shared} \ + %{!static:%{shared:-shared -hidden_symbol _GLOBAL_*} \ + %{!shared:-call_shared}} %{pg} %{taso} %{rpath*}" + As I also bumped into the problem with the -o handling (ie. error when no -o is given on the gcc command line), but since I'm no GCC hacker, I'm not sure it's the best way :) Karl.