This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ARM vectors.S - bug?


// Call thumb function from ARM mode, return to ARM
// mode afterwards
#define THUMB_CALL(_r_, _l_, _f_)                \
       ldr     _r_,=_f_+1                      ;\
       mov     lr,pc                           ;\
       bx      _r_                             ;\
       .pool                                   ;\
       .code   16                              ;\
       .thumb_func                             ;\
       ldr     _r_,=_l_  ## f                  ;\
       bx      _r_                             ;\
       .pool                                   ;\
       .code   32                              ;\
_l_:


What about the first .pool ? Looks like the wrong return address could be linked, depending on how much is pooled there. Removing the .pool worked for me.


Heiko

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


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