This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Looks like this might do. Where can I get more info on this new option ?Hello Andy.
Thx
Andy
24 bits are very large for embedded applications (16 Mbytes) but certain
calls (from ROM to RAM) need
a 32 bits address capability.
As all ARM instructions (but not Thumb) are coded into 32-bits words,
any of them is capable to address a 4 Gbytes space. But a combination
of instruction does.
I don't know how to tell gcc to generate long branch but in assembler,
its look like:
...
mov lr, pc
-> to save the return address into the lr
ldr pc, myLongBranch -> long branch call
...
myLongbranch:
.word longBranchFunc -> function to call that needs
a long branch
You probably need to push the old lr to the stack before saving the return address and restore this lr after the long branch call.
Regards.
Pierre.
>>Gcc for arm generates 24 bit branch instructions I wonder if there's a
>>flag ( or maybe a patch exists) that would allow me to tell it to generate
>>32 bit relative branch instructions.
>
>Eh? The ARM doesn't have a 32-bit branch instruction.
>The "-mlong-calls" option in the GCC trunk and 3.0 branch (though not 2.95.x)
>might do what you want, though.
>
>p.------
Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |