This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

3.4/3.5 PATCH: Allow passing -oldstyle_liblookup to Tru64 UNIX ld (PR other/1963)


This patch fixes PR other/1963 as suggested in the PR and by Jim Wilson:

	http://gcc.gnu.org/ml/gcc/2004-04/msg01338.html

Bootstrapped without regressions on alpha-dec-osf5.1b (mainline) and
alpha-dec-osf4.0f (3.4 branch).

Ok for mainline and branch?  Although this is not a regression, the fix is
strictly platform-specific, the bug is long standing and without a
workaround, so I'd really like this to go in for 3.4.1, too.

After testing this patch, it occured to me that it might be
useful/desirable to be able to pass -oldstyle_liblookup directly to gcc
instead of having to go through -Wl,-oldstyle_liblookup (as works for cc).
Unfortunately, the quick hack to the specs file, adding the corresponding
bypass the LINK_SPEC, didn't work: the option still got split as -o
ldstyle_liblookup.  Given that gcc only allows passing a small number of
well-known linker options directly without -Wl, this shouldn't be a
problem.

	Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University



Thu Apr 29 00:08:16 2004  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	PR other/1963
	* config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.

Index: gcc/config/alpha/osf.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/osf.h,v
retrieving revision 1.35
diff -u -p -r1.35 osf.h
--- gcc/config/alpha/osf.h	12 Dec 2003 01:19:23 -0000	1.35
+++ gcc/config/alpha/osf.h	29 Apr 2004 17:59:19 -0000
@@ -169,6 +169,10 @@ __enable_execute_stack (void *addr)					
 #define LD_INIT_SWITCH "-init"
 #define LD_FINI_SWITCH "-fini"
 
+/* The linker needs a space after "-o".  This allows -oldstyle_liblookup to
+   be passed to ld.  */
+#define SWITCHES_NEED_SPACES "o"
+
 /* Select a format to encode pointers in exception handling data.  CODE
    is 0 for data, 1 for code labels, 2 for function pointers.  GLOBAL is
    true if the symbol may be affected by dynamic relocations.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]