syscall.sh / riscv64 / dup3
dup3
duplicate a file descriptor
sys_dup3(unsigned int oldfd, unsigned int newfd, int flags)
| number | 24 (0x18) |
|---|---|
| abi | common |
| entry point | sys_dup3 |
| since | Linux 4.15 |
| man page | dup3(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
a7 | 24, the syscall number |
a0 | unsigned int oldfd |
a1 | unsigned int newfd |
a2 | int flags |
a0 | the return value |
Then run ecall to enter the kernel.
Same syscall on other architectures
- x64 292
- x86 330
- arm64 24
- arm 358
- x32 1073742116
- loongarch64 24
- ppc64 316
- ppc 316
- s390x 326
- mips64 5286
- mipsn32 6290
- mipso32 4327
- alpha 487
- arc 24
- csky 24
- hexagon 24
- m68k 326
- microblaze 342
- nios2 24
- openrisc 24
- parisc 312
- sh 330
- sparc 320
- sparc64 320
- xtensa 310
Get this as JSON: https://api.syscall.sh/v2/syscalls/riscv64/dup3