|
@@ -195,10 +195,10 @@ implementation
|
|
|
|
|
|
|
|
|
const
|
|
|
- ait_const2str : array[aitconst_128bit..aitconst_darwin_dwarf_delta32] of string[20]=(
|
|
|
+ ait_const2str : array[aitconst_128bit..aitconst_half16bit] of string[20]=(
|
|
|
#9'.fixme128'#9,#9'.quad'#9,#9'.long'#9,#9'.short'#9,#9'.byte'#9,
|
|
|
#9'.sleb128'#9,#9'.uleb128'#9,
|
|
|
- #9'.rva'#9,#9'.secrel32'#9,#9'.quad'#9,#9'.long'#9
|
|
|
+ #9'.rva'#9,#9'.secrel32'#9,#9'.quad'#9,#9'.long'#9,#9'.short'#9
|
|
|
);
|
|
|
|
|
|
function ReplaceForbiddenChars(const s: string): string;
|
|
@@ -835,7 +835,8 @@ implementation
|
|
|
aitconst_rva_symbol,
|
|
|
aitconst_secrel32_symbol,
|
|
|
aitconst_darwin_dwarf_delta32,
|
|
|
- aitconst_darwin_dwarf_delta64:
|
|
|
+ aitconst_darwin_dwarf_delta64,
|
|
|
+ aitconst_half16bit:
|
|
|
begin
|
|
|
if (target_info.system in systems_darwin) and
|
|
|
(constdef in [aitconst_uleb128bit,aitconst_sleb128bit]) then
|
|
@@ -881,6 +882,9 @@ implementation
|
|
|
{ 64 bit constants are already handled above in this case }
|
|
|
s:=tostr(longint(tai_const(hp).value));
|
|
|
{$endif cpu64bitaddr}
|
|
|
+ if constdef = aitconst_half16bit then
|
|
|
+ s:='('+s+')/2';
|
|
|
+
|
|
|
AsmWrite(s);
|
|
|
inc(l,length(s));
|
|
|
{ Values with symbols are written on a single line to improve
|