Fragile ABI

Jacob Carlborg doob at me.com
Sat Aug 18 03:20:17 PDT 2012


On Saturday, 18 August 2012 at 01:06:10 UTC, Michel Fortin wrote:

> In the original linked article (which I wrote) what was 
> proposed was to have the dynamic linker calculate offsets for 
> fields and vtable entries and insert those offsets directly in 
> the code (just like a linker does when it resolves symbols). 
> But for that you'd need a custom linker (both static and 
> dynamic), and probably a custom shared library format. So it's 
> a huge task, especially when you consider that it should run on 
> multiple platforms. But this same approach could make the C++ 
> ABI non-fragile too.

I'm having a hard time to see why a regular application couldn't 
do this, i.e. druntime. I'm mostly familiar with Mac OS X and 
seems pretty easy just to access the running executable and 
change what you want in it. That's what the dynamic linker is 
doing anyway. There's even a flag for object files indicating 
it's a dynamic linker (don't know if that is used any more). Sure 
it would probably break easily if the runtime of the OS changed 
(new version of the dynamic linker, something changing the object 
format).

--
/Jacob Carlborg




More information about the Digitalmars-d mailing list