When building the libjli.so on MacOS with debuglevel=slowdebug, I get the following error:
Undefined symbols for architecture x86_64:
"_get_cpuid", referenced from:
_hyperthreading_support in ergo_i586.o
_logical_processors_per_package in ergo_i586.o
ld: symbol(s) not found for architecture x86_64
The reason for that is that in ergo_i586.c, the implementation for "get_cpuid()" is missing for the MacOS case (one is provided for solaris and linux).
This only leads to an error in slowdebug, because the function is only used from static functions which are not exported; when building with optimization (e.g. fastdebug), all these functions are thrown away by the compiler and therefore get_cpuid() is not needed.
Undefined symbols for architecture x86_64:
"_get_cpuid", referenced from:
_hyperthreading_support in ergo_i586.o
_logical_processors_per_package in ergo_i586.o
ld: symbol(s) not found for architecture x86_64
The reason for that is that in ergo_i586.c, the implementation for "get_cpuid()" is missing for the MacOS case (one is provided for solaris and linux).
This only leads to an error in slowdebug, because the function is only used from static functions which are not exported; when building with optimization (e.g. fastdebug), all these functions are thrown away by the compiler and therefore get_cpuid() is not needed.
- duplicates
-
JDK-8074840 Resolve disabled warnings for libjli and libjli_static
-
- Closed
-