RFR: 8214976: Warn about uses of functions replaced for portability [v2]

Harold Seigel hseigel at openjdk.java.net
Wed Jan 5 20:41:07 UTC 2022


> Please review this change for JDK-8214976.  This change adds attribute warnings to header file compilerWarnings.hpp so that compilation warnings get issued when certain system functions are called directly, instead of hotspot's os:: versions of the functions.  Many additional files were changed because of compilation warnings resulting from the compilerWarnings.hpp changes.
> 
> A sample warning is:
> 
> .../open/test/hotspot/gtest/logging/test_log.cpp:63:19: error: call to 'fopen' declared with attribute warning: use os::fopen [-Werror=attribute-warning]
>    63 |   FILE* fp = fopen(TestLogFileName, "r");
>       |              ~~~~~^~~~~~~~~~~~~~~~~~~~~~
> 
> 
> Note that changing src/hotspot/os/linux/gc/z/zMountPoint_linux.cpp to call os:: functions requires adding "#include "runtime/os.hpp" and caused test gc/z/TestAllocateHeapAt.java to fail.  So, for now, I just added PRAGMA_PERMIT_FORBIDDEN_C_FUNCTION to zMountPoint_linux.cpp.  There's a similar issue with gtest/logging/test_logDecorators.cpp.
> 
> Attribute warnings for additional functions, such as malloc(), were not included in this change because they require lots of source code changes.
> 
> This change was tested by running mach5 tiers 1-2 on Linux, Mac OS, and Windows, Mach5 tiers 3-5 on Linux x64.  Also, builds were done on Linux-zero, Linux-s390, and Linux-ppc.
> 
> Thanks, Harold

Harold Seigel has updated the pull request incrementally with one additional commit since the last revision:

  revert strdup() changes and address some of Kim's comments

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/6961/files
  - new: https://git.openjdk.java.net/jdk/pull/6961/files/12182a15..f7d8a387

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=6961&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=6961&range=00-01

  Stats: 44 lines in 9 files changed: 14 ins; 15 del; 15 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6961.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6961/head:pull/6961

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


More information about the hotspot-dev mailing list