RE: Tiny GCC: Pure, Unadulterated, Object Code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> You can't divorce a compiler from the target.  The target's ABI specifies a great number of details that are
> very >much relevant to the compiler, such as:

> ...

> So you can't just make some kind of generic "386" gcc and expect it to have any kind of useful ability, unless
> you are only ever doing to compile 100% freestanding code like a kernel or a OS-less bare metal system.
> Otherwise it must be targeted to a specific platform, i.e.
> i386-pc-linux or i386-pc-mingw.

> Brian

Just a nit, this is true of GCC certainly, but not compilers in general. It is in fact quite
possible and compilers exist that target x386 in general. In fact, I don't think it makes a
lot of sense in many cases to build the calling convention of the operating system into the
compiler. For example, the Windows calling convention for system calls is a very inefficient
calling convention for general use, because it comes from the days that Microsoft C didn't
perform register passed parameters. Microsoft themselves don't use the convention for
calls between routines, the system calls must be marked and coded separately. Both GCC and
Microsoft C build both passing conventions into the compiler, but there is no particular
reason the system calls cannot be done by a thunk layer, and in fact there are x386 compilers
that work that way.

Scott Moore

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.762 / Virus Database: 510 - Release Date: 9/13/2004
 


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux