|ELF to COFF Convertor firstname.lastname@example.org (1997-02-16)|
|Re: ELF to COFF Convertor email@example.com (1997-02-27)|
|Re: ELF to COFF Convertor firstname.lastname@example.org (1997-02-27)|
|Re: ELF to COFF Convertor email@example.com (1997-03-01)|
|Re: ELF to COFF Convertor firstname.lastname@example.org (Michael Meissner) (1997-03-01)|
|Re: ELF to COFF Convertor email@example.com (1997-03-05)|
|Re: ELF to COFF Convertor firstname.lastname@example.org (Michael Meissner) (1997-03-14)|
|Re: ELF to COFF Convertor email@example.com (1997-03-18)|
|From:||Michael Meissner <firstname.lastname@example.org>|
|Date:||14 Mar 1997 00:20:22 -0500|
|References:||97-02-100 97-02-158 97-03-018 97-03-033|
email@example.com (Jeff Jackson) writes:
> > 5) V.4 uses r13 to point to the small data area, while PowerOpen uses it
> > as a normal caller save register, and NT reserves it for use by the
> > operating system. PowerOpen
> I'm not sure what the "small data area" is. If you mean aggregate
> return values, these are passed as a hidden first argument in
> Concurrent's implementation.
(Note, I'm using the gas syntax, since that's what I use and wrote).
A small data area points to a location in memory (+32768 from the
beginning of the .sdata sectionin the case of the Solaris/Linux
powerpc V.4/eabi). Small variables can be referenced in one
and the linker will automatically put the address of foo - the address
of _SDA_BASE_ into the address field. This is similar to the GP
register used in SGI/MIPS systems.
In eabi, there are two small data pointers, plus memory around
location 0 can used, and the asm looks like:
The linker then puts the appropriate register (0, 2, or 13) into the
index register field and the lower 16 bits.
Michael Meissner, Cygnus Solutions (East Coast)
4th floor, 955 Massachusetts Avenue, Cambridge, MA 02139, USA
firstname.lastname@example.org, 617-354-5416 (office), 617-354-7161 (fax)
Return to the
Search the comp.compilers archives again.