Thanks. I think if the rap file is compiled in thumb, this size of the rap file will be reduced. So i want to introduce it. If this is not needed, it would be easy to just handle arm to arm and thumb to thumb call.
2013/5/10 Chris Johns <[email protected]> > Peng Fan wrote: > >> >> I am trying to make the mode switch work on rtl for arm. >> >> > What does "mode switch" mean ? > > The following code is disassembled using arm linux gcc. >> >> elf object file: compiled in thumb mode. >> 38:f7ff bffe b.w0 <rtems> >> 38: R_ARM_THM_JUMP24rtems >> It invokes a function "rtems" which are in arm mode. >> >> elf executable file: >> 8414:f000 b85c b.w84d0 <__rtems_from_thumb> >> >> >> 000084d0 <__rtems_from_thumb>: //stub code >> 84d0:4778 bxpc >> 84d2:46c0 nop; (mov r8, r8) >> 84d4:eaffffc0 b83dc <rtems> >> >> >> the arm linux gcc uses a stub code to handle the thumb to arm invoking. >> > > Why would we want this ? I would assume RTL loaded code must be the same > as the base kernel code. > > > I also want to introduce this for arm rtl.But I do not have a good idea >> about how to manage the stub code. Each rap file may contain many such >> reloc entry, each such reloc entry needs a stub code. >> How to manage the stub codes? >> > > RTEMS does not have the requirement to support multiple code "modes" at > runtime and Linux does. For embedded systems it is sensible to enforce one > code type. > > Chris >
_______________________________________________ rtems-devel mailing list [email protected] http://www.rtems.org/mailman/listinfo/rtems-devel
