7491 Commits
Author SHA1 Message Date
retrocpugeekandClaude Opus 4.8 a4ca725e4e Align legacy getdents records too
Extend the record alignment to the legacy getdents path. The kernel rounds
both getdents and getdents64 records up to the alignment of their leading
d_ino (ALIGN(reclen, sizeof(long))); without it a strict-alignment guest
(MIPS) faults walking the buffer, e.g. older glibc busybox 'ls' (which uses
the legacy getdents syscall) crashes on directory listings.

Legacy linux_dirent stores d_type in the record's last byte (offset
d_reclen-1), so the alignment padding goes between d_name and d_type to keep
d_type there -- padding without relocating d_type is what got the earlier
blanket attempt (PR #1419) reverted. getdents64 (d_type before d_name) is
unchanged.

Add test_linux_getdents_alignment: walks legacy getdents records on a
big-endian MIPS guest and asserts each is aligned, tiles the buffer, and
keeps d_type (DT_DIR for '.'/'..'). Runs on stock unicorn.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-25 21:55:21 +10:00
retrocpugeekandClaude Opus 4.8 f5c0afab58 Implement the clone3 syscall
Modern glibc (recent toolchains) issues clone3 from pthread_create rather
than clone, so thread creation fails on any guest built against it: Qiling
does not return -ENOSYS for unimplemented syscalls (it logs a warning and
leaves the return register untouched), so glibc's clone3->clone fallback
never fires.

Add ql_syscall_clone3, which unpacks struct clone_args and delegates to the
existing clone() handler. Translations: child_stack = stack + stack_size
(clone3 passes the stack base plus a size; legacy clone wants the highest
address), exit_signal folded into the flags' CSIGNAL byte, and an x8664
pre-swap that cancels ql_syscall_clone's arch-specific newtls<->child_tidptr
swap.

Add a self-contained regression test (test_clone3_translates_to_clone) that
drives ql_syscall_clone3 directly and asserts the translation for both the
generic path and the x8664 swap. Runs on stock unicorn; no clone3 binary
needed.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-25 20:22:02 +10:00
Mikk Margus Möll ed25f7319f implement FlsGetValue2 2026-06-25 09:38:07 +03:00
retrocpugeekandClaude Opus 4.8 0e48da4be8 Add regression test for getdents64 record alignment
Calls ql_syscall_getdents64 on a directory and walks the returned
linux_dirent64 records, asserting every record (and thus its leading u64
d_ino) starts on an 8-byte boundary. Before the fix d_reclen was not
rounded up, so records were misaligned and a strict-alignment guest (e.g.
MIPS) faulted with an unaligned load. Self-contained; runs on stock unicorn.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-25 00:31:16 +10:00
retrocpugeekandClaude Opus 4.8 012726f272 Align getdents64 records to fix unaligned access on MIPS
getdents64 wrote linux_dirent64 records with d_reclen = header + name,
without rounding up to the alignment of the leading u64 d_ino. The next
record's d_ino then lands unaligned, and a strict-alignment guest (e.g.
MIPS/MIPS64) faults with UC_ERR_READ_UNALIGNED when walking the buffer.
x86 tolerates the unaligned load, which is why this was never caught.

Round d_reclen up to the d_ino alignment, matching the kernel. The rounding
is scoped to the getdents64 (is_64) branch only: getdents64 places d_type
before d_name so the trailing pad bytes are inert, whereas the legacy
getdents layout stores d_type at offset d_reclen-1 and would break if padded
the same way -- that is what got the earlier blanket fix (PR #1419) reverted.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-06-25 00:28:41 +10:00
xwings a42fb28579 Bump version to 1.4.11-dev and update classifiers 2026-04-28 16:02:08 +08:00
xwings da210f0757 Update pyproject.toml 1.4.10 2026-04-28 15:58:29 +08:00
xwings c33a59cc08 Merge pull request #1624 from qilingframework/dependabot/pip/setuptools-78.1.1
Bump setuptools from 75.3.0 to 78.1.1
2026-04-28 15:57:51 +08:00
dependabot[bot] f5d7a745a3 Bump setuptools from 75.3.0 to 78.1.1
Bumps [setuptools](https://github.com/pypa/setuptools) from 75.3.0 to 78.1.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v75.3.0...v78.1.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 78.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
2026-04-28 07:56:51 +00:00
xwings bd263898e5 Merge pull request #1623 from qilingframework/dev
Preparing 1.4.9
2026-04-28 15:54:29 +08:00
xwings 2eba2cdc32 Merge pull request #1622 from xwings/dev
update rootfs branch
2026-04-28 15:53:09 +08:00
xwings b6ced6fa21 update rootfs branch 2026-04-28 15:51:49 +08:00
xwings f77b4c5233 Merge pull request #1621 from xwings/dev
update rootfs branch
2026-04-28 15:07:52 +08:00
xwings d18027e7ef update rootfs branch 2026-04-28 15:06:26 +08:00
xwings 483916e0a8 Merge pull request #1620 from xwings/dev
Version 1.4.8
2026-04-28 15:04:24 +08:00
xwings ef898e68d7 Version 1.4.8 2026-04-28 15:03:09 +08:00
xwings f788e764aa Merge pull request #1618 from xwings/python-3.13
Fix MCU wait
2026-04-28 14:12:13 +08:00
xwings 3a8d37168d Fix MCU wait 2026-04-28 13:52:50 +08:00
xwings a6631f44be Merge pull request #1617 from xwings/python-3.13
Bump test to 3.11 and 3.13
2026-04-28 13:25:42 +08:00
xwings 22d109d882 Fix windows collector 2026-04-28 13:11:17 +08:00
xwings b9eafe85ac Merge branch 'dev' into python-3.13 2026-04-28 12:36:09 +08:00
xwings 47c8a92b1e Bump test to 3.11 and 3.13 2026-04-28 11:47:55 +08:00
xwings 7b73f59355 Merge pull request #1615 from xwings/docker-fix
fix docker python:3-slim and dropped --no-deps
2026-04-28 11:00:22 +08:00
xwings 0d17d14a15 fix docker python:3-slim and dropped --no-deps 2026-04-28 10:57:47 +08:00
xwings 8cb2a6b918 Merge pull request #1614 from xwings/docker-fix
fix docker python:3-slim
2026-04-28 10:05:58 +08:00
xwings 104830d52d fix docker python:3-slim 2026-04-28 09:31:39 +08:00
xwings b4d9238ddb Merge pull request #1613 from xwings/dev
ignore files
2026-04-28 09:25:52 +08:00
xwings 22947e0755 ignore files 2026-04-28 09:24:32 +08:00
xwings d87967e77d Merge pull request #1610 from xwings/dev
Add TODO.md, ARCHITECTURE.md. Update README.md. and add kernel proxy
2026-04-27 22:11:34 +08:00
xwings 486369d375 better New SYSCALL_EX IPC message, FD arg type and Forwarder closure 2026-04-27 21:52:49 +08:00
xwings cb875f8488 more qiling style. update logging and exception 2026-04-12 16:48:53 +08:00
xwings 2f16cccc5d Fix docker.yaml and sync 2026-04-12 16:19:42 +08:00
xwings b60d4026b8 Fix docker.yaml 2026-04-12 16:18:34 +08:00
xwings 5ed49e7dcb Merge branch 'qilingframework:dev' into dev 2026-04-11 23:04:43 +08:00
xwings dbc939b678 Merge pull request #1558 from libumem/dev
epoll support
2026-04-11 23:03:56 +08:00
xwings 30eba376fc Add TODO.md, ARCHITECTURE.md. Update README.md. and add kernel proxy 2026-04-11 22:48:18 +08:00
libumem 3675f557e9 Address @elicn feedback 2025-11-16 18:19:20 +00:00
libumem 4448d4c129 Remove stray PDB invocation 2025-11-15 01:57:40 +00:00
libumem a76b858332 Tentative fix for epoll server test case 2025-11-14 04:39:15 +00:00
libumem 2ecd1d924a Merge branch 'qilingframework:dev' into dev 2025-11-12 20:23:27 -05:00
xwings fe462b8313 Merge pull request #1600 from 0xMirasio/master
PPC debugger XML support
2025-11-06 05:15:48 +08:00
xwings 83c6fb9c12 Merge pull request #1596 from elicn/mmio-unmap-fix
MMIO unmap fix
2025-11-06 05:14:34 +08:00
0xMirasio 08650becba remove hashable drcov bb_entries 2025-11-05 11:23:56 +01:00
0xMirasio 4810ad7cfb ppc xml fix 2025-11-04 16:23:35 +01:00
golem9247 8d52304ddd Merge remote-tracking branch 'origin/dev' 2025-11-04 15:06:52 +01:00
golem9247 29c552e05d add ppc xml basic target , add a no yield coverage 2025-11-04 14:57:00 +01:00
elicn b6f085c4d2 Minor bug fix in change_mapinfo 2025-10-31 15:28:34 +02:00
elicn 45d87c5b69 Consolidate mmio bookeeping with ram 2025-10-31 14:54:19 +02:00
xwings bbf8d7ab6e Merge pull request #1591 from juliangrtz/dev
Support IDA 9.x
2025-10-30 17:22:47 +08:00
xwings 81d643ffe6 Merge pull request #1590 from elicn/dev
Periodic maintenance PR
2025-10-30 17:22:15 +08:00