[fpc-pascal] Corba ABI change ?

Tony Whyman tony.whyman at mccallumwhyman.com
Wed Feb 18 17:36:31 CET 2026


SYSTEM_HAS_FEATURE_MONITOR seems to be on by default - I never 
explicitly turned it on, so it probably is the default.

Turning SYSTEM_HAS_FEATURE_MONITOR off may be a good way to show that 
this is the problem and a short term workaround, but if you are 
providing source code that you expect to be widely used then you 
probably need to fix the issue with SYSTEM_HAS_FEATURE_MONITOR turned on.

On 18/02/2026 16:25, Adriaan van Os via fpc-pascal wrote:
> Tony Whyman via fpc-pascal wrote:
>>
>>
>> Supplementing my point below, I went back and checked my notes. The 
>> TObject layout post 3.2 (in my copy of trunk) is now
>>
>>        TObject = class
>>        {$IFDEF SYSTEM_HAS_FEATURE_MONITOR}
>>        strict private
>>           _MonitorData : Pointer;
>>        private
>>           function SetMonitorData(aData,aCheckOld : Pointer) : 
>> Pointer; inline;
>>           function GetMonitorData: Pointer; inline;
>>        {$ENDIF}
>>        protected
>>           function GetDisposed : Boolean; inline;
>>           Property Disposed : Boolean Read GetDisposed;
>>        public
>>
>> with everything before "public" having been added. The big change is 
>> the addition of "_MonitorData". This bumps the offset of all later 
>> fields up by sizeof(pointer). If you have code that makes assumptions 
>> about the object layout - and this very much applies to code that 
>> tries to import an object from C++ then your previous assumptions are 
>> invalid.
>
> Is SYSTEM_HAS_FEATURE_MONITOR defined by default in the build process 
> ? I assume, the compiler can be built without it ?
>
> Regards,
>
> Adriaan van Os 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20260218/5e19728b/attachment.htm>


More information about the fpc-pascal mailing list