use separate stub/armeb-linux.elf-entry and fold
This commit is contained in:
+2
-2
@@ -276,13 +276,13 @@ tc.armeb-linux.elf.gcc = $(tc.arm-linux.elf.gcc) -mbig-endian
|
||||
armeb-linux.elf-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -march=armv4 -c $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h) --ident=linux_elf32arm_loader tmp/$T.bin $@
|
||||
$(call tc,bin2h) --ident=linux_elf32armeb_loader tmp/$T.bin $@
|
||||
|
||||
armeb-linux.elf-fold.h : tmp/$$T.o tmp/armeb-linux.elf-main.o $(srcdir)/src/$$T.lds
|
||||
$(call tc,ld) --strip-all -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
$(call tc,f-objstrip,tmp/$T.bin)
|
||||
$(call tc,sstrip) tmp/$T.bin
|
||||
$(call tc,bin2h) --ident=linux_elf32arm_fold tmp/$T.bin $@
|
||||
$(call tc,bin2h) --ident=linux_elf32armeb_fold tmp/$T.bin $@
|
||||
|
||||
tmp/armeb-linux.elf-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
|
||||
@@ -27,11 +27,11 @@
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_ELF32ARM_LOADER_SIZE 19529
|
||||
#define LINUX_ELF32ARM_LOADER_ADLER32 0xa7d64535
|
||||
#define LINUX_ELF32ARM_LOADER_CRC32 0x70f522be
|
||||
#define LINUX_ELF32ARMEB_LOADER_SIZE 19529
|
||||
#define LINUX_ELF32ARMEB_LOADER_ADLER32 0xa7d64535
|
||||
#define LINUX_ELF32ARMEB_LOADER_CRC32 0x70f522be
|
||||
|
||||
unsigned char linux_elf32arm_loader[19529] = {
|
||||
unsigned char linux_elf32armeb_loader[19529] = {
|
||||
127, 69, 76, 70, 1, 2, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */
|
||||
0, 1, 0, 40, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 10 */
|
||||
0, 0, 23,244, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, /* 0x 20 */
|
||||
|
||||
@@ -27,11 +27,11 @@
|
||||
*/
|
||||
|
||||
|
||||
#define LINUX_ELF32ARM_FOLD_SIZE 2108
|
||||
#define LINUX_ELF32ARM_FOLD_ADLER32 0x5e5d608f
|
||||
#define LINUX_ELF32ARM_FOLD_CRC32 0xfcfdc28a
|
||||
#define LINUX_ELF32ARMEB_FOLD_SIZE 2108
|
||||
#define LINUX_ELF32ARMEB_FOLD_ADLER32 0x65a66090
|
||||
#define LINUX_ELF32ARMEB_FOLD_CRC32 0xdee2e92e
|
||||
|
||||
unsigned char linux_elf32arm_fold[2108] = {
|
||||
unsigned char linux_elf32armeb_fold[2108] = {
|
||||
127, 69, 76, 70, 1, 2, 1, 97, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */
|
||||
0, 2, 0, 40, 0, 0, 0, 1, 0, 0,128,128, 0, 0, 0, 52, /* 0x 10 */
|
||||
0, 0, 0, 0, 0, 0, 0, 2, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x 20 */
|
||||
@@ -47,7 +47,7 @@ unsigned char linux_elf32arm_fold[2108] = {
|
||||
226,143, 96, 36,226,137,144, 12,227,160,176, 0,233, 45, 15,248, /* 0x c0 */
|
||||
232,189, 0, 15,235, 0, 1,132,225,160,224, 0,226,141,208, 20, /* 0x d0 */
|
||||
226,141,220, 10,232,189, 0, 7,229, 18,240, 4,226, 3, 48,255, /* 0x e0 */
|
||||
227, 83, 0, 80, 17,160,240, 14,225,176, 17, 33, 19, 80, 0, 0, /* 0x f0 */
|
||||
227, 83, 0, 81, 17,160,240, 14,225,176, 17, 33, 19, 80, 0, 0, /* 0x f0 */
|
||||
1,160,240, 14,226, 65, 16, 1,231,144, 33, 1,226, 2, 52, 15, /* 0x 100 */
|
||||
227, 83, 4, 11, 26, 0, 0, 4,226, 2, 52,255,224, 66, 32, 1, /* 0x 110 */
|
||||
227,194, 36,255,225,130, 32, 3,231,128, 33, 1,227, 81, 0, 0, /* 0x 120 */
|
||||
|
||||
@@ -92,8 +92,11 @@ 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,#0x50 @ last use of fid
|
||||
cmp fid,#FILTER_ID @ last use of fid
|
||||
movne pc,lr @ no-op if not filter 0x50
|
||||
|
||||
movs len,len,lsr #2 @ word count
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
@ <jreiser@users.sourceforge.net>
|
||||
@
|
||||
|
||||
|
||||
#define FILTER_ID 0x51 /* big-endian */
|
||||
#include "arm-linux.elf-fold.S"
|
||||
|
||||
#undef FILTER_ID
|
||||
|
||||
@ vi:ts=8:et:nowrap
|
||||
|
||||
Reference in New Issue
Block a user