mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
Compress shared library for armel-eabi-linux.
This commit is contained in:
parent
ad0dc88a33
commit
63da091d36
|
|
@ -271,8 +271,8 @@ void PackLinuxElf32::pack3(OutputFile *fo, Filter &ft)
|
||||||
}
|
}
|
||||||
ehdri.e_shnum = 0;
|
ehdri.e_shnum = 0;
|
||||||
ehdri.e_shoff = old_dtinit; // easy to find for unpacking
|
ehdri.e_shoff = old_dtinit; // easy to find for unpacking
|
||||||
//ehdri.e_shentsize = 0;
|
ehdri.e_shentsize = 0;
|
||||||
//ehdri.e_shstrndx = 0;
|
ehdri.e_shstrndx = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -691,7 +691,8 @@ PackLinuxElf32::buildLinuxLoader(
|
||||||
|
|
||||||
addStubEntrySections(ft);
|
addStubEntrySections(ft);
|
||||||
|
|
||||||
defineSymbols(ft);
|
if (0==xct_off)
|
||||||
|
defineSymbols(ft); // main program only, not for shared lib
|
||||||
relocateLoader();
|
relocateLoader();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -739,16 +740,14 @@ PackLinuxElf64::buildLinuxLoader(
|
||||||
|
|
||||||
addStubEntrySections(ft);
|
addStubEntrySections(ft);
|
||||||
|
|
||||||
defineSymbols(ft);
|
if (0==xct_off)
|
||||||
|
defineSymbols(ft); // main program only, not for shared lib
|
||||||
relocateLoader();
|
relocateLoader();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
PackLinuxElf64amd::defineSymbols(Filter const *)
|
PackLinuxElf64amd::defineSymbols(Filter const *)
|
||||||
{
|
{
|
||||||
if (0!=xct_va) { // is shared lib
|
|
||||||
return; // no symbols needed
|
|
||||||
}
|
|
||||||
unsigned const hlen = sz_elf_hdrs + sizeof(l_info) + sizeof(p_info);
|
unsigned const hlen = sz_elf_hdrs + sizeof(l_info) + sizeof(p_info);
|
||||||
|
|
||||||
// We want to know if compressed data, plus stub, plus a couple pages,
|
// We want to know if compressed data, plus stub, plus a couple pages,
|
||||||
|
|
@ -920,11 +919,15 @@ static const
|
||||||
#include "stub/armel-eabi-linux.elf-entry.h"
|
#include "stub/armel-eabi-linux.elf-entry.h"
|
||||||
static const
|
static const
|
||||||
#include "stub/armel-eabi-linux.elf-fold.h"
|
#include "stub/armel-eabi-linux.elf-fold.h"
|
||||||
|
static const
|
||||||
|
#include "stub/armel-eabi-linux.shlib-init.h"
|
||||||
|
|
||||||
static const
|
static const
|
||||||
#include "stub/arm-linux.elf-entry.h"
|
#include "stub/arm-linux.elf-entry.h"
|
||||||
static const
|
static const
|
||||||
#include "stub/arm-linux.elf-fold.h"
|
#include "stub/arm-linux.elf-fold.h"
|
||||||
|
static const
|
||||||
|
#include "stub/arm-linux.shlib-init.h"
|
||||||
|
|
||||||
static const
|
static const
|
||||||
#include "stub/armeb-linux.elf-entry.h"
|
#include "stub/armeb-linux.elf-entry.h"
|
||||||
|
|
@ -945,6 +948,13 @@ void
|
||||||
PackLinuxElf32armLe::buildLoader(Filter const *ft)
|
PackLinuxElf32armLe::buildLoader(Filter const *ft)
|
||||||
{
|
{
|
||||||
if (Elf32_Ehdr::ELFOSABI_LINUX==ei_osabi) {
|
if (Elf32_Ehdr::ELFOSABI_LINUX==ei_osabi) {
|
||||||
|
|
||||||
|
if (0!=xct_off) { // shared library
|
||||||
|
buildLinuxLoader(
|
||||||
|
stub_armel_eabi_linux_shlib_init, sizeof(stub_armel_eabi_linux_shlib_init),
|
||||||
|
NULL, 0, ft );
|
||||||
|
return;
|
||||||
|
}
|
||||||
buildLinuxLoader(
|
buildLinuxLoader(
|
||||||
stub_armel_eabi_linux_elf_entry, sizeof(stub_armel_eabi_linux_elf_entry),
|
stub_armel_eabi_linux_elf_entry, sizeof(stub_armel_eabi_linux_elf_entry),
|
||||||
stub_armel_eabi_linux_elf_fold, sizeof(stub_armel_eabi_linux_elf_fold), ft);
|
stub_armel_eabi_linux_elf_fold, sizeof(stub_armel_eabi_linux_elf_fold), ft);
|
||||||
|
|
@ -1502,17 +1512,6 @@ PackLinuxElf32::generateElfHdr(
|
||||||
set_te32(&h2->phdr[0].p_filesz, sizeof(*h2)); // + identsize;
|
set_te32(&h2->phdr[0].p_filesz, sizeof(*h2)); // + identsize;
|
||||||
h2->phdr[0].p_memsz = h2->phdr[0].p_filesz;
|
h2->phdr[0].p_memsz = h2->phdr[0].p_filesz;
|
||||||
|
|
||||||
Elf32_Phdr const *phdr = phdri;
|
|
||||||
for (unsigned j=0; j < e_phnum; ++phdr, ++j) {
|
|
||||||
if (phdr->PT_LOAD32 == get_te32(&phdr->p_type)) {
|
|
||||||
unsigned x = get_te32(&phdr->p_align) >> lg2_page;
|
|
||||||
while (x>>=1) {
|
|
||||||
++lg2_page;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
page_size = 1u<<lg2_page;
|
|
||||||
page_mask = ~0u<<lg2_page;
|
|
||||||
for (unsigned j=0; j < 3; ++j) {
|
for (unsigned j=0; j < 3; ++j) {
|
||||||
set_te32(&h3->phdr[j].p_align, page_size);
|
set_te32(&h3->phdr[j].p_align, page_size);
|
||||||
}
|
}
|
||||||
|
|
@ -1626,17 +1625,6 @@ PackLinuxElf64::generateElfHdr(
|
||||||
set_te64(&h2->phdr[0].p_filesz, sizeof(*h2)); // + identsize;
|
set_te64(&h2->phdr[0].p_filesz, sizeof(*h2)); // + identsize;
|
||||||
h2->phdr[0].p_memsz = h2->phdr[0].p_filesz;
|
h2->phdr[0].p_memsz = h2->phdr[0].p_filesz;
|
||||||
|
|
||||||
Elf64_Phdr const *phdr = phdri;
|
|
||||||
for (unsigned j=0; j < e_phnum; ++phdr, ++j) {
|
|
||||||
if (phdr->PT_LOAD64 == get_te64(&phdr->p_type)) {
|
|
||||||
unsigned x = get_te64(&phdr->p_align) >> lg2_page;
|
|
||||||
while (x>>=1) {
|
|
||||||
++lg2_page;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
page_size = 1u <<lg2_page;
|
|
||||||
page_mask = ~0ull<<lg2_page;
|
|
||||||
for (unsigned j=0; j < 3; ++j) {
|
for (unsigned j=0; j < 3; ++j) {
|
||||||
set_te64(&h3->phdr[j].p_align, page_size);
|
set_te64(&h3->phdr[j].p_align, page_size);
|
||||||
}
|
}
|
||||||
|
|
@ -1676,22 +1664,34 @@ void PackLinuxElf32::pack1(OutputFile */*fo*/, Filter &/*ft*/)
|
||||||
fi->seek(e_phoff, SEEK_SET);
|
fi->seek(e_phoff, SEEK_SET);
|
||||||
fi->readx(phdri, sz_phdrs);
|
fi->readx(phdri, sz_phdrs);
|
||||||
|
|
||||||
|
Elf32_Phdr const *phdr = phdri;
|
||||||
|
for (unsigned j=0; j < e_phnum; ++phdr, ++j) {
|
||||||
|
if (phdr->PT_LOAD32 == get_te32(&phdr->p_type)) {
|
||||||
|
unsigned x = get_te32(&phdr->p_align) >> lg2_page;
|
||||||
|
while (x>>=1) {
|
||||||
|
++lg2_page;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
page_size = 1u<<lg2_page;
|
||||||
|
page_mask = ~0u<<lg2_page;
|
||||||
|
|
||||||
progid = 0; // getRandomId(); not useful, so do not clutter
|
progid = 0; // getRandomId(); not useful, so do not clutter
|
||||||
}
|
}
|
||||||
|
|
||||||
void PackLinuxElf32x86::pack1(OutputFile *fo, Filter &ft)
|
void PackLinuxElf32x86::pack1(OutputFile *fo, Filter &ft)
|
||||||
{
|
{
|
||||||
super::pack1(fo, ft);
|
super::pack1(fo, ft);
|
||||||
if (0==xct_off) // main executable
|
if (0!=xct_off) { // shared library
|
||||||
generateElfHdr(fo, stub_i386_linux_elf_fold,
|
|
||||||
getbrk(phdri, e_phnum) );
|
|
||||||
else { // shared library
|
|
||||||
fi->seek(0, SEEK_SET);
|
fi->seek(0, SEEK_SET);
|
||||||
fi->readx(ibuf, xct_off);
|
fi->readx(ibuf, xct_off);
|
||||||
|
|
||||||
sz_elf_hdrs = xct_off - sizeof(l_info);
|
sz_elf_hdrs = xct_off - sizeof(l_info);
|
||||||
fo->write(ibuf, xct_off);
|
fo->write(ibuf, xct_off);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
generateElfHdr(fo, stub_i386_linux_elf_fold,
|
||||||
|
getbrk(phdri, e_phnum) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void PackBSDElf32x86::pack1(OutputFile *fo, Filter &ft)
|
void PackBSDElf32x86::pack1(OutputFile *fo, Filter &ft)
|
||||||
|
|
@ -1703,6 +1703,14 @@ void PackBSDElf32x86::pack1(OutputFile *fo, Filter &ft)
|
||||||
void PackLinuxElf32armLe::pack1(OutputFile *fo, Filter &ft)
|
void PackLinuxElf32armLe::pack1(OutputFile *fo, Filter &ft)
|
||||||
{
|
{
|
||||||
super::pack1(fo, ft);
|
super::pack1(fo, ft);
|
||||||
|
if (0!=xct_off) { // shared library
|
||||||
|
fi->seek(0, SEEK_SET);
|
||||||
|
fi->readx(ibuf, xct_off);
|
||||||
|
|
||||||
|
sz_elf_hdrs = xct_off - sizeof(l_info);
|
||||||
|
fo->write(ibuf, xct_off);
|
||||||
|
return;
|
||||||
|
}
|
||||||
cprElfHdr3 h3;
|
cprElfHdr3 h3;
|
||||||
if (Elf32_Ehdr::ELFOSABI_LINUX==ei_osabi) {
|
if (Elf32_Ehdr::ELFOSABI_LINUX==ei_osabi) {
|
||||||
memcpy(&h3, stub_armel_eabi_linux_elf_fold, sizeof(Elf32_Ehdr) + 2*sizeof(Elf32_Phdr));
|
memcpy(&h3, stub_armel_eabi_linux_elf_fold, sizeof(Elf32_Ehdr) + 2*sizeof(Elf32_Phdr));
|
||||||
|
|
@ -1758,6 +1766,18 @@ void PackLinuxElf64::pack1(OutputFile */*fo*/, Filter &/*ft*/)
|
||||||
fi->seek(e_phoff, SEEK_SET);
|
fi->seek(e_phoff, SEEK_SET);
|
||||||
fi->readx(phdri, sz_phdrs);
|
fi->readx(phdri, sz_phdrs);
|
||||||
|
|
||||||
|
Elf64_Phdr const *phdr = phdri;
|
||||||
|
for (unsigned j=0; j < e_phnum; ++phdr, ++j) {
|
||||||
|
if (phdr->PT_LOAD64 == get_te64(&phdr->p_type)) {
|
||||||
|
unsigned x = get_te64(&phdr->p_align) >> lg2_page;
|
||||||
|
while (x>>=1) {
|
||||||
|
++lg2_page;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
page_size = 1u <<lg2_page;
|
||||||
|
page_mask = ~0ull<<lg2_page;
|
||||||
|
|
||||||
progid = 0; // getRandomId(); not useful, so do not clutter
|
progid = 0; // getRandomId(); not useful, so do not clutter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,12 +57,14 @@ STUBS += amd64-linux.kernel.vmlinux-head.h
|
||||||
STUBS += amd64-linux.shlib-init.h
|
STUBS += amd64-linux.shlib-init.h
|
||||||
STUBS += armel-eabi-linux.elf-entry.h
|
STUBS += armel-eabi-linux.elf-entry.h
|
||||||
STUBS += armel-eabi-linux.elf-fold.h
|
STUBS += armel-eabi-linux.elf-fold.h
|
||||||
|
STUBS += armel-eabi-linux.shlib-init.h
|
||||||
STUBS += arm-darwin.macho-entry.h
|
STUBS += arm-darwin.macho-entry.h
|
||||||
STUBS += arm-darwin.macho-fold.h
|
STUBS += arm-darwin.macho-fold.h
|
||||||
STUBS += arm-linux.elf-entry.h
|
STUBS += arm-linux.elf-entry.h
|
||||||
STUBS += arm-linux.elf-fold.h
|
STUBS += arm-linux.elf-fold.h
|
||||||
STUBS += arm-linux.kernel.vmlinux.h
|
STUBS += arm-linux.kernel.vmlinux.h
|
||||||
STUBS += arm-linux.kernel.vmlinux-head.h
|
STUBS += arm-linux.kernel.vmlinux-head.h
|
||||||
|
STUBS += arm-linux.shlib-init.h
|
||||||
STUBS += armeb-linux.elf-entry.h
|
STUBS += armeb-linux.elf-entry.h
|
||||||
STUBS += armeb-linux.elf-fold.h
|
STUBS += armeb-linux.elf-fold.h
|
||||||
STUBS += armeb-linux.kernel.vmlinux.h
|
STUBS += armeb-linux.kernel.vmlinux.h
|
||||||
|
|
@ -379,6 +381,19 @@ tmp/armel-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||||
$(call tc,f-objstrip,$@)
|
$(call tc,f-objstrip,$@)
|
||||||
$(call tc,objdump) -dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm
|
$(call tc,objdump) -dr $(tc_objdump_disasm_options) $@ | $(RTRIM) > $@.disasm
|
||||||
|
|
||||||
|
# /***********************************************************************
|
||||||
|
# // armel-eabi-linux.shlib
|
||||||
|
# ************************************************************************/
|
||||||
|
|
||||||
|
armel-eabi-linux.shlib%.h : tc_list = armel-eabi-linux.elf default
|
||||||
|
armel-eabi-linux.shlib%.h : tc_bfdname = elf32-littlearm
|
||||||
|
|
||||||
|
armel-eabi-linux.shlib%.h : $(srcdir)/src/$$T.S
|
||||||
|
$(call tc,gcc) -c -x assembler-with-cpp $< -o tmp/$T.bin
|
||||||
|
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||||
|
$(call tc,bin2h-c) tmp/$T.bin $@
|
||||||
|
|
||||||
|
|
||||||
# /***********************************************************************
|
# /***********************************************************************
|
||||||
# // arm-darwin.macho
|
# // arm-darwin.macho
|
||||||
# ************************************************************************/
|
# ************************************************************************/
|
||||||
|
|
@ -463,6 +478,19 @@ arm-linux.kernel.vmlinux-head.h : $(srcdir)/src/$$T.S
|
||||||
$(call tc,bin2h) tmp/$T.bin $@
|
$(call tc,bin2h) tmp/$T.bin $@
|
||||||
|
|
||||||
|
|
||||||
|
# /***********************************************************************
|
||||||
|
# // arm-linux.shlib
|
||||||
|
# ************************************************************************/
|
||||||
|
|
||||||
|
arm-linux.shlib%.h : tc_list = armel-eabi-linux.elf default
|
||||||
|
arm-linux.shlib%.h : tc_bfdname = elf32-littlearm
|
||||||
|
|
||||||
|
arm-linux.shlib%.h : $(srcdir)/src/$$T.S
|
||||||
|
$(call tc,gcc) -c -x assembler-with-cpp $< -o tmp/$T.bin
|
||||||
|
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||||
|
$(call tc,bin2h-c) tmp/$T.bin $@
|
||||||
|
|
||||||
|
|
||||||
# /***********************************************************************
|
# /***********************************************************************
|
||||||
# // armeb-linux.kernel.vmlinux
|
# // armeb-linux.kernel.vmlinux
|
||||||
# // armeb-linux.kernel.vmlinux-head
|
# // armeb-linux.kernel.vmlinux-head
|
||||||
|
|
|
||||||
1015
src/stub/arm-linux.shlib-init.h
Normal file
1015
src/stub/arm-linux.shlib-init.h
Normal file
File diff suppressed because it is too large
Load Diff
1024
src/stub/armel-eabi-linux.shlib-init.h
Normal file
1024
src/stub/armel-eabi-linux.shlib-init.h
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -34,6 +34,7 @@
|
||||||
.section \name
|
.section \name
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
/* The order of #if-#elif matters: ARMEL_EABI4 takes precedence over ARM_OLDABI */
|
||||||
#if defined(ARMEL_DARWIN) /*{*/
|
#if defined(ARMEL_DARWIN) /*{*/
|
||||||
__NR_SYSCALL_BASE = 0
|
__NR_SYSCALL_BASE = 0
|
||||||
.macro do_sys N
|
.macro do_sys N
|
||||||
|
|
|
||||||
418
src/stub/src/arm-linux.shlib-init.S
Normal file
418
src/stub/src/arm-linux.shlib-init.S
Normal file
|
|
@ -0,0 +1,418 @@
|
||||||
|
/* arm-linux.shlib-init.S -- Linux Elf shared library init & decompressor
|
||||||
|
*
|
||||||
|
* This file is part of the UPX executable compressor.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1996-2009 Markus Franz Xaver Johannes Oberhumer
|
||||||
|
* Copyright (C) 1996-2009 Laszlo Molnar
|
||||||
|
* Copyright (C) 2000-2009 John F. Reiser
|
||||||
|
* All Rights Reserved.
|
||||||
|
*
|
||||||
|
* UPX and the UCL library are free software; you can redistribute them
|
||||||
|
* and/or modify them under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; see the file COPYING.
|
||||||
|
* If not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
*
|
||||||
|
* Markus F.X.J. Oberhumer Laszlo Molnar
|
||||||
|
* <markus@oberhumer.com> <ml1050@users.sourceforge.net>
|
||||||
|
*
|
||||||
|
* John F. Reiser
|
||||||
|
* <jreiser@users.sourceforge.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define ARM_OLDABI 1
|
||||||
|
#include "arch/arm/v5a/macros.S"
|
||||||
|
|
||||||
|
#define bkpt .long 0xe7f001f0 /* reserved instr; Linux GNU eabi breakpoint */
|
||||||
|
sz_Elf32_Ehdr = 13*4
|
||||||
|
sz_Elf32_Phdr = 8*4
|
||||||
|
|
||||||
|
sz_b_info= 12
|
||||||
|
sz_unc= 0
|
||||||
|
sz_cpr= 4
|
||||||
|
b_method= 8
|
||||||
|
sz_l_info= 12
|
||||||
|
sz_p_info= 12
|
||||||
|
|
||||||
|
PROT_READ= 1
|
||||||
|
PROT_WRITE= 2
|
||||||
|
PROT_EXEC= 4
|
||||||
|
|
||||||
|
MAP_PRIVATE= 2
|
||||||
|
MAP_FIXED= 0x10
|
||||||
|
MAP_ANONYMOUS= 0x20
|
||||||
|
|
||||||
|
PAGE_SHIFT= 12
|
||||||
|
PAGE_MASK= (~0<<PAGE_SHIFT)
|
||||||
|
PAGE_SIZE= -PAGE_MASK
|
||||||
|
|
||||||
|
__NR_exit = 1 + __NR_SYSCALL_BASE
|
||||||
|
__NR_write = 4 + __NR_SYSCALL_BASE
|
||||||
|
__NR_mmap64 = 0xc0 + __NR_SYSCALL_BASE
|
||||||
|
__NR_mprotect =125 + __NR_SYSCALL_BASE
|
||||||
|
__NR_munmap = 91 + __NR_SYSCALL_BASE
|
||||||
|
|
||||||
|
__ARM_NR_BASE = 0xf0000 + __NR_SYSCALL_BASE
|
||||||
|
__ARM_NR_cacheflush = 2 + __ARM_NR_BASE
|
||||||
|
|
||||||
|
#define arg1 r0
|
||||||
|
#define arg2 r1
|
||||||
|
#define arg3 r2
|
||||||
|
#define arg4 r3
|
||||||
|
#define arg5 r4
|
||||||
|
|
||||||
|
#define edi r0
|
||||||
|
#define esi r1
|
||||||
|
#define edx r2
|
||||||
|
#define tmp r3
|
||||||
|
#define eax r4
|
||||||
|
#define ecx r5
|
||||||
|
|
||||||
|
section ELFMAINX
|
||||||
|
// .long offset(.) // detect relocation
|
||||||
|
// .long offset(user DT_INIT)
|
||||||
|
// .long offset(escape_hatch)
|
||||||
|
// .long offset({p_info; b_info; compressed data})
|
||||||
|
|
||||||
|
_start: .globl _start
|
||||||
|
|
||||||
|
stmdb sp!,{arg1,arg2,arg3, eax,ecx,r6,r7, fp,lr,pc}
|
||||||
|
o_uinit= (3+4+2)*4
|
||||||
|
|
||||||
|
//hatch:
|
||||||
|
// syscall // munmap
|
||||||
|
// ldmia sp!,{arg1,arg2,arg3, eax,ecx,r6,r7, fp,lr,pc}
|
||||||
|
|
||||||
|
mov fp,sp
|
||||||
|
sub sp,sp,#4
|
||||||
|
o_hatch= -1*4
|
||||||
|
bl main // push &f_decompress
|
||||||
|
f_decompress:
|
||||||
|
#define LINUX_ARM_CACHEFLUSH 1
|
||||||
|
|
||||||
|
section NRV_HEAD
|
||||||
|
// empty
|
||||||
|
section NRV_TAIL
|
||||||
|
// empty
|
||||||
|
|
||||||
|
section NRV2E
|
||||||
|
#include "arch/arm/v4a/nrv2e_d8.S"
|
||||||
|
|
||||||
|
section NRV2D
|
||||||
|
#include "arch/arm/v4a/nrv2d_d8.S"
|
||||||
|
|
||||||
|
section NRV2B
|
||||||
|
#include "arch/arm/v4a/nrv2b_d8.S"
|
||||||
|
|
||||||
|
#include "arch/arm/v4a/lzma_d.S"
|
||||||
|
|
||||||
|
section ELFMAINY
|
||||||
|
end_decompress: .globl end_decompress
|
||||||
|
|
||||||
|
msg_SELinux:
|
||||||
|
mov r2,#L71 - L70 // length
|
||||||
|
adr r1,L70 // message text
|
||||||
|
mov r0,#2 // fd stderr
|
||||||
|
#if defined(ARMEL_EABI4) /*{*/
|
||||||
|
mov r7,#__NR_write
|
||||||
|
swi 0
|
||||||
|
#else /*}{*/
|
||||||
|
swi __NR_write
|
||||||
|
#endif /*}*/
|
||||||
|
die:
|
||||||
|
mov r0,#127
|
||||||
|
#if defined(ARMEL_EABI4) /*{*/
|
||||||
|
mov r7,#__NR_exit
|
||||||
|
swi 0
|
||||||
|
#else /*}{*/
|
||||||
|
swi __NR_exit
|
||||||
|
#endif /*}*/
|
||||||
|
L70:
|
||||||
|
.asciz "PROT_EXEC|PROT_WRITE failed.\n"
|
||||||
|
L71:
|
||||||
|
/* IDENTSTR goes here */
|
||||||
|
|
||||||
|
section ELFMAINZ
|
||||||
|
.macro push reg
|
||||||
|
str \reg,[sp,#-4]!
|
||||||
|
.endm
|
||||||
|
.macro pop reg
|
||||||
|
ldr \reg,[sp],#4
|
||||||
|
.endm
|
||||||
|
.macro lsl dst,src,cnt
|
||||||
|
mov \dst,\src,lsl \cnt
|
||||||
|
.endm
|
||||||
|
.macro lsr dst,src,cnt
|
||||||
|
mov \dst,\src,lsr \cnt
|
||||||
|
.endm
|
||||||
|
|
||||||
|
#define lodsl ldr eax,[esi],#4
|
||||||
|
#define lodslu bl get4u
|
||||||
|
|
||||||
|
main:
|
||||||
|
// 1. allocate temporary pages
|
||||||
|
// 2. copy to temporary pages:
|
||||||
|
// fragment of page below dst; compressed src;
|
||||||
|
// decompress+unfilter; supervise
|
||||||
|
// 3. mmap destination pages for decompressed data
|
||||||
|
// 4. create escape hatch
|
||||||
|
// 5. jump to temporary pages
|
||||||
|
// 6. uncompress
|
||||||
|
// 7. unfilter
|
||||||
|
// 8. mprotect decompressed pages
|
||||||
|
// 9 setup args for unmap of temp pages
|
||||||
|
// 10. jump to escape hatch
|
||||||
|
// 11. unmap temporary pages
|
||||||
|
// 12. goto user DT_INIT
|
||||||
|
|
||||||
|
mov edx,lr // &f_decompress
|
||||||
|
|
||||||
|
add esi,edx,# _start - f_decompress - 4*4
|
||||||
|
mov ecx,esi
|
||||||
|
lodsl; sub ecx,ecx,eax; //str ecx,[fp,#o_reloc]
|
||||||
|
lodsl; add eax,ecx,eax; str eax,[fp,#o_uinit] // reloc DT_INIT for step 12
|
||||||
|
lodsl; add eax,ecx,eax; str eax,[fp,#o_hatch] // reloc &hatch for step 10
|
||||||
|
lodsl; add edi,ecx,eax // &p_info; also destination for decompress
|
||||||
|
add esi,edi,#sz_p_info // &b_info
|
||||||
|
|
||||||
|
sub sp,sp,#2*4 // param space: munmap temp pages step 9
|
||||||
|
p_unmap= -3*4
|
||||||
|
|
||||||
|
ldr eax,[esi,#4]; add esi,esi,#3*4 // sz_cpr
|
||||||
|
add esi,esi,eax // skip unpack helper block
|
||||||
|
|
||||||
|
lodslu // eax=dstlen
|
||||||
|
lsl ecx,edi,# (32-PAGE_SHIFT)
|
||||||
|
lsr ecx,ecx,#2+(32-PAGE_SHIFT) // ecx= w_fragment
|
||||||
|
add eax,eax,ecx,lsl #2; push eax // params: mprotect restored pages step 8
|
||||||
|
sub edi,edi,ecx,lsl #2; push edi
|
||||||
|
p_mprot= -5*4
|
||||||
|
sub eax,eax,ecx,lsl #2 // dstlen
|
||||||
|
add edi,edi,ecx,lsl #2 // dst
|
||||||
|
push ecx // w_fragment
|
||||||
|
o_wfrag= -6*4
|
||||||
|
|
||||||
|
bl L610
|
||||||
|
f_unfilter: // (char *ptr, uint len, uint cto, uint fid)
|
||||||
|
#define ptr r0
|
||||||
|
#define len r1
|
||||||
|
#define cto r2
|
||||||
|
#define fid r3
|
||||||
|
|
||||||
|
#define t1 r2
|
||||||
|
#define t2 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
|
||||||
|
|
||||||
|
movs len,len,lsr #2 // word count
|
||||||
|
cmpne ptr,#0
|
||||||
|
moveq pc,lr // no-op if either len or ptr is 0
|
||||||
|
|
||||||
|
top_unf:
|
||||||
|
sub len,len,#1
|
||||||
|
ldr t1,[ptr,len,lsl #2]
|
||||||
|
and t2,t1,#0x0f<<24
|
||||||
|
cmp t2, #0x0b<<24; bne tst_unf // not 'bl' subroutine call
|
||||||
|
and t2,t1,#0xff<<24 // all the non-displacement bits
|
||||||
|
sub t1,t1,len // convert to word-relative displacement
|
||||||
|
bic t1,t1,#0xff<<24 // restrict to displacement field
|
||||||
|
orr t1,t1,t2 // re-combine
|
||||||
|
str t1,[ptr,len,lsl #2]
|
||||||
|
tst_unf:
|
||||||
|
cmp len,#0
|
||||||
|
bne top_unf
|
||||||
|
mov pc,lr
|
||||||
|
|
||||||
|
#undef ptr
|
||||||
|
#undef len
|
||||||
|
#undef cto
|
||||||
|
#undef fid
|
||||||
|
|
||||||
|
#undef t1
|
||||||
|
#undef t2
|
||||||
|
|
||||||
|
L610:
|
||||||
|
push lr
|
||||||
|
o_unflt= -7*4
|
||||||
|
ldrb tmp,[esi,#b_method-4+1]; push tmp // ftid
|
||||||
|
ldrb tmp,[esi,#b_method-4+2]; push tmp // cto8
|
||||||
|
push eax // dstlen also for unfilter step 7
|
||||||
|
push edi // dst param for unfilter step 7
|
||||||
|
p_unflt= -11*4
|
||||||
|
|
||||||
|
lodslu; mov ecx,eax // ecx= srclen
|
||||||
|
lodslu; push eax // method,filter,cto,junk
|
||||||
|
push edx // &decompress
|
||||||
|
o_uncpr= -13*4
|
||||||
|
add tmp,fp,#p_unflt+1*4; push tmp // &dstlen
|
||||||
|
push edi // dst
|
||||||
|
push ecx // srclen
|
||||||
|
push esi // src; arglist ready for decompress step 6
|
||||||
|
p_uncpr= -17*4
|
||||||
|
|
||||||
|
ldr tmp,[fp,#o_wfrag]; add edx,tmp,ecx,lsr #2 // w_srclen + w_frag
|
||||||
|
ldr tmp,[fp,#o_uncpr]; bl wlen_subr
|
||||||
|
ldr tmp,[fp,#o_unflt]; bl wlen_subr
|
||||||
|
|
||||||
|
bl L220
|
||||||
|
supervise:
|
||||||
|
// Allocate pages for result of decompressing.
|
||||||
|
// These replace the compressed source and the following hole.
|
||||||
|
mvn arg5,#0 // -1; cater to *BSD for fd of MAP_ANON
|
||||||
|
mov arg4,#MAP_PRIVATE|MAP_ANONYMOUS|MAP_FIXED
|
||||||
|
mov arg3,#PROT_READ|PROT_WRITE
|
||||||
|
ldr arg2,[fp,#p_mprot+4] // dstlen
|
||||||
|
ldr arg1,[fp,#p_mprot ] // dst
|
||||||
|
do_sys __NR_mmap64; cmn r0,#4096; bcc 0f; bkpt; 0:
|
||||||
|
|
||||||
|
// Restore fragment of page below dst
|
||||||
|
ldr ecx,[fp,#o_wfrag]
|
||||||
|
mov edi,r0
|
||||||
|
ldr esi,[fp,#p_unmap]
|
||||||
|
bl movsl
|
||||||
|
|
||||||
|
ldmia sp!,{arg1,arg2,arg3,arg4, eax}
|
||||||
|
blx eax // decompress
|
||||||
|
add sp,sp,#4 // toss arg5
|
||||||
|
//p_unflt
|
||||||
|
ldmia sp!,{arg1,arg2,arg3,arg4, eax}
|
||||||
|
tst arg4,arg4; beq 0f // 0==ftid ==> no filter
|
||||||
|
blx eax // unfilter
|
||||||
|
0:
|
||||||
|
add sp,sp,#4 // toss w_fragment
|
||||||
|
//p_mprot
|
||||||
|
ldr arg1,[sp,#0*4] // lo(dst)
|
||||||
|
ldr arg2,[sp,#1*4] // len
|
||||||
|
mov arg3,#0
|
||||||
|
add arg2,arg2,arg1 // hi(dst)
|
||||||
|
do_sys2 __ARM_NR_cacheflush
|
||||||
|
|
||||||
|
ldmia sp!,{arg1,arg2}
|
||||||
|
mov arg3,#PROT_READ|PROT_EXEC
|
||||||
|
do_sys __NR_mprotect
|
||||||
|
|
||||||
|
//p_unmap
|
||||||
|
//ldmia sp!,{arg1,arg2, pc}
|
||||||
|
add sp,sp,#-p_unmap
|
||||||
|
|
||||||
|
ldmia sp!,{arg1,arg2,arg3, eax,ecx,r6,r7, fp,lr,pc}
|
||||||
|
|
||||||
|
movsl_subr:
|
||||||
|
ldr ecx,[esi,#-4] // 'bl <over>' instruction word
|
||||||
|
bic ecx,ecx,#0xff<<24 // displacment field
|
||||||
|
add ecx,ecx,#1 // displ omits one word
|
||||||
|
//b movsl
|
||||||
|
movsl: // FIXME: bug when 0==ecx
|
||||||
|
ldr tmp,[esi],#4; subs ecx,ecx,#1
|
||||||
|
str tmp,[edi],#4; bne movsl
|
||||||
|
ret
|
||||||
|
|
||||||
|
L220:
|
||||||
|
push lr // &supervise
|
||||||
|
o_super= -18*4
|
||||||
|
mov tmp,lr; bl wlen_subr // wlen_supervise
|
||||||
|
lsl arg2,edx,#2 // convert to bytes
|
||||||
|
|
||||||
|
// Allocate pages to hold temporary copy.
|
||||||
|
mvn arg5,#0 // -1; cater to *BSD for fd of MAP_ANON
|
||||||
|
mov arg4,#MAP_PRIVATE|MAP_ANONYMOUS
|
||||||
|
mov arg3,#PROT_READ|PROT_WRITE|PROT_EXEC
|
||||||
|
str arg2,[fp,#p_unmap+1*4] // length to unmap
|
||||||
|
mov arg1,#0 // any addr
|
||||||
|
do_sys __NR_mmap64; cmn r0,#4096; bcc 0f; bkpt; 0:
|
||||||
|
str r0,[fp,#p_unmap+0*4] // address to unmap
|
||||||
|
|
||||||
|
ldr esi,[fp,#p_mprot]
|
||||||
|
mov edi,r0 // edi= dst
|
||||||
|
ldr ecx,[fp,#o_wfrag] // w_fragment
|
||||||
|
bl movsl // copy the fragment
|
||||||
|
|
||||||
|
ldr ecx,[fp,#p_uncpr+1*4] // len
|
||||||
|
ldr esi,[fp,#p_uncpr+0*4] // src
|
||||||
|
str edi,[fp,#p_uncpr+0*4] // dst
|
||||||
|
bl memcpyW // copy compressed data
|
||||||
|
|
||||||
|
mov edx,edi // lo(dst) of copied code
|
||||||
|
|
||||||
|
ldr esi,[fp,#o_uncpr]
|
||||||
|
str edi,[fp,#o_uncpr]
|
||||||
|
bl movsl_subr // copy decompressor
|
||||||
|
|
||||||
|
ldr esi,[fp,#o_unflt]
|
||||||
|
str edi,[fp,#o_unflt]
|
||||||
|
bl movsl_subr // copy unfilter
|
||||||
|
|
||||||
|
pop esi // &supervise
|
||||||
|
push edi // &copied
|
||||||
|
bl movsl_subr // copy supervisor
|
||||||
|
|
||||||
|
mov arg2,edi // hi(dst) of copied code
|
||||||
|
mov arg1,edx // lo(dst) of copied code
|
||||||
|
mov arg3,#0
|
||||||
|
do_sys2 __ARM_NR_cacheflush
|
||||||
|
|
||||||
|
pop pc // goto copied supervisor
|
||||||
|
|
||||||
|
get4u:
|
||||||
|
ldrb eax,[esi],#1;
|
||||||
|
ldrb tmp,[esi],#1; orr eax,eax,tmp,lsl # 8
|
||||||
|
ldrb tmp,[esi],#1; orr eax,eax,tmp,lsl #16
|
||||||
|
ldrb tmp,[esi],#1; orr eax,eax,tmp,lsl #24
|
||||||
|
ret
|
||||||
|
|
||||||
|
wlen_subr: // edx+= nwords of inline subr at *tmp
|
||||||
|
ldr tmp,[tmp,#-4] // 'bl <over>' instruction word
|
||||||
|
bic tmp,tmp,#0xff<<24 // displacment field
|
||||||
|
add tmp,tmp,#1 // displ omits one word
|
||||||
|
add edx,edx,tmp
|
||||||
|
ret
|
||||||
|
|
||||||
|
// dst (edi) is 4-byte aligned.
|
||||||
|
// src (esi) is unknown aligned
|
||||||
|
// cnt (ecx) is bytes
|
||||||
|
// Round up count to full words.
|
||||||
|
memcpyW:
|
||||||
|
add ecx,ecx,#3
|
||||||
|
lsr ecx,ecx,#2
|
||||||
|
tst esi,#3; beq movsl // 4-byte aligned
|
||||||
|
tst esi,#1; beq movsw2 // 2-byte aligned
|
||||||
|
movsb4:
|
||||||
|
ldrb tmp,[esi],#1
|
||||||
|
ldrb r6, [esi],#1
|
||||||
|
ldrb r12,[esi],#1
|
||||||
|
ldrb r7, [esi],#1
|
||||||
|
|
||||||
|
orr tmp,tmp,r6,lsl #8
|
||||||
|
orr r12,r12,r7,lsl #8
|
||||||
|
subs ecx,ecx,#1
|
||||||
|
orr tmp,tmp,r12,lsl #16
|
||||||
|
str tmp,[edi],#4
|
||||||
|
bne movsb4
|
||||||
|
ret
|
||||||
|
movsw2:
|
||||||
|
ldrh tmp,[esi],#2
|
||||||
|
ldrh r12,[esi],#2
|
||||||
|
subs ecx,ecx,#1
|
||||||
|
orr tmp,tmp,r12,lsl #16
|
||||||
|
str tmp,[edi],#4
|
||||||
|
bne movsw2
|
||||||
|
ret
|
||||||
|
|
||||||
|
/*__XTHEENDX__*/
|
||||||
|
/*
|
||||||
|
vi:ts=8:et:nowrap
|
||||||
|
*/
|
||||||
2
src/stub/src/armel-eabi-linux.shlib-init.S
Normal file
2
src/stub/src/armel-eabi-linux.shlib-init.S
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
#define ARMEL_EABI4 1
|
||||||
|
#include "arm-linux.shlib-init.S"
|
||||||
271
src/stub/tmp/arm-linux.shlib-init.bin.dump
Normal file
271
src/stub/tmp/arm-linux.shlib-init.bin.dump
Normal file
|
|
@ -0,0 +1,271 @@
|
||||||
|
file format elf32-littlearm
|
||||||
|
|
||||||
|
Sections:
|
||||||
|
Idx Name Size VMA LMA File off Algn Flags
|
||||||
|
0 ELFMAINX 00000010 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
1 NRV_HEAD 00000000 00000000 00000000 00000044 2**0 CONTENTS, READONLY
|
||||||
|
2 NRV_TAIL 00000000 00000000 00000000 00000044 2**0 CONTENTS, READONLY
|
||||||
|
3 NRV2E 0000012c 00000000 00000000 00000044 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
4 NRV2D 00000118 00000000 00000000 00000170 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
5 NRV2B 000000dc 00000000 00000000 00000288 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
6 LZMA_ELF00 000000a8 00000000 00000000 00000364 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
7 LZMA_DEC20 00000938 00000000 00000000 0000040c 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
8 LZMA_DEC10 00000478 00000000 00000000 00000d44 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
9 LZMA_DEC30 00000000 00000000 00000000 000011bc 2**0 CONTENTS, READONLY
|
||||||
|
10 ELFMAINY 00000036 00000000 00000000 000011bc 2**0 CONTENTS, READONLY
|
||||||
|
11 ELFMAINZ 000002e4 00000000 00000000 000011f2 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
SYMBOL TABLE:
|
||||||
|
00000000 l d NRV2E 00000000 NRV2E
|
||||||
|
00000000 l d NRV2D 00000000 NRV2D
|
||||||
|
00000000 l d NRV2B 00000000 NRV2B
|
||||||
|
00000000 l d LZMA_ELF00 00000000 LZMA_ELF00
|
||||||
|
00000000 l d LZMA_DEC20 00000000 LZMA_DEC20
|
||||||
|
00000000 l d LZMA_DEC10 00000000 LZMA_DEC10
|
||||||
|
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
|
||||||
|
00000000 l d ELFMAINZ 00000000 ELFMAINZ
|
||||||
|
00000000 l d ELFMAINX 00000000 ELFMAINX
|
||||||
|
00000000 l d NRV_HEAD 00000000 NRV_HEAD
|
||||||
|
00000000 l d NRV_TAIL 00000000 NRV_TAIL
|
||||||
|
00000000 l d ELFMAINY 00000000 ELFMAINY
|
||||||
|
00000000 g ELFMAINX 00000000 _start
|
||||||
|
00000000 g F NRV2E 0000012c ucl_nrv2e_decompress_8
|
||||||
|
00000000 g F NRV2D 00000118 ucl_nrv2d_decompress_8
|
||||||
|
00000000 g F NRV2B 000000dc ucl_nrv2b_decompress_8
|
||||||
|
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||||
|
00000000 g ELFMAINY 00000000 end_decompress
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
0000000c R_ARM_PC24 ELFMAINZ
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [NRV2E]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000010 R_ARM_PC24 NRV2E
|
||||||
|
0000005c R_ARM_PC24 NRV2E
|
||||||
|
00000060 R_ARM_PC24 NRV2E
|
||||||
|
00000068 R_ARM_PC24 NRV2E
|
||||||
|
00000074 R_ARM_PC24 NRV2E
|
||||||
|
00000080 R_ARM_PC24 NRV2E
|
||||||
|
0000008c R_ARM_PC24 NRV2E
|
||||||
|
00000090 R_ARM_PC24 NRV2E
|
||||||
|
0000009c R_ARM_PC24 NRV2E
|
||||||
|
000000ac R_ARM_PC24 NRV2E
|
||||||
|
000000b4 R_ARM_PC24 NRV2E
|
||||||
|
000000b8 R_ARM_PC24 NRV2E
|
||||||
|
000000c0 R_ARM_PC24 NRV2E
|
||||||
|
000000c4 R_ARM_PC24 NRV2E
|
||||||
|
000000d0 R_ARM_PC24 NRV2E
|
||||||
|
000000d4 R_ARM_PC24 NRV2E
|
||||||
|
000000dc R_ARM_PC24 NRV2E
|
||||||
|
000000e8 R_ARM_PC24 NRV2E
|
||||||
|
000000ec R_ARM_PC24 NRV2E
|
||||||
|
000000f4 R_ARM_PC24 NRV2E
|
||||||
|
000000fc R_ARM_PC24 NRV2E
|
||||||
|
00000124 R_ARM_PC24 NRV2E
|
||||||
|
00000128 R_ARM_PC24 NRV2E
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [NRV2D]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000010 R_ARM_PC24 NRV2D
|
||||||
|
0000005c R_ARM_PC24 NRV2D
|
||||||
|
00000060 R_ARM_PC24 NRV2D
|
||||||
|
00000068 R_ARM_PC24 NRV2D
|
||||||
|
00000074 R_ARM_PC24 NRV2D
|
||||||
|
00000080 R_ARM_PC24 NRV2D
|
||||||
|
0000008c R_ARM_PC24 NRV2D
|
||||||
|
00000090 R_ARM_PC24 NRV2D
|
||||||
|
0000009c R_ARM_PC24 NRV2D
|
||||||
|
000000ac R_ARM_PC24 NRV2D
|
||||||
|
000000b4 R_ARM_PC24 NRV2D
|
||||||
|
000000bc R_ARM_PC24 NRV2D
|
||||||
|
000000c8 R_ARM_PC24 NRV2D
|
||||||
|
000000d0 R_ARM_PC24 NRV2D
|
||||||
|
000000dc R_ARM_PC24 NRV2D
|
||||||
|
000000e8 R_ARM_PC24 NRV2D
|
||||||
|
000000ec R_ARM_PC24 NRV2D
|
||||||
|
00000110 R_ARM_PC24 NRV2D
|
||||||
|
00000114 R_ARM_PC24 NRV2D
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [NRV2B]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000010 R_ARM_PC24 NRV2B
|
||||||
|
00000060 R_ARM_PC24 NRV2B
|
||||||
|
00000068 R_ARM_PC24 NRV2B
|
||||||
|
0000006c R_ARM_PC24 NRV2B
|
||||||
|
0000007c R_ARM_PC24 NRV2B
|
||||||
|
00000080 R_ARM_PC24 NRV2B
|
||||||
|
00000084 R_ARM_PC24 NRV2B
|
||||||
|
00000090 R_ARM_PC24 NRV2B
|
||||||
|
000000a0 R_ARM_PC24 NRV2B
|
||||||
|
000000a4 R_ARM_PC24 NRV2B
|
||||||
|
000000ac R_ARM_PC24 NRV2B
|
||||||
|
000000b4 R_ARM_PC24 NRV2B
|
||||||
|
000000b8 R_ARM_PC24 NRV2B
|
||||||
|
000000d4 R_ARM_PC24 NRV2B
|
||||||
|
000000d8 R_ARM_PC24 NRV2B
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [LZMA_ELF00]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000008 R_ARM_PC24 LZMA_DEC30
|
||||||
|
0000004c R_ARM_PC24 LZMA_ELF00
|
||||||
|
00000080 R_ARM_PC24 LZMA_ELF00
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [LZMA_DEC20]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000074 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000090 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000000b8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000000cc R_ARM_PC24 LZMA_DEC20
|
||||||
|
000000f4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000100 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000108 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000144 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000190 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000001cc R_ARM_PC24 LZMA_DEC20
|
||||||
|
000001d8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000204 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000218 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000220 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000234 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000023c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000240 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000024c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000258 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000002a4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000002c8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000002e8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000304 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000030c R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000033c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000388 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003a0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003a8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003cc R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003e0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003e8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000424 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000438 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000046c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000484 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000048c R_ARM_PC24 LZMA_DEC20
|
||||||
|
000004b0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000004d4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000004ec R_ARM_PC24 LZMA_DEC20
|
||||||
|
000004f4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000518 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000053c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000598 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000005a0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000005c0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000005e4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000005fc R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000604 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000624 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000648 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000680 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000068c R_ARM_PC24 LZMA_DEC20
|
||||||
|
000006d0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000006ec R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000071c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000728 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000076c R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000077c R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000079c R_ARM_PC24 LZMA_DEC20
|
||||||
|
000007b8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000007c4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000007d0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000007f4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000820 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000082c R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000087c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000888 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000008a0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000008e8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000008f4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000008fc R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000904 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000928 R_ARM_PC24 LZMA_DEC20
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [LZMA_DEC10]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000078 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000080 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000088 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000000a8 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000000ac R_ARM_PC24 LZMA_DEC10
|
||||||
|
000000e4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000100 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000010c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000114 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000118 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000120 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000128 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000144 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000014c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000150 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000180 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000188 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000018c R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000019c R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001a0 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001c0 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001cc R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001d4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001dc R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001e4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001ec R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000228 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000022c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000244 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000024c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000250 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000268 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000284 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000028c R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002a4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002c8 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002d0 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002dc R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002f4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000030c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000314 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000032c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000350 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000358 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000370 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000378 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000039c R_ARM_PC24 LZMA_DEC10
|
||||||
|
000003b0 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000003b8 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000003c8 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000003cc R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000400 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000418 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000440 R_ARM_PC24 LZMA_DEC10
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000048 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000070 R_ARM_PC24 ELFMAINZ
|
||||||
|
0000009c R_ARM_PC24 ELFMAINZ
|
||||||
|
000000b8 R_ARM_PC24 ELFMAINZ
|
||||||
|
000000dc R_ARM_PC24 ELFMAINZ
|
||||||
|
000000e4 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000110 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000118 R_ARM_PC24 ELFMAINZ
|
||||||
|
0000011c R_ARM_PC24 ELFMAINZ
|
||||||
|
0000013c R_ARM_PC24 ELFMAINZ
|
||||||
|
00000150 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000168 R_ARM_PC24 ELFMAINZ
|
||||||
|
000001b4 R_ARM_PC24 ELFMAINZ
|
||||||
|
000001c4 R_ARM_PC24 ELFMAINZ
|
||||||
|
000001e8 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000200 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000210 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000220 R_ARM_PC24 ELFMAINZ
|
||||||
|
0000022c R_ARM_PC24 ELFMAINZ
|
||||||
|
00000238 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000290 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000298 R_ARM_PC24 ELFMAINZ
|
||||||
|
000002c0 R_ARM_PC24 ELFMAINZ
|
||||||
|
000002dc R_ARM_PC24 ELFMAINZ
|
||||||
271
src/stub/tmp/armel-eabi-linux.shlib-init.bin.dump
Normal file
271
src/stub/tmp/armel-eabi-linux.shlib-init.bin.dump
Normal file
|
|
@ -0,0 +1,271 @@
|
||||||
|
file format elf32-littlearm
|
||||||
|
|
||||||
|
Sections:
|
||||||
|
Idx Name Size VMA LMA File off Algn Flags
|
||||||
|
0 ELFMAINX 00000010 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
1 NRV_HEAD 00000000 00000000 00000000 00000044 2**0 CONTENTS, READONLY
|
||||||
|
2 NRV_TAIL 00000000 00000000 00000000 00000044 2**0 CONTENTS, READONLY
|
||||||
|
3 NRV2E 0000013c 00000000 00000000 00000044 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
4 NRV2D 00000128 00000000 00000000 00000180 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
5 NRV2B 000000ec 00000000 00000000 000002a8 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
6 LZMA_ELF00 000000b8 00000000 00000000 00000394 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
7 LZMA_DEC20 00000938 00000000 00000000 0000044c 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
8 LZMA_DEC10 00000478 00000000 00000000 00000d84 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
9 LZMA_DEC30 00000000 00000000 00000000 000011fc 2**0 CONTENTS, READONLY
|
||||||
|
10 ELFMAINY 0000003e 00000000 00000000 000011fc 2**0 CONTENTS, READONLY
|
||||||
|
11 ELFMAINZ 00000328 00000000 00000000 0000123a 2**0 CONTENTS, RELOC, READONLY
|
||||||
|
SYMBOL TABLE:
|
||||||
|
00000000 l d NRV2E 00000000 NRV2E
|
||||||
|
00000000 l d NRV2D 00000000 NRV2D
|
||||||
|
00000000 l d NRV2B 00000000 NRV2B
|
||||||
|
00000000 l d LZMA_ELF00 00000000 LZMA_ELF00
|
||||||
|
00000000 l d LZMA_DEC20 00000000 LZMA_DEC20
|
||||||
|
00000000 l d LZMA_DEC10 00000000 LZMA_DEC10
|
||||||
|
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
|
||||||
|
00000000 l d ELFMAINZ 00000000 ELFMAINZ
|
||||||
|
00000000 l d ELFMAINX 00000000 ELFMAINX
|
||||||
|
00000000 l d NRV_HEAD 00000000 NRV_HEAD
|
||||||
|
00000000 l d NRV_TAIL 00000000 NRV_TAIL
|
||||||
|
00000000 l d ELFMAINY 00000000 ELFMAINY
|
||||||
|
00000000 g ELFMAINX 00000000 _start
|
||||||
|
00000000 g F NRV2E 0000013c ucl_nrv2e_decompress_8
|
||||||
|
00000000 g F NRV2D 00000128 ucl_nrv2d_decompress_8
|
||||||
|
00000000 g F NRV2B 000000ec ucl_nrv2b_decompress_8
|
||||||
|
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||||
|
00000000 g ELFMAINY 00000000 end_decompress
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
0000000c R_ARM_PC24 ELFMAINZ
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [NRV2E]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000010 R_ARM_PC24 NRV2E
|
||||||
|
0000006c R_ARM_PC24 NRV2E
|
||||||
|
00000070 R_ARM_PC24 NRV2E
|
||||||
|
00000078 R_ARM_PC24 NRV2E
|
||||||
|
00000084 R_ARM_PC24 NRV2E
|
||||||
|
00000090 R_ARM_PC24 NRV2E
|
||||||
|
0000009c R_ARM_PC24 NRV2E
|
||||||
|
000000a0 R_ARM_PC24 NRV2E
|
||||||
|
000000ac R_ARM_PC24 NRV2E
|
||||||
|
000000bc R_ARM_PC24 NRV2E
|
||||||
|
000000c4 R_ARM_PC24 NRV2E
|
||||||
|
000000c8 R_ARM_PC24 NRV2E
|
||||||
|
000000d0 R_ARM_PC24 NRV2E
|
||||||
|
000000d4 R_ARM_PC24 NRV2E
|
||||||
|
000000e0 R_ARM_PC24 NRV2E
|
||||||
|
000000e4 R_ARM_PC24 NRV2E
|
||||||
|
000000ec R_ARM_PC24 NRV2E
|
||||||
|
000000f8 R_ARM_PC24 NRV2E
|
||||||
|
000000fc R_ARM_PC24 NRV2E
|
||||||
|
00000104 R_ARM_PC24 NRV2E
|
||||||
|
0000010c R_ARM_PC24 NRV2E
|
||||||
|
00000134 R_ARM_PC24 NRV2E
|
||||||
|
00000138 R_ARM_PC24 NRV2E
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [NRV2D]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000010 R_ARM_PC24 NRV2D
|
||||||
|
0000006c R_ARM_PC24 NRV2D
|
||||||
|
00000070 R_ARM_PC24 NRV2D
|
||||||
|
00000078 R_ARM_PC24 NRV2D
|
||||||
|
00000084 R_ARM_PC24 NRV2D
|
||||||
|
00000090 R_ARM_PC24 NRV2D
|
||||||
|
0000009c R_ARM_PC24 NRV2D
|
||||||
|
000000a0 R_ARM_PC24 NRV2D
|
||||||
|
000000ac R_ARM_PC24 NRV2D
|
||||||
|
000000bc R_ARM_PC24 NRV2D
|
||||||
|
000000c4 R_ARM_PC24 NRV2D
|
||||||
|
000000cc R_ARM_PC24 NRV2D
|
||||||
|
000000d8 R_ARM_PC24 NRV2D
|
||||||
|
000000e0 R_ARM_PC24 NRV2D
|
||||||
|
000000ec R_ARM_PC24 NRV2D
|
||||||
|
000000f8 R_ARM_PC24 NRV2D
|
||||||
|
000000fc R_ARM_PC24 NRV2D
|
||||||
|
00000120 R_ARM_PC24 NRV2D
|
||||||
|
00000124 R_ARM_PC24 NRV2D
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [NRV2B]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000010 R_ARM_PC24 NRV2B
|
||||||
|
00000070 R_ARM_PC24 NRV2B
|
||||||
|
00000078 R_ARM_PC24 NRV2B
|
||||||
|
0000007c R_ARM_PC24 NRV2B
|
||||||
|
0000008c R_ARM_PC24 NRV2B
|
||||||
|
00000090 R_ARM_PC24 NRV2B
|
||||||
|
00000094 R_ARM_PC24 NRV2B
|
||||||
|
000000a0 R_ARM_PC24 NRV2B
|
||||||
|
000000b0 R_ARM_PC24 NRV2B
|
||||||
|
000000b4 R_ARM_PC24 NRV2B
|
||||||
|
000000bc R_ARM_PC24 NRV2B
|
||||||
|
000000c4 R_ARM_PC24 NRV2B
|
||||||
|
000000c8 R_ARM_PC24 NRV2B
|
||||||
|
000000e4 R_ARM_PC24 NRV2B
|
||||||
|
000000e8 R_ARM_PC24 NRV2B
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [LZMA_ELF00]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000008 R_ARM_PC24 LZMA_DEC30
|
||||||
|
0000004c R_ARM_PC24 LZMA_ELF00
|
||||||
|
00000080 R_ARM_PC24 LZMA_ELF00
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [LZMA_DEC20]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000074 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000090 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000000b8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000000cc R_ARM_PC24 LZMA_DEC20
|
||||||
|
000000f4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000100 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000108 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000144 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000190 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000001cc R_ARM_PC24 LZMA_DEC20
|
||||||
|
000001d8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000204 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000218 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000220 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000234 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000023c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000240 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000024c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000258 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000002a4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000002c8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000002e8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000304 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000030c R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000033c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000388 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003a0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003a8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003cc R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003e0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000003e8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000424 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000438 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000046c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000484 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000048c R_ARM_PC24 LZMA_DEC20
|
||||||
|
000004b0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000004d4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000004ec R_ARM_PC24 LZMA_DEC20
|
||||||
|
000004f4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000518 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000053c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000598 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000005a0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000005c0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000005e4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000005fc R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000604 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000624 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000648 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000680 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000068c R_ARM_PC24 LZMA_DEC20
|
||||||
|
000006d0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000006ec R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000071c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000728 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000076c R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000077c R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000079c R_ARM_PC24 LZMA_DEC20
|
||||||
|
000007b8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000007c4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000007d0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000007f4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000820 R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000082c R_ARM_PC24 LZMA_DEC20
|
||||||
|
0000087c R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000888 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000008a0 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000008e8 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000008f4 R_ARM_PC24 LZMA_DEC20
|
||||||
|
000008fc R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000904 R_ARM_PC24 LZMA_DEC20
|
||||||
|
00000928 R_ARM_PC24 LZMA_DEC20
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [LZMA_DEC10]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000078 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000080 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000088 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000000a8 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000000ac R_ARM_PC24 LZMA_DEC10
|
||||||
|
000000e4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000100 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000010c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000114 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000118 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000120 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000128 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000144 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000014c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000150 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000180 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000188 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000018c R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000019c R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001a0 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001c0 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001cc R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001d4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001dc R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001e4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000001ec R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000228 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000022c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000244 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000024c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000250 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000268 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000284 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000028c R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002a4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002c8 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002d0 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002dc R_ARM_PC24 LZMA_DEC10
|
||||||
|
000002f4 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000030c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000314 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000032c R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000350 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000358 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000370 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000378 R_ARM_PC24 LZMA_DEC10
|
||||||
|
0000039c R_ARM_PC24 LZMA_DEC10
|
||||||
|
000003b0 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000003b8 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000003c8 R_ARM_PC24 LZMA_DEC10
|
||||||
|
000003cc R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000400 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000418 R_ARM_PC24 LZMA_DEC10
|
||||||
|
00000440 R_ARM_PC24 LZMA_DEC10
|
||||||
|
|
||||||
|
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||||
|
OFFSET TYPE VALUE
|
||||||
|
00000048 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000070 R_ARM_PC24 ELFMAINZ
|
||||||
|
0000009c R_ARM_PC24 ELFMAINZ
|
||||||
|
000000b8 R_ARM_PC24 ELFMAINZ
|
||||||
|
000000dc R_ARM_PC24 ELFMAINZ
|
||||||
|
000000e4 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000110 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000118 R_ARM_PC24 ELFMAINZ
|
||||||
|
0000011c R_ARM_PC24 ELFMAINZ
|
||||||
|
00000148 R_ARM_PC24 ELFMAINZ
|
||||||
|
0000015c R_ARM_PC24 ELFMAINZ
|
||||||
|
00000174 R_ARM_PC24 ELFMAINZ
|
||||||
|
000001dc R_ARM_PC24 ELFMAINZ
|
||||||
|
000001ec R_ARM_PC24 ELFMAINZ
|
||||||
|
0000021c R_ARM_PC24 ELFMAINZ
|
||||||
|
00000234 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000244 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000254 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000260 R_ARM_PC24 ELFMAINZ
|
||||||
|
0000026c R_ARM_PC24 ELFMAINZ
|
||||||
|
000002d4 R_ARM_PC24 ELFMAINZ
|
||||||
|
000002dc R_ARM_PC24 ELFMAINZ
|
||||||
|
00000304 R_ARM_PC24 ELFMAINZ
|
||||||
|
00000320 R_ARM_PC24 ELFMAINZ
|
||||||
Loading…
Reference in New Issue
Block a user