filters 0x50, 0x51 use same code for unfilter

modified:   stub/src/arm.v4a-expand.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
This commit is contained in:
John Reiser 2024-07-20 16:42:33 -07:00
parent 6a1e70bf40
commit 9ff4187fb3
2 changed files with 6 additions and 10 deletions

View File

@ -57,13 +57,13 @@ f_unfilter: @ on stack: (char *ptr, uint len, uint cto, uint fid) // not calla
t1 .req r2
t2 .req r3
#ifndef FILTER_ID /*{*/
#define FILTER_ID 0x50 /* little-endian */
#endif /*}*/
and fid,fid,#0xff
bic fid,fid,#1 @ 0x51 ==> 0x50
cmp fid,#FILTER_ID @ last use of fid
movne pc,lr @ no-op if not filter 0x50
movne pc,lr @ no-op if not filter 0x50 or 0x51
movs len,len,lsr #2 @ word count
cmpne ptr,#0

View File

@ -29,9 +29,8 @@
NBPW= 4
#define ARM_OLDABI 1
#define ARMEL_EABI4 1
#include "arch/arm/v4a/macros.S"
#define bkpt .long 0xe7f001f0 /* reserved instr; Linux GNU eabi breakpoint */
sz_Elf32_Ehdr = 13*NBPW
e_type= 16
@ -311,13 +310,10 @@ f_unfilter: @ (char *ptr, uint len, uint cto, uint fid)
t1 .req r2
t2 .req r3
#ifndef FILTER_ID /*{*/
#define FILTER_ID 0x50 /* little-endian */
#endif /*}*/
and fid,fid,#0xff
cmp fid,#FILTER_ID @ last use of fid
movne pc,lr @ no-op if not filter 0x50
bic fid,fid,#1 @ 0x51 ==> 0x50
cmp fid,#0x50 @ last use of fid
movne pc,lr @ no-op if not filter 0x50 or 0x51
movs len,len,lsr #2 @ word count
cmpne ptr,#0