Linker complains about weaklinked vm_kernel_page_size symbol on darwin x86_64 when building android crosscompiler
Original Reporter info from Mantis: Adriaan van Os
-
Reporter name: Adriaan van Os
Original Reporter info from Mantis: Adriaan van Os
- Reporter name: Adriaan van Os
Description:
rtl/darwin/sysmach.inc has
vm_kernel_page_size: vm_size_t; cvar; weakexternal; //__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0)
so vm_kernel_page_siz is marked weakexternal. I still get an error
Undefined symbols for architecture x86_64:
"_vm_kernel_page_size", referenced from:
_SYSTEM_$$_DARWIN_INIT_PAGE_SIZE in system.o
when building a cross-compiler for Android on OSX 10.8.5, using fpc-3.0.4 and the command
make clean crossall crossinstall OS_TARGET=android CPU_TARGET=arm INSTALL_PREFIX=/usr/local BINUTILSPREFIX=arm-linux-androideabi-
The build error disappears when I comment out the reference to vm_kernel_page_size in darwin_init_page_size
procedure darwin_init_page_size;
begin
{
if (@vm_kernel_page_size<>nil) and (vm_kernel_page_size>vm_page_size) then
darwin_page_size:=vm_kernel_page_size
else
}
darwin_page_size:=vm_page_size;
end;
Is this a bug ? Caused by @vm_kernel_page_size ?
Mantis conversion info:
- Mantis ID: 36653
- Build: trunk r44104
- Version: 3.3.1
- Fixed in version: 3.3.1
- Fixed in revision: 44396 (#c8307d40)