* 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).