Deleted Added
full compact
portability.texi (90075) portability.texi (119256)
1@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
1@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
2@c 1999, 2000, 2001 Free Software Foundation, Inc.
2@c 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
3@c This is part of the GCC manual.
4@c For copying conditions, see the file gcc.texi.
5
6@node Portability
7@chapter GCC and Portability
8@cindex portability
9@cindex GCC and portability
10
3@c This is part of the GCC manual.
4@c For copying conditions, see the file gcc.texi.
5
6@node Portability
7@chapter GCC and Portability
8@cindex portability
9@cindex GCC and portability
10
11The main goal of GCC was to make a good, fast compiler for machines in
12the class that the GNU system aims to run on: 32-bit machines that address
138-bit bytes and have several general registers. Elegance, theoretical
14power and simplicity are only secondary.
11GCC itself aims to be portable to any machine where @code{int} is at least
12a 32-bit type. It aims to target machines with a flat (non-segmented) byte
13addressed data address space (the code address space can be separate).
14Target ABIs may have 8, 16, 32 or 64-bit @code{int} type. @code{char}
15can be wider than 8 bits.
15
16GCC gets most of the information about the target machine from a machine
17description which gives an algebraic formula for each of the machine's
18instructions. This is a very clean way to describe the target. But when
19the compiler needs information that is difficult to express in this
20fashion, I have not hesitated to define an ad-hoc parameter to the machine
21description. The purpose of portability is to reduce the total work needed
22on the compiler; it was not of interest for its own sake.

--- 16 unchanged lines hidden ---
16
17GCC gets most of the information about the target machine from a machine
18description which gives an algebraic formula for each of the machine's
19instructions. This is a very clean way to describe the target. But when
20the compiler needs information that is difficult to express in this
21fashion, I have not hesitated to define an ad-hoc parameter to the machine
22description. The purpose of portability is to reduce the total work needed
23on the compiler; it was not of interest for its own sake.

--- 16 unchanged lines hidden ---