This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

position independent code


Hi,

is it possible to generate position independent code
and data references with the gnu gcc for m68k/coldfire ?

eg: 
    bsr function    instead of    jsr function
and
    mov.l var(%a5),%d0  instead of    move.l var,%d0

at the moment we use the sds crosscode c compiler
which has this option (register relative data and bss),
but can't generate code for the coldfire cpu.

I tried the -fpic and -fPIC options and got the following
assembler output

	move.l %a5,-(%sp)
	lea (%pc, _GLOBAL_OFFSET_TABLE_@GOTPC), %a5
	bsr __main@PLTPC
	"
	"
	move.l var@GOT.w(%a5),%d1
	"
	etc...

and following assembler errors
temp.s: Assembler messages:
temp.s:55: Error: parse error -- statement `lea
(%pc,_GLOBAL_OFFSET_TABLE_@GOTPC),%a5' ignored
temp.s:56: Error: parse error -- statement `bsr __main@PLTPC' ignored

seems the assembler does'nt understand the generated code ?

any ideas ?



Leopold Faschalek                     mailto:fale@skidata.com
Research and Development
SkiData AG                                 http://www.skidata.com
Untersbergstrasse 40
A-5083 Gartenau                         voice:+43-6246-888



_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.