-msep-data without -fPIC ?

Gunther Nikl gni@gecko.de
Tue Jan 17 11:11:00 GMT 2006


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



More information about the Gcc mailing list