* mips-tdep.c: Sign-extend pointers for n32
@ 2007-10-25 14:43 Maciej W. Rozycki
2007-12-16 18:49 ` Daniel Jacobowitz
0 siblings, 1 reply; 15+ messages in thread
From: Maciej W. Rozycki @ 2007-10-25 14:43 UTC (permalink / raw)
To: gdb-patches; +Cc: David Ung, Maciej W. Rozycki
Hello,
The change below fixes a few regressions in the GDB test suite for
MIPS/n32 like the one below:
print (diamond.*left_base_vpmf) ()
UNPREDICTABLE: PC = 0x80020580
Quit
(gdb) FAIL: gdb.cp/member-ptr.exp: print (diamond.*left_base_vpmf) ()
Tested for n32 using the mipsisa32-sde-elf target, with the
mips-sim-sde64/-mips64/-EB and mips-sim-sde64/-mips64/-EL boards, fixing 6
regressions (of 78) for the former and 3 regressions (of 74) for the
latter.
2007-10-25 David Ung <davidu@mips.com>
* mips-tdep.c (mips_n32n64_push_dummy_call): Sign-extend the
pointer value if the length of the variable is less than the
width of the register size of the ABI.
OK to apply?
Maciej
12741-0.diff
Index: binutils-quilt/src/gdb/mips-tdep.c
===================================================================
--- binutils-quilt.orig/src/gdb/mips-tdep.c 2007-09-21 17:19:38.000000000 +0100
+++ binutils-quilt/src/gdb/mips-tdep.c 2007-09-21 17:19:38.000000000 +0100
@@ -3032,6 +3032,10 @@
|| typecode == TYPE_CODE_UNION))
regval <<= ((MIPS64_REGSIZE - partial_len)
* TARGET_CHAR_BIT);
+ /* Sign extend the value if it is an address. */
+ else if (partial_len < MIPS64_REGSIZE
+ && typecode == TYPE_CODE_PTR)
+ regval = extract_signed_integer (val, partial_len);
if (mips_debug)
fprintf_filtered (gdb_stdlog, " - reg=%d val=%s",
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-10-25 14:43 mips-tdep.c: Sign-extend pointers for n32 Maciej W. Rozycki
@ 2007-12-16 18:49 ` Daniel Jacobowitz
2007-12-19 15:27 ` Maciej W. Rozycki
0 siblings, 1 reply; 15+ messages in thread
From: Daniel Jacobowitz @ 2007-12-16 18:49 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Thu, Oct 25, 2007 at 03:10:20PM +0100, Maciej W. Rozycki wrote:
> 2007-10-25 David Ung <davidu@mips.com>
>
> * mips-tdep.c (mips_n32n64_push_dummy_call): Sign-extend the
> pointer value if the length of the variable is less than the
> width of the register size of the ABI.
>
> OK to apply?
Why just pointers? I'm not entirely sure what's going on above in the
float case, but in the integer case this seems clearly wrong. Zero
extension is probably "right" for trailing bits of structures but what
about negative integers?
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-16 18:49 ` Daniel Jacobowitz
@ 2007-12-19 15:27 ` Maciej W. Rozycki
2007-12-19 15:28 ` Daniel Jacobowitz
0 siblings, 1 reply; 15+ messages in thread
From: Maciej W. Rozycki @ 2007-12-19 15:27 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Sun, 16 Dec 2007, Daniel Jacobowitz wrote:
> Why just pointers? I'm not entirely sure what's going on above in the
> float case, but in the integer case this seems clearly wrong. Zero
> extension is probably "right" for trailing bits of structures but what
> about negative integers?
You are quite right here -- I have checked the N32 ABI document and it
says:
"32-bit integer (int) parameters are always sign-extended when passed in
registers, whether of signed or unsigned type. [This issue does not arise
in the o32-bit ABI.]"
It does not actually say anything about pointers beyond:
"All pointers and addresses are 32-bit objects. [Under 64, pointers and
addresses are 64bits.]"
but I gather this is because the document was meant to specify a user mode
ABI for programs run under IRIX only, so addresses with the bit #31 set
were not expected to be relevant.
I have regression-tested the following rewrite of the original patch
using the mipsisa32-sde-elf target, with the mips-sim-sde64/-mips64/-EB
and mips-sim-sde64/-mips64/-EL boards, with the results the same as the
original.
2007-12-19 David Ung <davidu@mips.com>
Maciej W. Rozycki <macro@mips.com>
* mips-tdep.c (mips_n32n64_push_dummy_call): Sign-extend 32-bit
pointers and integers as required by the ABI.
OK to apply?
Maciej
12741-0.diff
Index: binutils-quilt/src/gdb/mips-tdep.c
===================================================================
--- binutils-quilt.orig/src/gdb/mips-tdep.c 2007-12-19 15:09:31.000000000 +0000
+++ binutils-quilt/src/gdb/mips-tdep.c 2007-12-19 15:10:13.000000000 +0000
@@ -3184,8 +3184,17 @@
purpose register. */
if (argreg <= MIPS_LAST_ARG_REGNUM)
{
- LONGEST regval =
- extract_unsigned_integer (val, partial_len);
+ LONGEST regval;
+
+ /* Sign extend pointers and 32-bit integers;
+ everything else is taken as is. */
+
+ if (partial_len == 4 &&
+ (typecode == TYPE_CODE_PTR
+ || typecode == TYPE_CODE_INT))
+ regval = extract_signed_integer (val, partial_len);
+ else
+ regval = extract_unsigned_integer (val, partial_len);
/* A non-floating-point argument being passed in a
general register. If a struct or union, and if
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-19 15:27 ` Maciej W. Rozycki
@ 2007-12-19 15:28 ` Daniel Jacobowitz
2007-12-19 16:16 ` Maciej W. Rozycki
0 siblings, 1 reply; 15+ messages in thread
From: Daniel Jacobowitz @ 2007-12-19 15:28 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Wed, Dec 19, 2007 at 03:20:20PM +0000, Maciej W. Rozycki wrote:
> You are quite right here -- I have checked the N32 ABI document and it
> says:
>
> "32-bit integer (int) parameters are always sign-extended when passed in
> registers, whether of signed or unsigned type. [This issue does not arise
> in the o32-bit ABI.]"
What happens to an 8-bit unsigned char? How about an 8-bit signed
char?
> I have regression-tested the following rewrite of the original patch
> using the mipsisa32-sde-elf target, with the mips-sim-sde64/-mips64/-EB
> and mips-sim-sde64/-mips64/-EL boards, with the results the same as the
> original.
What ABI is that? I thought none of the ELF targets used n32 or n64,
but maybe SDE is an exception.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-19 15:28 ` Daniel Jacobowitz
@ 2007-12-19 16:16 ` Maciej W. Rozycki
2007-12-19 17:08 ` Daniel Jacobowitz
0 siblings, 1 reply; 15+ messages in thread
From: Maciej W. Rozycki @ 2007-12-19 16:16 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Wed, 19 Dec 2007, Daniel Jacobowitz wrote:
> What happens to an 8-bit unsigned char? How about an 8-bit signed
> char?
Hmm, you have made me wonder... Obviously 32-bit integer quantities are
special -- they are always sign-extended so that 32-bit ALU operations may
be used on them. There is this statement in the ABI document:
"All integer parameters are promoted (that is, sign- or zero-extended to
64-bit integers and passed in a single register). Typically, no code is
required for the promotion."
This note about no code requirement may be misleading -- this may be true
for the run time, because the use of "lb/lbu/lh/lhu" as appropriate would
have had the effect of doing the correct extension when the value was
fetched into a register originally, but here we are in a different
position as it is GDB that is the caller. Let me dig through the
document... Nothing relevant apparently found.
But in practice it should not matter -- however you represent 8-bit and
16-bit quantities you cannot overflow into the 64-bit data space as with a
flip of the bit #31 the upper 32 bits follow and when a result is written
back to memory or is otherwise finally processed (like output in a textual
form) it has to be masked to its data width again (obviously "sb/sh" do
this implicitly). So I believe the change is correct as it is and the
question is academic. Let me know if you think otherwise.
> What ABI is that? I thought none of the ELF targets used n32 or n64,
> but maybe SDE is an exception.
N32, as documented in "MIPSpro N32 ABI Handbook" from SGI. I can chase a
link if you cannot locate the PDF. The SDE target uses it as the default
64-bit ABI implied by the "-mips64" switch.
Maciej
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-19 16:16 ` Maciej W. Rozycki
@ 2007-12-19 17:08 ` Daniel Jacobowitz
2007-12-20 16:41 ` Maciej W. Rozycki
0 siblings, 1 reply; 15+ messages in thread
From: Daniel Jacobowitz @ 2007-12-19 17:08 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Wed, Dec 19, 2007 at 04:07:13PM +0000, Maciej W. Rozycki wrote:
> But in practice it should not matter -- however you represent 8-bit and
> 16-bit quantities you cannot overflow into the 64-bit data space as with a
> flip of the bit #31 the upper 32 bits follow and when a result is written
> back to memory or is otherwise finally processed (like output in a textual
> form) it has to be masked to its data width again (obviously "sb/sh" do
> this implicitly). So I believe the change is correct as it is and the
> question is academic. Let me know if you think otherwise.
I happen to know otherwise. I once wasted several days tracking down
a bug in the Linux kernel's IP checksumming implementation which
resulted in incorrectly extended values in registers; there are MIPS
parts which really do behave unpredictably when you use 32-bit
arithmetic operations on them (specifically the Broadcom SB1).
And I believe a compiler would be justified in using such instructions
on a signed char argument.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-19 17:08 ` Daniel Jacobowitz
@ 2007-12-20 16:41 ` Maciej W. Rozycki
2007-12-20 17:07 ` Daniel Jacobowitz
0 siblings, 1 reply; 15+ messages in thread
From: Maciej W. Rozycki @ 2007-12-20 16:41 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Wed, 19 Dec 2007, Daniel Jacobowitz wrote:
> I happen to know otherwise. I once wasted several days tracking down
> a bug in the Linux kernel's IP checksumming implementation which
> resulted in incorrectly extended values in registers; there are MIPS
> parts which really do behave unpredictably when you use 32-bit
> arithmetic operations on them (specifically the Broadcom SB1).
I recall the issue and the problem was broken inline assembly, which used
64-bit operations to produce results associated with 32-bit integer types
and register constraints. This is a different issue and is doomed to fail
indeed.
> And I believe a compiler would be justified in using such instructions
> on a signed char argument.
Yes, of course -- it is actually meant to and thus will never produce
results outside the sign-extended 32-bit range (remember that before
extending, bits 31:16 or 31:8 as appropriate are zeroes, so after a
zero-extension the values still fall within the signed 32-bit range).
And most ALU operations do not care about the signedness, but there are
two exceptions that came to my mind after I sent you the previous letter,
specifically signed "div/mult", and GCC indeed uses signed/unsigned load
operations for 16/8-bit types as appropriate, so even though chasing the
relevant document that would state it explicitly seems a non-trivial task,
I think sign-extension of such small signed integers is implied.
Also n32 builds on compatibility with o32 and the most definite o32
document which is: "SYSTEM V APPLICATION BINARY INTERFACE, MIPS RISC
Processor Supplement, 3rd Edition" says:
"All integer-valued arguments are passed as 32-bit words, with signed or
unsigned bytes and halfwords expanded (promoted) as necessary."
Thus I have taken your suggestion into account and modified the change
further as follows and regression tested it as previously, successfully.
Well, I guess it actually means we do not really have a terribly good
coverage here -- I suppose a set of test cases that would check that
promotion is performed correctly with manual calls would be useful.
2007-12-19 David Ung <davidu@mips.com>
Maciej W. Rozycki <macro@mips.com>
* mips-tdep.c (mips_n32n64_push_dummy_call): Sign-extend
integers and 32-bit pointers as required by the ABI.
OK to apply?
Maciej
12741-0.diff
Index: binutils-quilt/src/gdb/mips-tdep.c
===================================================================
--- binutils-quilt.orig/src/gdb/mips-tdep.c 2007-12-19 15:15:45.000000000 +0000
+++ binutils-quilt/src/gdb/mips-tdep.c 2007-12-20 16:13:31.000000000 +0000
@@ -3184,8 +3184,21 @@
purpose register. */
if (argreg <= MIPS_LAST_ARG_REGNUM)
{
- LONGEST regval =
- extract_unsigned_integer (val, partial_len);
+ LONGEST regval;
+
+ /* Sign extend pointers, 32-bit integers and signed
+ 16-bit and 8-bit integers; everything else is taken
+ as is. */
+
+ if ((partial_len == 4
+ && (typecode == TYPE_CODE_PTR
+ || typecode == TYPE_CODE_INT))
+ || (partial_len < 4
+ && typecode == TYPE_CODE_INT
+ && !TYPE_UNSIGNED (arg_type)))
+ regval = extract_signed_integer (val, partial_len);
+ else
+ regval = extract_unsigned_integer (val, partial_len);
/* A non-floating-point argument being passed in a
general register. If a struct or union, and if
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-20 16:41 ` Maciej W. Rozycki
@ 2007-12-20 17:07 ` Daniel Jacobowitz
2007-12-20 17:18 ` Maciej W. Rozycki
0 siblings, 1 reply; 15+ messages in thread
From: Daniel Jacobowitz @ 2007-12-20 17:07 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Thu, Dec 20, 2007 at 04:37:31PM +0000, Maciej W. Rozycki wrote:
> Thus I have taken your suggestion into account and modified the change
> further as follows and regression tested it as previously, successfully.
> Well, I guess it actually means we do not really have a terribly good
> coverage here -- I suppose a set of test cases that would check that
> promotion is performed correctly with manual calls would be useful.
>
> 2007-12-19 David Ung <davidu@mips.com>
> Maciej W. Rozycki <macro@mips.com>
>
> * mips-tdep.c (mips_n32n64_push_dummy_call): Sign-extend
> integers and 32-bit pointers as required by the ABI.
>
> OK to apply?
OK.
I think there's still a problem here, though it is somewhat endemic to
the argument passing routines:
TYPE_CODE_ENUM, /* Enumeration type */
TYPE_CODE_REF, /* C++ Reference types */
TYPE_CODE_CHAR, /* *real* character type */
TYPE_CODE_BOOL,
And possibly TYPE_CODE_MEMBERPTR too... that's a signed offset,
probably 32-bit in the n32 case. Getting this right is a real
pain.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-20 17:07 ` Daniel Jacobowitz
@ 2007-12-20 17:18 ` Maciej W. Rozycki
2007-12-20 19:37 ` Daniel Jacobowitz
2007-12-21 4:36 ` Joel Brobecker
0 siblings, 2 replies; 15+ messages in thread
From: Maciej W. Rozycki @ 2007-12-20 17:18 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Thu, 20 Dec 2007, Daniel Jacobowitz wrote:
> I think there's still a problem here, though it is somewhat endemic to
> the argument passing routines:
>
> TYPE_CODE_ENUM, /* Enumeration type */
> TYPE_CODE_REF, /* C++ Reference types */
> TYPE_CODE_CHAR, /* *real* character type */
> TYPE_CODE_BOOL,
>
> And possibly TYPE_CODE_MEMBERPTR too... that's a signed offset,
> probably 32-bit in the n32 case. Getting this right is a real
> pain.
Hmm, these are obviously C-style types and I would expect other languages
to have their own specific ones (Ada, anyone?). As they map somehow to
the integer types provided by the underlying architecture, wouldn't it be
a good idea to actually record which of the plain CPU-specific types each
of the language types corresponds to?
This way the mapping would only be provided in a single place -- the
language ABI for a given architecture -- and all the generic
target-dependent and possibly target-independent code would not have to
iterate over all the language types, which is obviously prone to errors
and hard to fully cover in the test suite.
Maciej
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-20 17:18 ` Maciej W. Rozycki
@ 2007-12-20 19:37 ` Daniel Jacobowitz
2007-12-21 4:36 ` Joel Brobecker
1 sibling, 0 replies; 15+ messages in thread
From: Daniel Jacobowitz @ 2007-12-20 19:37 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: gdb-patches, David Ung, Maciej W. Rozycki
On Thu, Dec 20, 2007 at 05:07:42PM +0000, Maciej W. Rozycki wrote:
> Hmm, these are obviously C-style types and I would expect other languages
> to have their own specific ones (Ada, anyone?). As they map somehow to
> the integer types provided by the underlying architecture, wouldn't it be
> a good idea to actually record which of the plain CPU-specific types each
> of the language types corresponds to?
Yes, that sounds like a good solution. I don't think we need to fix
it today, though :-)
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-20 17:18 ` Maciej W. Rozycki
2007-12-20 19:37 ` Daniel Jacobowitz
@ 2007-12-21 4:36 ` Joel Brobecker
2007-12-21 11:34 ` Maciej W. Rozycki
1 sibling, 1 reply; 15+ messages in thread
From: Joel Brobecker @ 2007-12-21 4:36 UTC (permalink / raw)
To: Maciej W. Rozycki
Cc: Daniel Jacobowitz, gdb-patches, David Ung, Maciej W. Rozycki
> > I think there's still a problem here, though it is somewhat endemic to
> > the argument passing routines:
> >
> > TYPE_CODE_ENUM, /* Enumeration type */
> > TYPE_CODE_REF, /* C++ Reference types */
> > TYPE_CODE_CHAR, /* *real* character type */
> > TYPE_CODE_BOOL,
> >
> > And possibly TYPE_CODE_MEMBERPTR too... that's a signed offset,
> > probably 32-bit in the n32 case. Getting this right is a real
> > pain.
>
> Hmm, these are obviously C-style types and I would expect other languages
> to have their own specific ones (Ada, anyone?).
Are you asking which TYPE_CODE enumerates are specific to Ada?
I don't think there are any. I had a quick look at the current list,
and nothing stood out.
--
Joel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-21 4:36 ` Joel Brobecker
@ 2007-12-21 11:34 ` Maciej W. Rozycki
2007-12-21 11:51 ` Joel Brobecker
0 siblings, 1 reply; 15+ messages in thread
From: Maciej W. Rozycki @ 2007-12-21 11:34 UTC (permalink / raw)
To: Joel Brobecker
Cc: Daniel Jacobowitz, gdb-patches, David Ung, Maciej W. Rozycki
On Fri, 21 Dec 2007, Joel Brobecker wrote:
> Are you asking which TYPE_CODE enumerates are specific to Ada?
Nope, not specifically -- just an example of a language that we support
and which is considerably different from C (Java does not count -- it is
close enough ;-) ).
Maciej
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-21 11:34 ` Maciej W. Rozycki
@ 2007-12-21 11:51 ` Joel Brobecker
2007-12-21 12:02 ` Maciej W. Rozycki
0 siblings, 1 reply; 15+ messages in thread
From: Joel Brobecker @ 2007-12-21 11:51 UTC (permalink / raw)
To: Maciej W. Rozycki
Cc: Daniel Jacobowitz, gdb-patches, David Ung, Maciej W. Rozycki
> Nope, not specifically -- just an example of a language that we support
> and which is considerably different from C (Java does not count -- it is
> close enough ;-) ).
Ada is in many ways to Pascal, and I consider them to be close to C.
My first time in Ada, I wrote a simple C program and then ran the GNAT
compiler and followed its instructions until I got a valid Ada program
;-).
For a language that's really different to C, how about Fortran?
There's scheme as well, but I don't know how well we support it.
--
Joel
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-21 11:51 ` Joel Brobecker
@ 2007-12-21 12:02 ` Maciej W. Rozycki
2007-12-22 5:30 ` Joel Brobecker
0 siblings, 1 reply; 15+ messages in thread
From: Maciej W. Rozycki @ 2007-12-21 12:02 UTC (permalink / raw)
To: Joel Brobecker
Cc: Daniel Jacobowitz, gdb-patches, David Ung, Maciej W. Rozycki
On Fri, 21 Dec 2007, Joel Brobecker wrote:
> Ada is in many ways to Pascal, and I consider them to be close to C.
Well, certainly both are procedural and thus closer to C than e.g. M4. ;)
> My first time in Ada, I wrote a simple C program and then ran the GNAT
> compiler and followed its instructions until I got a valid Ada program
> ;-).
Good hint ;) -- I did some Ada hackery when trying to make the compiler
work better for MIPS/Linux (any interest in that, BTW?) and it was
somewhat tricky.
> For a language that's really different to C, how about Fortran?
> There's scheme as well, but I don't know how well we support it.
I know neither of them well enough to make any comments. Unfortunately I
do not seem to see any interest in supporting languages like Lisp or
Prolog with GCC yet. ;)
Maciej
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: mips-tdep.c: Sign-extend pointers for n32
2007-12-21 12:02 ` Maciej W. Rozycki
@ 2007-12-22 5:30 ` Joel Brobecker
0 siblings, 0 replies; 15+ messages in thread
From: Joel Brobecker @ 2007-12-22 5:30 UTC (permalink / raw)
To: Maciej W. Rozycki
Cc: Daniel Jacobowitz, gdb-patches, David Ung, Maciej W. Rozycki
> > My first time in Ada, I wrote a simple C program and then ran the GNAT
> > compiler and followed its instructions until I got a valid Ada program
> > ;-).
>
> Good hint ;) -- I did some Ada hackery when trying to make the compiler
> work better for MIPS/Linux (any interest in that, BTW?) and it was
> somewhat tricky.
I'm already having enough trouble trying to keep up on mips-irix,
but thank you :). If it's Ada-specific questions that you have,
don't hesitate to ask me, though.
> > For a language that's really different to C, how about Fortran?
> > There's scheme as well, but I don't know how well we support it.
>
> I know neither of them well enough to make any comments. Unfortunately I
> do not seem to see any interest in supporting languages like Lisp or
> Prolog with GCC yet. ;)
:-). I just had a look at Fortran, and although it's harder to read
when you're not used to their style, it looks pretty close to C or
Ada as well.
--
Joel
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2007-12-22 5:22 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-25 14:43 mips-tdep.c: Sign-extend pointers for n32 Maciej W. Rozycki
2007-12-16 18:49 ` Daniel Jacobowitz
2007-12-19 15:27 ` Maciej W. Rozycki
2007-12-19 15:28 ` Daniel Jacobowitz
2007-12-19 16:16 ` Maciej W. Rozycki
2007-12-19 17:08 ` Daniel Jacobowitz
2007-12-20 16:41 ` Maciej W. Rozycki
2007-12-20 17:07 ` Daniel Jacobowitz
2007-12-20 17:18 ` Maciej W. Rozycki
2007-12-20 19:37 ` Daniel Jacobowitz
2007-12-21 4:36 ` Joel Brobecker
2007-12-21 11:34 ` Maciej W. Rozycki
2007-12-21 11:51 ` Joel Brobecker
2007-12-21 12:02 ` Maciej W. Rozycki
2007-12-22 5:30 ` Joel Brobecker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox