{"body":"● Path 1: constant flags (intercepted by pseudo)\n\n  1. io/bits/fcntl2.h:48 — __builtin_constant_p(__oflag) is true\n  2. io/bits/fcntl2.h:55 — calls __open_alias(__path, __oflag, __va_arg_pack())\n  3. io/bits/fcntl2.h:27-28 — __open_alias is __REDIRECT to open\n  4. → PLT call to open symbol → pseudo intercepts here\n\n  Path 2: non-constant flags (bypasses pseudo)\n\n  1. io/bits/fcntl2.h:48 — __builtin_constant_p(__oflag) is false\n  2. io/bits/fcntl2.h:59 — calls __open_2(__path, __oflag)\n  3. io/open_2.c:28 — calls __open(file, oflag)\n  4. sysdeps/unix/sysv/linux/open.c:47 — __open is weak_alias of __libc_open\n  5. sysdeps/unix/sysv/linux/open.c:43 — calls SYSCALL_CANCEL(openat, AT_FDCWD, file, oflag, mode)\n  6. sysdeps/unix/sysdep.h:251-252 — SYSCALL_CANCEL expands to __SYSCALL_CANCEL_CALL\n  7. sysdeps/unix/sysdep.h:111-112 — expands through INLINE_SYSCALL_CALL → __INLINE_SYSCALL_DISP\n  8. sysdeps/unix/sysdep.h:91-92 — __INLINE_SYSCALL4(openat, AT_FDCWD, file, oflag, mode)\n  9. sysdeps/unix/sysdep.h:42-48 — INLINE_SYSCALL(openat, 4, ...) → INTERNAL_SYSCALL(openat, 4, ...)\n  10. sysdeps/unix/sysv/linux/x86_64/sysdep.h:234-235 — internal_syscall4(SYS_openat, ...)\n  11. sysdeps/unix/sysv/linux/x86_64/sysdep.h ~line 282 — inline asm volatile (\"syscall\\n\\t\") → raw syscall, pseudo never sees it\n\n  Step 6 is slightly simplified — I showed the IS_IN(rtld) path at line 247 which goes straight to INLINE_SYSCALL_CALL. The non-rtld path at line 251 goes through the cancellation machinery first, but ultimately reaches the same\n  INLINE_SYSCALL → inline asm endpoint.","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/lbHA1Mxl","modified":1776805167,"id":"lbHA1Mxl","size":1621,"lines":23,"own_paste":false,"theme":"","date":1776805167}