On Mon, 18 Nov 2024 16:02:39 GMT, Matthias Baesken <mbaes...@openjdk.org> wrote:
>> When trying LTO (configure flag --enable-jvm-feature-link-time-opt=yes) on >> Linux x86_64, gcc 11.3.0, we run into a lot of warnings and finally into >> this error : >> >> .. tons of free and malloc related warnings ... >> >> >> inlined from 'pop_segment' at >> src/hotspot/share/utilities/stack.inline.hpp:188:9, >> inlined from 'pop' at src/hotspot/share/utilities/stack.inline.hpp:84:30, >> inlined from 'pop_overflow' at >> src/hotspot/share/gc/shared/taskqueue.inline.hpp:231:28, >> inlined from 'trim_queue_to_threshold' at >> src/hotspot/share/gc/g1/g1ParScanThreadState.cpp:328:37: >> src/hotspot/share/runtime/os.cpp:666:3: warning: call to 'malloc' declared >> with attribute warning: use os::malloc [-Wattribute-warning] >> src/hotspot/share/runtime/os.cpp:666:3: warning: call to 'malloc' declared >> with attribute warning: use os::malloc [-Wattribute-warning] >> In function 'malloc', >> inlined from 'malloc' at src/hotspot/share/runtime/os.cpp:637:0, >> inlined from 'AllocateHeap' at >> src/hotspot/share/memory/allocation.cpp:42:31, >> inlined from 'new_entry' at >> src/hotspot/share/nmt/mallocSiteTable.cpp:181:25, >> inlined from 'lookup_or_add' at >> src/hotspot/share/nmt/mallocSiteTable.cpp:122:48, >> inlined from 'allocation_at' at >> src/hotspot/share/nmt/mallocSiteTable.hpp:151:37, >> inlined from 'record_malloc' at >> src/hotspot/share/nmt/mallocTracker.cpp:179:35, >> inlined from 'record_malloc' at >> src/hotspot/share/nmt/memTracker.hpp:81:42, >> inlined from 'realloc' at src/hotspot/share/runtime/os.cpp:746:58, >> inlined from 'ReallocateHeap' at >> src/hotspot/share/memory/allocation.cpp:59:32, >> inlined from 'grow' at src/hotspot/share/utilities/ostream.cpp:377:15, >> inlined from 'write' at src/hotspot/share/utilities/ostream.cpp:400:11, >> inlined from 'write' at src/hotspot/share/utilities/ostream.cpp:382:0, >> inlined from 'put' at src/hotspot/share/utilities/ostream.cpp:212:8, >> inlined from 'print_ascii_form' at >> src/hotspot/share/runtime/os.cpp:965:19, >> inlined from 'print_hex_location' at >> src/hotspot/share/runtime/os.cpp:1008:21, >> inlined from 'print_hex_dump' at >> src/hotspot/share/runtime/os.cpp:1050:23, >> inlined from 'print_hex_dump' at src/hotspot/share/runtime/os.hpp:869:19, >> inlined from 'print_block_on_error' at >> src/hotspot/share/nmt/mallocHeader.cpp:64:23, >> inlined from 'resolve_checked_impl' at >> src/hotspot/share/nmt/mallocHeader.inline.hpp:106:41, >> inlined from 'resolve_checked' at src... > > Matthias Baesken has updated the pull request incrementally with one > additional commit since the last revision: > > readjust macros.hpp I don't know if I count as a HotSpot developer, and admittedly I am still not very fond of these changes since they adversely affect the quality of the resulting assembly when LTO is active, but this gets a reluctant ok from me since without it LTO doesn't even work on Linux, and Kim doesn't seem very happy about disabling the attribute warning when LTO is on. I still think you should let @kimbarrett have the final say on whether this gets the go ahead or not. I hope we can work on removing this workaround as fast as possible ------------- Marked as reviewed by jwaters (Committer). PR Review: https://git.openjdk.org/jdk/pull/22069#pullrequestreview-2450672646