Skip to content

Commit 117cf7a

Browse files
authored
Merge pull request #1054 from xwings/dev
QNX cleanup before tag
2 parents b0bd49f + 16c3c4e commit 117cf7a

File tree

2 files changed

+2
-34
lines changed

2 files changed

+2
-34
lines changed

qiling/os/linux/utils.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,4 @@
33
# Cross Platform and Multi Architecture Advanced Binary Emulation Framework
44
#
55

6-
"""
7-
set_tls
8-
"""
9-
def ql_arm_init_get_tls(ql):
10-
ql.mem.map(0xFFFF0000, 0x1000, info="[arm_tls]")
11-
"""
12-
'adr r0, data; ldr r0, [r0]; mov pc, lr; data:.ascii "\x00\x00"'
13-
"""
14-
sc = b'\x04\x00\x8f\xe2\x00\x00\x90\xe5\x0e\xf0\xa0\xe1\x00\x00\x00\x00'
156

16-
# if ql.archendian == QL_ENDIAN.EB:
17-
# sc = swap_endianess(sc)
18-
19-
ql.mem.write(ql.arch.arm_get_tls_addr, sc)
20-
ql.log.debug("Set init_kernel_get_tls")
21-
22-
def swap_endianess(s: bytes, blksize=4) -> bytes:
23-
blocks = (s[i:i + blksize] for i in range(0, len(s), blksize))
24-
25-
return b''.join(bytes(reversed(b)) for b in blocks)

qiling/os/qnx/qnx.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,6 @@ def __init__(self, ql: Qiling):
4747
self.elf_mem_start = 0x0
4848
self.load()
4949

50-
cc: QlCC = {
51-
QL_ARCH.X86 : intel.cdecl,
52-
QL_ARCH.X8664 : intel.amd64,
53-
QL_ARCH.ARM : arm.aarch32,
54-
QL_ARCH.ARM64 : arm.aarch64,
55-
QL_ARCH.MIPS : mips.mipso32,
56-
QL_ARCH.RISCV : riscv.riscv,
57-
QL_ARCH.RISCV64: riscv.riscv,
58-
}[ql.archtype](ql)
59-
60-
self.fcall = QlFunctionCall(ql, cc)
61-
6250
# use counters to get free Ids
6351
self.channel_id = 1
6452
# TODO: replace 0x400 with NR_OPEN from Qiling 1.25
@@ -101,7 +89,7 @@ def run_function_after_load(self):
10189
f()
10290

10391

104-
def hook_sigtrap(self, intno= None, int = None):
92+
def hook_sigtrap(self, intno= None, int = None):
10593
self.ql.log.info("Trap Found")
10694
self.emu_error()
10795
exit(1)
@@ -118,10 +106,9 @@ def run(self):
118106
self.cpupage_tls_addr = int(self.ql.os.profile.get("OS32", "cpupage_tls_address"), 16)
119107
self.tls_data_addr = int(self.ql.os.profile.get("OS32", "tls_data_address"), 16)
120108
self.syspage_addr = int(self.ql.os.profile.get("OS32", "syspage_address"), 16)
121-
syspage_path = os.path.join(self.ql.rootfs, "syspage.bin")
109+
syspage_path = os.path.join(self.ql.rootfs, "syspage.bin")
122110

123111
self.ql.mem.map(self.syspage_addr, 0x4000, info="[syspage_mem]")
124-
125112

126113
with open(syspage_path, "rb") as sp:
127114
self.ql.mem.write(self.syspage_addr, sp.read())

0 commit comments

Comments
 (0)