--- old/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp 2020-03-31 14:16:14.413357984 -0700 +++ new/src/hotspot/os_cpu/linux_x86/os_linux_x86.cpp 2020-03-31 14:16:13.853364847 -0700 @@ -98,13 +98,8 @@ void *esp; __asm__("mov %%" SPELL_REG_SP ", %0":"=r"(esp)); return (address) ((char*)esp + sizeof(long)*2); -#elif defined(__clang__) - void* esp; - __asm__ __volatile__ ("mov %%" SPELL_REG_SP ", %0":"=r"(esp):); - return (address) esp; #else - register void *esp __asm__ (SPELL_REG_SP); - return (address) esp; + return (address)__builtin_frame_address(0); #endif }