./trunk/gcclocal/vcs_diff_compiler.patch 2026-06-24-05:45
> uname -a Linux ServeurCuves 6.8.0-106-generic #106-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 6 07:58:08 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
diff --git a/compiler/arm/aasmcpu.pas b/compiler/arm/aasmcpu.pas
index 5a3e9c01fc..89c728bbd9 100644
--- a/compiler/arm/aasmcpu.pas
+++ b/compiler/arm/aasmcpu.pas
@@ -321,7 +321,7 @@ implementation
uses
itcpugas,aoptcpu,
- systems,symdef;
+ systems,symdef,cutils;
procedure taicpu.loadshifterop(opidx:longint;const so:tshifterop);
@@ -1159,6 +1159,9 @@ implementation
hp2.Next:=nil;
hp2.Previous:=nil;
listtoinsert.Concat(hp2);
+ if ((taicpu(curtai).oper[curop]^.ref^.base<>NR_NO) and not(is_pc(taicpu(curtai).oper[curop]^.ref^.base))) or
+ (taicpu(curtai).oper[curop]^.ref^.index<>NR_NO) then
+ list.insertafter(curtai,tai_comment.create(strpnew('internalerror(200309012')));
taicpu(curtai).oper[curop]^.ref^.symboldata:=hp;
taicpu(curtai).oper[curop]^.ref^.symbol:=l;
l.increfs;
diff --git a/compiler/arm/agarmgas.pas b/compiler/arm/agarmgas.pas
index a152371522..086140ccc3 100644
--- a/compiler/arm/agarmgas.pas
+++ b/compiler/arm/agarmgas.pas
@@ -213,8 +213,11 @@ TArmAppleGNUAssembler=class(TAppleGNUassembler)
if assigned(symbol) then
begin
if (base<>NR_NO) and not(is_pc(base)) then
- internalerror(200309011);
- s:=symbol.name;
+ s:='['+gas_regname(base)+']'
+ else
+ s:='';
+ // internalerror(200309011);
+ s:=s+symbol.name;
if offset<>0 then
s:=s+tostr_with_plus(offset);
if refaddr=addr_pic then