On Sat, Jan 14, 2006 at 02:21:20AM +0100, Philippe De Muyter wrote:
> For an embedded mmu-less m68k target, I would like to generate code
> that will always run at a fixed place in memory, thus not needing to be PIC,
> but that would access a data+bss segment that could be anywhere in memory,
> thus needing accesses to the data segment via %a5 and an offset table.
> 
> 1.  Does that possibility already exist in gcc (I did not find it) ?
>       -msep-data currently does PI-text + PI-data.

AFAICT, this doesn't exist within mainline GCC. The AmigaOS port (which
isn't part of the official sources) implements this scheme, either with
16bit or 32bit displacements. The latter requires a 68020 or better.
Note, you need binutils support as well.

> 2.  If it does not exist, I plan to integrate it.
>       - From which release or branch should I start ?
>         I'd like to work on something that is stable except for my changes.

You have to use current mainlines sources.

>       - How is it currently possible in the gcc internals to know if a
>         SYMBOL_REF points to the .text or .rodata segments ?

The AmigaOS port uses SYMBOL_REF_FLAG to record this information. I believe
SYMBOL_REF_FLAG is deprecated and there is a newer functionality to achieve
the same.

Gunther

Reply via email to