* Re: src/gas ChangeLog config/tc-mips.c
[not found] <20010609052440.25257.qmail@sourceware.cygnus.com>
@ 2001-06-11 8:29 ` Ian Lance Taylor
2001-06-11 9:37 ` H . J . Lu
0 siblings, 1 reply; 10+ messages in thread
From: Ian Lance Taylor @ 2001-06-11 8:29 UTC (permalink / raw)
To: binutils
hjl@sourceware.cygnus.com writes:
> CVSROOT: /cvs/src
> Module name: src
> Changes by: hjl@sources.redhat.com 2001-06-08 22:24:39
>
> Modified files:
> gas : ChangeLog
> gas/config : tc-mips.c
>
> Log message:
> 2001-06-08 H.J. Lu <hjl@gnu.org>
>
> * config/tc-mips.c (warn_nops): New variable. Set to 0 to
> disable warning about all NOPS that the assembler generates.
> (macro): Warn NOPS generated only if warn_nops is not 0.
> (md_shortopts): Add `n'.
> (md_parse_option): Set warn_nops to 1 for `n'.
>
> Patches:
> http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/ChangeLog.diff?cvsroot=src&r1=1.895&r2=1.896
> http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gas/config/tc-mips.c.diff?cvsroot=src&r1=1.46&r2=1.47
This seems to add an option. That must be documented in
gas/doc/c-mips.texi; how else will anybody know about it? Did you
update md_show_usage? It also seems to change behaviour. That should
probably be documented in gas/NEWS.
Ian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: src/gas ChangeLog config/tc-mips.c
2001-06-11 8:29 ` src/gas ChangeLog config/tc-mips.c Ian Lance Taylor
@ 2001-06-11 9:37 ` H . J . Lu
2001-06-11 10:23 ` Philip Blundell
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: H . J . Lu @ 2001-06-11 9:37 UTC (permalink / raw)
To: binutils
On Mon, Jun 11, 2001 at 08:29:26AM -0700, Ian Lance Taylor wrote:
>
> This seems to add an option. That must be documented in
> gas/doc/c-mips.texi; how else will anybody know about it? Did you
> update md_show_usage? It also seems to change behaviour. That should
> probably be documented in gas/NEWS.
>
> Ian
How about this?
BTW, does anyone know why we have to duplicate the machine specific
usage in both doc/as.texinfo and gas/doc/c-arch.texi? Shouldn't the
one in doc/as.texinfo be enough?
Thanks.
H.J.
----
2001-06-11 H.J. Lu <hjl@gnu.org>
* NEWS: Updated for the new -n option for the MIPS assembler.
* config/tc-mips.c (md_show_usage): Add -n.
* doc/as.texinfo: Document the new -n option.
* doc/c-mips.texi: Likewise.
* doc/as.1: Regnerated.
Index: NEWS
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/NEWS,v
retrieving revision 1.1.1.15
diff -u -p -r1.1.1.15 NEWS
--- NEWS 2001/01/23 18:59:58 1.1.1.15
+++ NEWS 2001/06/11 16:29:42
@@ -1,5 +1,9 @@
-*- text -*-
+The MIPS assembler no longer issues a warning by default when it
+generates a nop instruction from a macro. The new command line option
+-n will turn on the warning.
+
Changes in 2.11:
x86 gas now supports the full Pentium4 instruction set.
Index: config/tc-mips.c
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/config/tc-mips.c,v
retrieving revision 1.41
diff -u -p -r1.41 tc-mips.c
--- config/tc-mips.c 2001/06/10 17:31:48 1.41
+++ config/tc-mips.c 2001/06/11 16:29:43
@@ -9331,6 +9331,7 @@ MIPS options:\n\
fprintf (stream, _("\
-O0 remove unneeded NOPs, do not swap branches\n\
-O remove unneeded NOPs and swap branches\n\
+-n warn NOPs generated from macros\n\
--[no-]construct-floats [dis]allow floating point values to be constructed\n\
--trap, --no-break trap exception on div by 0 and mult overflow\n\
--break, --no-trap break exception on div by 0 and mult overflow\n"));
Index: doc/as.1
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/doc/as.1,v
retrieving revision 1.1.1.8
diff -u -p -r1.1.1.8 as.1
--- doc/as.1 2001/04/24 16:13:08 1.1.1.8
+++ doc/as.1 2001/06/11 16:29:43
@@ -1,5 +1,5 @@
.\" Automatically generated by Pod::Man version 1.02
-.\" Fri Apr 13 11:27:39 2001
+.\" Mon Jun 11 09:28:09 2001
.\"
.\" Standard preamble:
.\" ======================================================================
@@ -137,7 +137,7 @@
.\" ======================================================================
.\"
.IX Title "AS 1"
-.TH AS 1 "binutils-2.11.90" "2001-04-13" "GNU"
+.TH AS 1 "binutils-2.11.90" "2001-06-11" "GNU"
.UC
.SH "NAME"
\&\s-1AS\s0 \- the portable \s-1GNU\s0 assembler.
@@ -192,7 +192,7 @@ as [ \-a[cdhlns][=file] ] [ \-D ] [ \-\
[ \-mips1 ] [ \-mips2 ] [ \-mips3 ] [ \-mips4 ] [ \-mips5 ]
[ \-mips32 ] [ \-mips64 ]
[ \-m4650 ] [ \-no-m4650 ]
- [ \-\-trap ] [ \-\-break ]
+ [ \-\-trap ] [ \-\-break ] [ \-n ]
[ \-\-emulation=\fIname\fR ]
[ \*(-- | \fIfiles\fR ... ]
.SH "DESCRIPTION"
@@ -677,6 +677,10 @@ Control how to deal with multiplication
(and only work for Instruction Set Architecture level 2 and higher);
\&\fB\*(--break\fR or \fB\*(--no-trap\fR (also synonyms, and the default) take a
break exception.
+.Ip "\f(CW\*(C`\-n\*(C'\fR" 4
+.IX Item "-n"
+When this option is used, \f(CW\*(C`as\*(C'\fR will issue a warning every
+time it generates a nop instruction from a macro.
.PP
The following options are available when as is configured for
an MCore processor.
Index: doc/as.texinfo
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/doc/as.texinfo,v
retrieving revision 1.24
diff -u -p -r1.24 as.texinfo
--- doc/as.texinfo 2001/03/27 16:55:14 1.24
+++ doc/as.texinfo 2001/06/11 16:29:43
@@ -332,7 +332,7 @@ gcc(1), ld(1), and the Info entries for
[ -mips1 ] [ -mips2 ] [ -mips3 ] [ -mips4 ] [ -mips5 ]
[ -mips32 ] [ -mips64 ]
[ -m4650 ] [ -no-m4650 ]
- [ --trap ] [ --break ]
+ [ --trap ] [ --break ] [ -n ]
[ --emulation=@var{name} ]
@end ifset
[ -- | @var{files} @dots{} ]
@@ -829,6 +829,10 @@ Control how to deal with multiplication
(and only work for Instruction Set Architecture level 2 and higher);
@samp{--break} or @samp{--no-trap} (also synonyms, and the default) take a
break exception.
+
+@item -n
+When this option is used, @code{@value{AS}} will issue a warning every
+time it generates a nop instruction from a macro.
@end table
@end ifset
Index: doc/c-mips.texi
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/doc/c-mips.texi,v
retrieving revision 1.1.1.9
diff -u -p -r1.1.1.9 c-mips.texi
--- doc/c-mips.texi 2001/03/09 19:17:15 1.1.1.9
+++ doc/c-mips.texi 2001/06/11 16:29:43
@@ -189,6 +189,10 @@ are only supported at Instruction Set Ar
@itemx --no-trap
Generate code to take a break exception rather than a trap exception when an
error is detected. This is the default.
+
+@item -n
+When this option is used, @code{@value{AS}} will issue a warning every
+time it generates a nop instruction from a macro.
@end table
@node MIPS Object
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: src/gas ChangeLog config/tc-mips.c
2001-06-11 9:37 ` H . J . Lu
@ 2001-06-11 10:23 ` Philip Blundell
2001-06-11 10:40 ` H . J . Lu
2001-06-11 11:30 ` Ian Lance Taylor
2001-06-11 19:07 ` Is this correct ? Tat Kee Tan
2 siblings, 1 reply; 10+ messages in thread
From: Philip Blundell @ 2001-06-11 10:23 UTC (permalink / raw)
To: H . J . Lu; +Cc: binutils
>>+-n warn NOPs generated from macros\n\
I think you have missed a word out there. You also mistyped `Regenerated' in
your changelog entry.
p.
--
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.5 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999 (debian)
iD8DBQE7JP6BVTLPJe9CT30RArobAJ94jjESCa+dr/2ZHENrjZBsDnTaOwCfRAW9
dKb8M0ie+zONCbkKxTHp/TA=
=CK7n
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: src/gas ChangeLog config/tc-mips.c
2001-06-11 10:23 ` Philip Blundell
@ 2001-06-11 10:40 ` H . J . Lu
2001-06-11 10:57 ` Philip Blundell
0 siblings, 1 reply; 10+ messages in thread
From: H . J . Lu @ 2001-06-11 10:40 UTC (permalink / raw)
To: Philip Blundell; +Cc: binutils
On Mon, Jun 11, 2001 at 06:23:13PM +0100, Philip Blundell wrote:
> >>+-n warn NOPs generated from macros\n\
>
> I think you have missed a word out there. You also mistyped `Regenerated' in
What word is missing?
> your changelog entry.
>
Fixed. Thanks.
H.J.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: src/gas ChangeLog config/tc-mips.c
2001-06-11 10:40 ` H . J . Lu
@ 2001-06-11 10:57 ` Philip Blundell
2001-06-11 11:03 ` H . J . Lu
0 siblings, 1 reply; 10+ messages in thread
From: Philip Blundell @ 2001-06-11 10:57 UTC (permalink / raw)
To: H . J . Lu; +Cc: binutils
>> >>+-n warn NOPs generated from macros\n\
>>
>> I think you have missed a word out there. You also mistyped `Regenerated' i
>n
>
>What word is missing?
Well, the sentence doesn't make much sense as it stands. I think you want
"warn when NOPs are generated from macros" or "warn about NOPs generated from
macros".
p.
--
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.5 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999 (debian)
iD8DBQE7JQZ1VTLPJe9CT30RAohiAKCQels3SOl8ExGTvSMsFEDFxze3kQCdGkKy
wSxJ25xzA2Tz0rlY4+ZVmBg=
=WqfC
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: src/gas ChangeLog config/tc-mips.c
2001-06-11 10:57 ` Philip Blundell
@ 2001-06-11 11:03 ` H . J . Lu
0 siblings, 0 replies; 10+ messages in thread
From: H . J . Lu @ 2001-06-11 11:03 UTC (permalink / raw)
To: Philip Blundell; +Cc: binutils
On Mon, Jun 11, 2001 at 06:57:09PM +0100, Philip Blundell wrote:
> >> >>+-n warn NOPs generated from macros\n\
> >>
> >> I think you have missed a word out there. You also mistyped `Regenerated' i
> >n
> >
> >What word is missing?
>
> Well, the sentence doesn't make much sense as it stands. I think you want
> "warn when NOPs are generated from macros" or "warn about NOPs generated from
> macros".
>
Thanks. Here is the new one. Any other objections?
H.J.
----
2001-06-11 H.J. Lu <hjl@gnu.org>
* NEWS: Updated for the new -n option for the MIPS assembler.
* config/tc-mips.c (md_show_usage): Add -n.
* doc/as.texinfo: Document the new -n option.
* doc/c-mips.texi: Likewise.
* doc/as.1: Regenerated.
Index: NEWS
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/NEWS,v
retrieving revision 1.1.1.15
diff -u -p -r1.1.1.15 NEWS
--- NEWS 2001/01/23 18:59:58 1.1.1.15
+++ NEWS 2001/06/11 16:31:55
@@ -1,5 +1,9 @@
-*- text -*-
+The MIPS assembler no longer issues a warning by default when it
+generates a nop instruction from a macro. The new command line option
+-n will turn on the warning.
+
Changes in 2.11:
x86 gas now supports the full Pentium4 instruction set.
Index: config/tc-mips.c
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/config/tc-mips.c,v
retrieving revision 1.41
diff -u -p -r1.41 tc-mips.c
--- config/tc-mips.c 2001/06/10 17:31:48 1.41
+++ config/tc-mips.c 2001/06/11 17:59:41
@@ -9331,6 +9331,7 @@ MIPS options:\n\
fprintf (stream, _("\
-O0 remove unneeded NOPs, do not swap branches\n\
-O remove unneeded NOPs and swap branches\n\
+-n warn about NOPs generated from macros\n\
--[no-]construct-floats [dis]allow floating point values to be constructed\n\
--trap, --no-break trap exception on div by 0 and mult overflow\n\
--break, --no-trap break exception on div by 0 and mult overflow\n"));
Index: doc/as.1
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/doc/as.1,v
retrieving revision 1.1.1.8
diff -u -p -r1.1.1.8 as.1
--- doc/as.1 2001/04/24 16:13:08 1.1.1.8
+++ doc/as.1 2001/06/11 16:31:56
@@ -1,5 +1,5 @@
.\" Automatically generated by Pod::Man version 1.02
-.\" Fri Apr 13 11:27:39 2001
+.\" Mon Jun 11 09:28:09 2001
.\"
.\" Standard preamble:
.\" ======================================================================
@@ -137,7 +137,7 @@
.\" ======================================================================
.\"
.IX Title "AS 1"
-.TH AS 1 "binutils-2.11.90" "2001-04-13" "GNU"
+.TH AS 1 "binutils-2.11.90" "2001-06-11" "GNU"
.UC
.SH "NAME"
\&\s-1AS\s0 \- the portable \s-1GNU\s0 assembler.
@@ -192,7 +192,7 @@ as [ \-a[cdhlns][=file] ] [ \-D ] [ \-\
[ \-mips1 ] [ \-mips2 ] [ \-mips3 ] [ \-mips4 ] [ \-mips5 ]
[ \-mips32 ] [ \-mips64 ]
[ \-m4650 ] [ \-no-m4650 ]
- [ \-\-trap ] [ \-\-break ]
+ [ \-\-trap ] [ \-\-break ] [ \-n ]
[ \-\-emulation=\fIname\fR ]
[ \*(-- | \fIfiles\fR ... ]
.SH "DESCRIPTION"
@@ -677,6 +677,10 @@ Control how to deal with multiplication
(and only work for Instruction Set Architecture level 2 and higher);
\&\fB\*(--break\fR or \fB\*(--no-trap\fR (also synonyms, and the default) take a
break exception.
+.Ip "\f(CW\*(C`\-n\*(C'\fR" 4
+.IX Item "-n"
+When this option is used, \f(CW\*(C`as\*(C'\fR will issue a warning every
+time it generates a nop instruction from a macro.
.PP
The following options are available when as is configured for
an MCore processor.
Index: doc/as.texinfo
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/doc/as.texinfo,v
retrieving revision 1.24
diff -u -p -r1.24 as.texinfo
--- doc/as.texinfo 2001/03/27 16:55:14 1.24
+++ doc/as.texinfo 2001/06/11 16:31:56
@@ -332,7 +332,7 @@ gcc(1), ld(1), and the Info entries for
[ -mips1 ] [ -mips2 ] [ -mips3 ] [ -mips4 ] [ -mips5 ]
[ -mips32 ] [ -mips64 ]
[ -m4650 ] [ -no-m4650 ]
- [ --trap ] [ --break ]
+ [ --trap ] [ --break ] [ -n ]
[ --emulation=@var{name} ]
@end ifset
[ -- | @var{files} @dots{} ]
@@ -829,6 +829,10 @@ Control how to deal with multiplication
(and only work for Instruction Set Architecture level 2 and higher);
@samp{--break} or @samp{--no-trap} (also synonyms, and the default) take a
break exception.
+
+@item -n
+When this option is used, @code{@value{AS}} will issue a warning every
+time it generates a nop instruction from a macro.
@end table
@end ifset
Index: doc/c-mips.texi
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/doc/c-mips.texi,v
retrieving revision 1.1.1.9
diff -u -p -r1.1.1.9 c-mips.texi
--- doc/c-mips.texi 2001/03/09 19:17:15 1.1.1.9
+++ doc/c-mips.texi 2001/06/11 16:31:56
@@ -189,6 +189,10 @@ are only supported at Instruction Set Ar
@itemx --no-trap
Generate code to take a break exception rather than a trap exception when an
error is detected. This is the default.
+
+@item -n
+When this option is used, @code{@value{AS}} will issue a warning every
+time it generates a nop instruction from a macro.
@end table
@node MIPS Object
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: src/gas ChangeLog config/tc-mips.c
2001-06-11 9:37 ` H . J . Lu
2001-06-11 10:23 ` Philip Blundell
@ 2001-06-11 11:30 ` Ian Lance Taylor
2001-06-11 19:07 ` Is this correct ? Tat Kee Tan
2 siblings, 0 replies; 10+ messages in thread
From: Ian Lance Taylor @ 2001-06-11 11:30 UTC (permalink / raw)
To: H . J . Lu; +Cc: binutils
"H . J . Lu" <hjl@lucon.org> writes:
> BTW, does anyone know why we have to duplicate the machine specific
> usage in both doc/as.texinfo and gas/doc/c-arch.texi? Shouldn't the
> one in doc/as.texinfo be enough?
Personally, I don't think the recitation of options in as.texinfo
helps much. I tend to think the machine specific usage should be only
in c-ARCH.texi. But I also think any rearrangement should only be
done by somebody willing to improve the manual organization as a
whole.
Ian
^ permalink raw reply [flat|nested] 10+ messages in thread
* Is this correct ?
2001-06-11 9:37 ` H . J . Lu
2001-06-11 10:23 ` Philip Blundell
2001-06-11 11:30 ` Ian Lance Taylor
@ 2001-06-11 19:07 ` Tat Kee Tan
2001-06-12 3:50 ` Nick Clifton
2 siblings, 1 reply; 10+ messages in thread
From: Tat Kee Tan @ 2001-06-11 19:07 UTC (permalink / raw)
To: Tat Kee Tan; +Cc: binutils
Hi,
I have this C code which is compiled using arm-linux-gcc 2.95.3
Using one ldr instruction should get to the value of prev_limit,
why does it take a sequence of two ldr instructions ? See below
static long all_requests;
long get_request(int n)
{
static long prev_found = 0, prev_limit = 0;
long req, limit;
limit = all_requests + n;
if (limit != prev_limit) {
prev_limit = limit;
prev_found = all_requests;
}
req = prev_found;
return(req);
}
The compiled code is
.
.
long get_request(int n)
{
80bc: e50b0010 str r0, [fp, -#16]
static long prev_found = 0, prev_limit = 0;
long req, limit;
limit = all_requests + n;
80c0: e59f3054 ldr r3, [pc, #54] ; 811c
<get_request+0x70>
80c4: e5932000 ldr r2, [r3]
80c8: e51b3010 ldr r3, [fp, -#16]
80cc: e0822003 add r2, r2, r3
80d0: e50b2018 str r2, [fp, -#24]
if (limit != prev_limit) {
80d4: e59f3044 ldr r3, [pc, #44] ; 8120
<get_request+0x74>
80d8: e51b2018 ldr r2, [fp, -#24]
80dc: e5933000 ldr r3, [r3]
80e0: e1520003 cmp r2, r3
80e4: 0a000006 beq 8104 <get_request+0x58>
prev_limit = limit;
80e8: e59f3030 ldr r3, [pc, #30] ; 8120
<get_request+0x74>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Is this correct ?
2001-06-11 19:07 ` Is this correct ? Tat Kee Tan
@ 2001-06-12 3:50 ` Nick Clifton
2001-06-12 5:05 ` Richard Earnshaw
0 siblings, 1 reply; 10+ messages in thread
From: Nick Clifton @ 2001-06-12 3:50 UTC (permalink / raw)
To: Tat Kee Tan; +Cc: binutils
Hi Tat Kee Tan,
> I have this C code which is compiled using arm-linux-gcc 2.95.3
First of all, this question should have been posted to the gcc-help
mailing list (gcc-help@gcc.gnu.org), not the binutils list, since it
is about code geenration by the compiler.
> Using one ldr instruction should get to the value of prev_limit,
> why does it take a sequence of two ldr instructions ? See below
> 80d4: e59f3044 ldr r3, [pc, #44] ; 8120
> 80dc: e5933000 ldr r3, [r3]
The reason is that 'prev_limit' is a static variable, not a local
variable. Therefore it will be stored in the .data section and not on
the stack. Since the compiler does not know where the .data section
will be located in memory it cannot just use a pc-relative load to get
the value. Instead the address of 'prev_limit' has to be stored in a
word at the end of the get_request() function, and then two LDRs are
used to load the value. The first LDR loads the address of
'prev_limit' from the word at the end of the function. The second LDR
loads the contents of this address into R3.
Cheers
Nick
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Is this correct ?
2001-06-12 3:50 ` Nick Clifton
@ 2001-06-12 5:05 ` Richard Earnshaw
0 siblings, 0 replies; 10+ messages in thread
From: Richard Earnshaw @ 2001-06-12 5:05 UTC (permalink / raw)
To: Nick Clifton; +Cc: Tat Kee Tan, binutils, Richard.Earnshaw
> > Using one ldr instruction should get to the value of prev_limit,
> > why does it take a sequence of two ldr instructions ? See below
>
> > 80d4: e59f3044 ldr r3, [pc, #44] ; 8120
> > 80dc: e5933000 ldr r3, [r3]
>
> The reason is that 'prev_limit' is a static variable, not a local
> variable. Therefore it will be stored in the .data section and not on
> the stack. Since the compiler does not know where the .data section
> will be located in memory it cannot just use a pc-relative load to get
> the value.
Nearly, but not quite.
On the ARM, the pc-relative load is limited to a range of +/- 4Kbytes from
the current address. Since we cannot guarantee that the local variable
will be in that range (in fact we can virtually guarantee that it won't --
most of that range will be code not data) we must use a pc-relative load
to get the address of the variable and then load its value using that.
> Instead the address of 'prev_limit' has to be stored in a
> word at the end of the get_request() function, and then two LDRs are
> used to load the value. The first LDR loads the address of
> 'prev_limit' from the word at the end of the function. The second LDR
> loads the contents of this address into R3.
R.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2001-06-12 5:05 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20010609052440.25257.qmail@sourceware.cygnus.com>
2001-06-11 8:29 ` src/gas ChangeLog config/tc-mips.c Ian Lance Taylor
2001-06-11 9:37 ` H . J . Lu
2001-06-11 10:23 ` Philip Blundell
2001-06-11 10:40 ` H . J . Lu
2001-06-11 10:57 ` Philip Blundell
2001-06-11 11:03 ` H . J . Lu
2001-06-11 11:30 ` Ian Lance Taylor
2001-06-11 19:07 ` Is this correct ? Tat Kee Tan
2001-06-12 3:50 ` Nick Clifton
2001-06-12 5:05 ` Richard Earnshaw
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).