Fix for DDE_ThrowbackSend failing on 26 bit systems when a prefix is set
Robert Sprowson authored
On a 26 bit system a call to DDE_ThrowbackSend internally uses common_handler_external_entry to expand the thrown filename with the task local prefix, sharing code with the various filing system vectors which are intercepted.
However, common_handler_external_entry looks up the stack at sp+4 to retrieve the entry flags that the vectors stack on entry, only DDE_ThrowbackSend didn't. The result was instead to read stacked R0 which is most often 1 to pass an error, then the TEQNEP would switch from SVC to FIQ mode, and an abort due to the banked registers pointed in the wrong place.

In the 26 bit case a fake return is now stacked (we want common_handler_external_entry to return in both cases whether or not a prefix is set) in SVC26 mode.
Tested on RISC OS 4.02 with the !ObjAsm front end setting a task local prefix.

Version 1.74. Tagged as 'DDEUtils-1_74'
79545e4a