diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2025-09-04 11:30:53 +0200 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2025-09-23 16:17:59 -0700 |
| commit | ee3b39c92454b0360a614bd017eb5e545ea61f4e (patch) | |
| tree | f385ae8962a5746d684c27a609d9ee293aac5ace /linux-user/gen-vdso.c | |
| parent | ab8008b231e758e03c87c1c483c03afdd9c02e19 (diff) | |
| download | focaccia-qemu-ee3b39c92454b0360a614bd017eb5e545ea61f4e.tar.gz focaccia-qemu-ee3b39c92454b0360a614bd017eb5e545ea61f4e.zip | |
linux-user: Create vdso_sigreturn_region_{start,end}
These variables will be populated from the vdso, and used for detecting whether we are executing the sigreturn. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'linux-user/gen-vdso.c')
| -rw-r--r-- | linux-user/gen-vdso.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/linux-user/gen-vdso.c b/linux-user/gen-vdso.c index aeaa927db8..d6a2cdaa83 100644 --- a/linux-user/gen-vdso.c +++ b/linux-user/gen-vdso.c @@ -36,6 +36,8 @@ static const char *rt_sigreturn_sym; static unsigned sigreturn_addr; static unsigned rt_sigreturn_addr; +static unsigned sigreturn_region_start_addr; +static unsigned sigreturn_region_end_addr; #define N 32 #define elfN(x) elf32_##x @@ -215,6 +217,10 @@ int main(int argc, char **argv) fprintf(outf, " .reloc_count = ARRAY_SIZE(%s_relocs),\n", prefix); fprintf(outf, " .sigreturn_ofs = 0x%x,\n", sigreturn_addr); fprintf(outf, " .rt_sigreturn_ofs = 0x%x,\n", rt_sigreturn_addr); + fprintf(outf, " .sigreturn_region_start_ofs = 0x%x,\n", + sigreturn_region_start_addr); + fprintf(outf, " .sigreturn_region_end_ofs = 0x%x,\n", + sigreturn_region_end_addr); fprintf(outf, "};\n"); ret = EXIT_SUCCESS; |