This is the mail archive of the
ecos-patches@sourceware.org
mailing list for the eCos project.
Re: [ECOS] Re: ISR not causing an DSR in some rare conditions
Jay Foster <jay@systech.com> writes:
> Attached is a patch for the first problem described below. This is
> essentially Sergei Organov's suggested change put into patch form.
The original suggestion had:
sub sp,sp,#(ARMREG_SIZE - armreg_lr - 4) // skip svc_sp, svc_lr, vector, cpsr, and pc
stmfd sp!,{ip,lr}
and your patch has:
sub sp,sp,#(ARMREG_SIZE - armreg_pc) // skip svc_sp, svc_lr, vector, cpsr, and pc
stmfd sp!,{ip,lr}
While they are exactly the same from the point of view of assembler, for
humans the first variant emphasized that lr will be put at armreg_lr
offset in the context structure. The fact that 'armreg_pc' happens to be
equal to 'armreg_lr - 4' does not mean one should use it instead.
Could you please preserve the former variant in your patch.
-- Sergei.