We fixed mixed jstack failure when the call stack has frame in vDSO like `gettimeofday()` in [JDK-8376269](https://bugs.openjdk.org/browse/JDK-8376269). But it has been backouted due to build error (see [JDK-8377365](https://bugs.openjdk.org/browse/JDK-8377365) for details).
JDK-8376269 uses `memfd_create` to copy vDSO from coredump to temporal memory, however it cannot be used on older glibc - some CI works on glibc 2.12, it does not have `memfd_create` unfortunately. Thus this PR proposes to use `tmpfile()` and `fileno()` to copy vDSO, as alternatives of `memfd_create()`. It works, and passed all serviceability/sa tests on Linux AMD64. Changes from JDK-8376269 is https://github.com/openjdk/jdk/commit/0c315303865efe60de54276bbcf2faf174fd1d9b . ------------- Commit messages: - Overwrite entire segment if the library is vDSO - Use tmpfile() and fileno() to copy vDSO - 8376269: Mixed jstack cannot find function in vDSO Changes: https://git.openjdk.org/jdk/pull/29610/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29610&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8377368 Stats: 242 lines in 5 files changed: 230 ins; 0 del; 12 mod Patch: https://git.openjdk.org/jdk/pull/29610.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/29610/head:pull/29610 PR: https://git.openjdk.org/jdk/pull/29610
