RFR: 8214976: Warn about uses of functions replaced for portability

Harold Seigel hseigel at openjdk.java.net
Tue Feb 1 14:13:52 UTC 2022


On Thu, 27 Jan 2022 19:18:10 GMT, Harold Seigel <hseigel at openjdk.org> wrote:

> Please review this new attempt to resolve JDK-8214976.  This fix adds Pragmas to generate compilation errors, when using gcc, if calling a native system function instead of the os:: version of the function.  The fix includes changes to calls in non-shared code because it is cleaner than adding PRAGMAs and, for some cases, the os:: version of a function has added value, such as asserts and RESTARTABLE.  This fix slightly changes the signature of os::abort() so it wouldn't conflict with native abort() functions.  Changes to Windows code is left for a future RFE.
> 
> This fix was tested with Mach5 tiers 1-2 on Linux, Mac OS, and Windows, Mach5 tiers 3-5 on Linux x64, and Mach5 builds of Zero, PPC, and s390.
> 
> Thanks, Harold

The second commit contains minor changes in response to review comments.  The changes include removing unneeded "os::" from os_*.cpp files, reverting all changes to os_aix.cpp, reverting changes to abort(), removing "#include <dirent.h>" and related funcations from compilerWarnings_gcc.hpp, and changing "::write()" to "os::write()" in ostream.cpp.

This update does not address bigger issues such as structure and placement concerns and whether or not to do this change at all.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7248


More information about the hotspot-dev mailing list