[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc
Subject: Re: HP/Compaq Tru64 linker semantics
From: Karl Vogel <karl.vogel () seagha ! com>
Date: 2004-04-28 23:47:15
Message-ID: 40904283.8040509 () seagha ! com
[Download RAW message or body]
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.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic