public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Some Linux patches
@ 1997-08-27 16:44 H.J. Lu
  1997-08-27 16:44 ` [REQ] If the x86 people could do something about this Jeffrey A Law
  0 siblings, 1 reply; 10+ messages in thread
From: H.J. Lu @ 1997-08-27 16:44 UTC (permalink / raw)
  To: egcs

> 
>   In message <m0x3iUK-0004efC@ocean.lucon.org>you write:
>   > > 
>   > > > 	* config/alpha/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
>   > > > 	as 1.
>   > > 
>   > > This should not be unconditional.  It is wrong for alpha-linux-ecoff
>   > > (not that I think anyone will notice) and glibc1.
>   > > 
>   > 
>   > If that is the case, we should have alpha*-*-linux-gnulibc1*
>   > and alpha*-*-linux-gnu* in configure.in. When it is done, I
>   > can make a new patch for it.
> Until we have that code I'm pulling the alpha/linux.h patch out.
> 
> Jeff
> 
> 

Ok. Here is a real patch. It also deals with alpha*-*-linux-gnulibc1.
But I don't know how to check alpha*-*-linux-gnulibc1 in config.guess.


-- 
H.J. Lu (hjl@gnu.ai.mit.edu)
--
Wed Aug 27 09:00:28 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)

	* configure.in (alpha*-*-linux-gnulibc1): New target. Add
	t-linux-gnulibc1 to tmake_file. No thread support.

	* config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
	if USE_GNULIBC_1 is not defined.
	(LINK_SPEC): Use /lib/ld-gnu.so.1 as dynamic linker name if
	USE_GNULIBC_1 is defined.

Index: gcc/configure.in
===================================================================
RCS file: /home/work/cvs/gnu/egcs/gcc/configure.in,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 configure.in
--- configure.in	1997/08/26 00:20:40	1.1.1.1
+++ configure.in	1997/08/27 16:12:25
@@ -273,6 +282,17 @@
 		fixincludes=Makefile.in
 		gas=yes gnu_ld=yes
 		;;
+	alpha*-*-linux-gnulibc1)
+		tm_file="${tm_file} alpha/linux.h alpha/elf.h"
+		xm_file="${xm_file} alpha/xm-linux.h"
+		target_cpu_default="MASK_GAS"
+		gas=no
+		tmake_file="t-linux t-linux-gnulibc1 alpha/t-linux"
+		xmake_file=none
+		fixincludes=Makefile.in
+		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
+		gas=yes gnu_ld=yes
+		;;
 	alpha*-*-linux-gnu*)
 		tm_file="${tm_file} alpha/linux.h alpha/elf.h"
 		xm_file="${xm_file} alpha/xm-linux.h"
Index: gcc/config/alpha/elf.h
===================================================================
RCS file: /home/work/cvs/gnu/egcs/gcc/config/alpha/elf.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 elf.h
--- elf.h	1997/08/26 00:20:43	1.1.1.1
+++ elf.h	1997/08/27 16:16:51
@@ -38,6 +38,19 @@
 -D__alpha -D__alpha__ -D__linux__ -D__linux -D_LONGLONG -Dlinux -Dunix \
 -Asystem(linux) -Acpu(alpha) -Amachine(alpha) -D__ELF__"
 
+#ifdef USE_GNULIBC_1
+#undef LINK_SPEC
+#define LINK_SPEC "-m elf64alpha -G 8 %{O*:-O3} %{!O*:-O1}	\
+  %{shared:-shared}						\
+  %{!shared:							\
+    %{!static:							\
+      %{rdynamic:-export-dynamic}				\
+      %{!dynamic-linker:-dynamic-linker /lib/ld-gnu.so.1}}	\
+    %{static:-static}}"
+#else
+#undef DEFAULT_VTABLE_THUNKS
+#define DEFAULT_VTABLE_THUNKS 1
+
 #undef LINK_SPEC
 #define LINK_SPEC "-m elf64alpha -G 8 %{O*:-O3} %{!O*:-O1}	\
   %{shared:-shared}						\
@@ -46,6 +59,7 @@
       %{rdynamic:-export-dynamic}				\
       %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}}	\
     %{static:-static}}"
+#endif
 
 /* Output at beginning of assembler file.  */
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [REQ] If the x86 people could do something about this...
  1997-08-27 16:44 Some Linux patches H.J. Lu
@ 1997-08-27 16:44 ` Jeffrey A Law
  0 siblings, 0 replies; 10+ messages in thread
From: Jeffrey A Law @ 1997-08-27 16:44 UTC (permalink / raw)
  To: egcs

  In message <Pine.SOL.3.90.970827143446.6629G-100000@tracy.informatik.rwth-aac
hen.de>you write:
  > > Yes, you have to know more about what registers are free at any
  > > given insn, but after reload this can be easily computed, and
  > > such information could be quite valueable on other ports as well.
  > 
  > How about a scheme like this: Describe instructions that can be split this
  > way by adding a (clobber (match_scratch:SI "=&Xr")). That should explain
  > to register allocation and reload that the instruction does not actually
  > need a scratch register, but a later pass could analyze this kind of
  > pattern and add the appropriate scratch registers, then split the
  > instructions.
I guess it sounds reasonable.  I would think something like this
would belong in sched since it already has the register live/dead
info and splitting code.

jeff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Some Linux patches
@ 1997-08-27 23:11 Jim Wilson
  0 siblings, 0 replies; 10+ messages in thread
From: Jim Wilson @ 1997-08-27 23:11 UTC (permalink / raw)
  To: egcs

I checked in Richard Henderson's alpha-linux-gnulibc1 patch, and then
added in your DEFAULT_VTABLE_THUNKS patch.

Jim

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Some Linux patches
@ 1997-08-27 17:40 Richard Henderson
  0 siblings, 0 replies; 10+ messages in thread
From: Richard Henderson @ 1997-08-27 17:40 UTC (permalink / raw)
  To: egcs

> Ok. Here is a real patch. It also deals with alpha*-*-linux-gnulibc1.
> But I don't know how to check alpha*-*-linux-gnulibc1 in config.guess.

The patch is, to a large extent, wrong.  I submitted a patch for this
about a week ago that did this properly, to both egcs and gcc2. 

At least for gcc2, Kenner was surprised to discover alpha/elf.h is
moment Linux-specific and wants the OS support cleaned up, and I agree
that it ought to be done.  I've gotten hold of the NetBSD patches and
will be merging things somewhat soon.


r~

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Some Linux patches
  1997-08-27 15:31 A gcc Makefile patch H.J. Lu
@ 1997-08-27 16:44 ` Jeffrey A Law
  1997-08-27 16:44 ` Jeffrey A Law
  1 sibling, 0 replies; 10+ messages in thread
From: Jeffrey A Law @ 1997-08-27 16:44 UTC (permalink / raw)
  To: egcs

  In message <199708270817.BAA09656@rtl.cygnus.com>you write:
  > > 	* config/alpha/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
  > > 	as 1.
  > 
  > This should not be unconditional.  It is wrong for alpha-linux-ecoff
  > (not that I think anyone will notice) and glibc1.
What about the rs6000/linux patch, it does the same thing...

Anyone know?

jeff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Some Linux patches
  1997-08-27 16:44 HAVE_STDLIB_H Jeffrey A Law
@ 1997-08-27 16:44 ` H.J. Lu
  0 siblings, 0 replies; 10+ messages in thread
From: H.J. Lu @ 1997-08-27 16:44 UTC (permalink / raw)
  To: egcs

> 
>   In message <m0x3iUK-0004efC@ocean.lucon.org>you write:
>   > > 
>   > > > 	* config/alpha/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
>   > > > 	as 1.
>   > > 
>   > > This should not be unconditional.  It is wrong for alpha-linux-ecoff
>   > > (not that I think anyone will notice) and glibc1.
>   > > 
>   > 
>   > If that is the case, we should have alpha*-*-linux-gnulibc1*
>   > and alpha*-*-linux-gnu* in configure.in. When it is done, I
>   > can make a new patch for it.
> Until we have that code I'm pulling the alpha/linux.h patch out.
> 

It should be in. Right now alpha*-*-linux-gnu* assumes glibc 2
is used where vtable thunks is enabled by default in glibc 2.0.5.

We have to fix alpha*-*-linux-gnulibc1* if we want to support that
configuration. While doing that, DEFAULT_VTABLE_THUNKS is just
the part of the job. You have to deal with LINK_SPEC anyway.


-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Some Linux patches
  1997-08-27 15:31 A gcc Makefile patch H.J. Lu
  1997-08-27 16:44 ` Some Linux patches Jeffrey A Law
@ 1997-08-27 16:44 ` Jeffrey A Law
  1 sibling, 0 replies; 10+ messages in thread
From: Jeffrey A Law @ 1997-08-27 16:44 UTC (permalink / raw)
  To: egcs

  In message <m0x3iUK-0004efC@ocean.lucon.org>you write:
  > > 
  > > > 	* config/alpha/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
  > > > 	as 1.
  > > 
  > > This should not be unconditional.  It is wrong for alpha-linux-ecoff
  > > (not that I think anyone will notice) and glibc1.
  > > 
  > 
  > If that is the case, we should have alpha*-*-linux-gnulibc1*
  > and alpha*-*-linux-gnu* in configure.in. When it is done, I
  > can make a new patch for it.
Until we have that code I'm pulling the alpha/linux.h patch out.

Jeff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Some Linux patches
@ 1997-08-27  8:07 Richard Henderson
  0 siblings, 0 replies; 10+ messages in thread
From: Richard Henderson @ 1997-08-27  8:07 UTC (permalink / raw)
  To: egcs

> 	* config/alpha/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
> 	as 1.

This should not be unconditional.  It is wrong for alpha-linux-ecoff
(not that I think anyone will notice) and glibc1.


r~

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Some Linux patches
  1997-08-27  6:19 g77 configuring, docs (was Re: 970825 Snapshot Available) Craig Burley
@ 1997-08-27  7:33 ` Jeffrey A Law
  0 siblings, 0 replies; 10+ messages in thread
From: Jeffrey A Law @ 1997-08-27  7:33 UTC (permalink / raw)
  To: egcs

  In message <m0x3W76-0004ecC@ocean.lucon.org>you write:
  > Hi,
  > 
  > Here are 2 Linux patches.
I've installed these patches.

However, in the future, can you _please_ tell us what problem you're
trying to solve with each patch.  It wastes our time to have to
recreate whatever analysis you've already done in the process of
creating a patch to fix a problem.

Jeff

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Some Linux patches
@ 1997-08-27  0:20 H.J. Lu
  0 siblings, 0 replies; 10+ messages in thread
From: H.J. Lu @ 1997-08-27  0:20 UTC (permalink / raw)
  To: egcs

Hi,

Here are 2 Linux patches.

Thanks.


-- 
H.J. Lu (hjl@gnu.ai.mit.edu)
---
Tue Aug 26 07:47:14 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)

	* config/linux.h (CC1_SPEC): Define it only if not defined.

	* config/m68k/linux.h (CC1_SPEC): Undefine it before include
	<linux.h>

Tue Aug 26 07:22:28 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)

	* config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
	USE_GNULIBC_1 is not defined.

	* config/alpha/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
	as 1.
	* config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): Ditto.

	* config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
	as 1 if USE_GNULIBC_1 is not defined.

Index: config/m68k/linux.h
===================================================================
RCS file: /home/work/cvs/gnu/gcc/config/m68k/linux.h,v
retrieving revision 1.1.1.13
diff -u -r1.1.1.13 linux.h
--- linux.h	1997/07/22 01:16:16	1.1.1.13
+++ linux.h	1997/08/13 14:11:53
@@ -23,6 +23,10 @@
 #define USE_GAS			/* But GAS wants jbsr instead of jsr */
 
 #include <m68k/m68k.h>
+
+/* Make sure CC1 is undefined. */
+#undef CC1_SPEC
+
 #include <linux.h>		/* some common stuff */
 
 #undef TARGET_VERSION
Index: config/alpha/linux.h
===================================================================
RCS file: /home/work/cvs/gnu/gcc/config/alpha/linux.h,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 linux.h
--- linux.h	1996/09/13 22:29:47	1.1.1.3
+++ linux.h	1997/08/13 04:12:30
@@ -48,6 +48,9 @@
 #undef ASM_SPEC
 #define ASM_SPEC "-nocpp"
 
+#undef DEFAULT_VTABLE_THUNKS
+#define DEFAULT_VTABLE_THUNKS 1
+
 /* Can't do stabs */
 #undef SDB_DEBUGGING_INFO
 
Index: config/rs6000/linux.h
===================================================================
RCS file: /home/work/cvs/gnu/gcc/config/rs6000/linux.h,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 linux.h
--- linux.h	1997/07/07 00:18:23	1.1.1.4
+++ linux.h	1997/08/13 04:12:57
@@ -60,3 +60,6 @@
 
 #undef	MULTILIB_DEFAULTS
 #define	MULTILIB_DEFAULTS { "mbig", "mcall-linux" }
+
+#undef DEFAULT_VTABLE_THUNKS
+#define DEFAULT_VTABLE_THUNKS 1
Index: config/sparc/linux.h
===================================================================
RCS file: /home/work/cvs/gnu/gcc/config/sparc/linux.h,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 linux.h
--- linux.h	1997/07/07 00:18:55	1.1.1.2
+++ linux.h	1997/08/13 04:14:35
@@ -35,6 +35,11 @@
 #define MULTIBYTE_CHARS 1
 #endif
 
+#ifndef USE_GNULIBC_1
+#undef DEFAULT_VTABLE_THUNKS
+#define DEFAULT_VTABLE_THUNKS 1
+#endif
+
 /* There are conflicting reports about whether this system uses
    a different assembler syntax.  wilson@cygnus.com says # is right.  */
 #undef COMMENT_BEGIN
Index: config/linux.h
===================================================================
RCS file: /home/work/cvs/gnu/gcc/config/linux.h,v
retrieving revision 1.1.1.8
diff -u -r1.1.1.8 linux.h
--- linux.h	1997/06/28 16:18:11	1.1.1.8
+++ linux.h	1997/08/13 14:09:20
@@ -83,8 +83,14 @@
   "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
 
 /* This is for -profile to use -lc_p instead of -lc. */
-#undef  CC1_SPEC
+#ifndef CC1_SPEC
 #define CC1_SPEC "%{profile:-p}"
+#endif
+
+#ifndef USE_GNULIBC_1
+#undef DEFAULT_VTABLE_THUNKS
+#define DEFAULT_VTABLE_THUNKS 1
+#endif
 
 #undef	LIB_SPEC
 /* We no longer link with libc_p.a or libg.a by default. If you

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~1997-08-27 23:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-08-27 16:44 Some Linux patches H.J. Lu
1997-08-27 16:44 ` [REQ] If the x86 people could do something about this Jeffrey A Law
  -- strict thread matches above, loose matches on Subject: below --
1997-08-27 23:11 Some Linux patches Jim Wilson
1997-08-27 17:40 Richard Henderson
1997-08-27 16:44 HAVE_STDLIB_H Jeffrey A Law
1997-08-27 16:44 ` Some Linux patches H.J. Lu
1997-08-27 15:31 A gcc Makefile patch H.J. Lu
1997-08-27 16:44 ` Some Linux patches Jeffrey A Law
1997-08-27 16:44 ` Jeffrey A Law
1997-08-27  8:07 Richard Henderson
1997-08-27  6:19 g77 configuring, docs (was Re: 970825 Snapshot Available) Craig Burley
1997-08-27  7:33 ` Some Linux patches Jeffrey A Law
1997-08-27  0:20 H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).