about named address space

Ian Lance Taylor iant@google.com
Wed May 4 17:35:00 GMT 2011


Rony Paul <ronypaul77@gmail.com> writes:

> On Wed, May 4, 2011 at 4:35 PM, Ian Lance Taylor <iant@google.com> wrote:
>> Rony Paul <ronypaul77@gmail.com> writes:
>>
>>> Thank you for your reply. I am new in this development. so I am askig
>>> you  very basic question. I dont have enough knowledge on "backend",
>>> what did you man with this term?
>>>
>>> my task is to use one memory space as big endian, other as little
>>> endian, and to use  copying of pointer from 1 memory space to another.
>>> Just tell me what should be my beggining step? which files I should modify?
>>
>> Please reply to the mailing list, not just to me.  Also, please don't
>> top-post.  Thanks.
>>
>> Re: backend: See http://en.wikipedia.org/wiki/Compilers .  In gcc the
>> backend is the CPU-specific code in config/CPU.
>>
>> You haven't said anything about your target.  Is your memory different
>> at the hardware level?  If not, named address spaces are probably not
>> the right approach.
>>
>> Ian
>>
>>
>>> Rony Paul <ronypaul77@gmail.com> writes:
>>>
>>>> I want to use named address space support to allow mixed endian
>>>> applications. Specifying the endianness of address spaces.
>>>> Can you suggest me what should I do in this purpose? and which files I
>>>> need to modify ?
>>>
>>> In general named address space is described here:
>>>
>>> http://gcc.gnu.org/onlinedocs/gccint/Named-Address-Spaces.html
>>>
>>> You didn't mention which backend you are using and you didn't mention
>>> how you mean to handle pointers to an address space of different
>>> endianness.  Named address spaces seem appropriate if some of your
>>> memory is big-endian and some is little-endian.  I don't know whether
>>> they are appropriate if you want to have both big-endian and
>>> little-endian pointers to the same area of memory.
>>>
>>> Ian
>>
> Thank you for the reply.
>
> Yes I have separate memory at the hardware level. And as far I learnt
> that named address space is already implemented for SPU processor. SPU
> port uses the __ea address space to refer to memory in the host
> processor, rather than memory local to the SPU processor.
> I am now just in the learning phase. SO , if I want to modify that
> code (just to learn) and want to add one more address space keyword
> like "__ea"............what should I do?

Start by reading the link I mentioned above:

http://gcc.gnu.org/onlinedocs/gccint/Named-Address-Spaces.html

That explains what you do to add more address spaces.  It requires
modifying the gcc source code and rebuilding gcc.

Ian



More information about the Gcc-help mailing list