|
@@ -1148,7 +1148,9 @@ implementation
|
|
|
class function ttai_typedconstbuilder.get_string_symofs(typ: tstringtype; winlikewidestring: boolean): pint;
|
|
|
begin
|
|
|
{ darwin's linker does not support negative offsets }
|
|
|
- if not(target_info.system in systems_darwin) then
|
|
|
+ if not(target_info.system in systems_darwin) and
|
|
|
+ { it seems that clang's assembler has a bug with the ADRP instruction... }
|
|
|
+ (target_info.system<>system_aarch64_win64) then
|
|
|
result:=0
|
|
|
else
|
|
|
result:=get_string_header_size(typ,winlikewidestring);
|
|
@@ -1158,7 +1160,9 @@ implementation
|
|
|
class function ttai_typedconstbuilder.get_dynarray_symofs:pint;
|
|
|
begin
|
|
|
{ darwin's linker does not support negative offsets }
|
|
|
- if not (target_info.system in systems_darwin) then
|
|
|
+ if not (target_info.system in systems_darwin) and
|
|
|
+ { it seems that clang's assembler has a bug with the ADRP instruction... }
|
|
|
+ (target_info.system<>system_aarch64_win64) then
|
|
|
result:=0
|
|
|
else
|
|
|
result:=get_dynarray_header_size;
|