Defining a libgnat.so, libgnarl.so ABI

2010-02-24 Thread Rainer Orth
As the last of the shared GCC runtime libraries, libgnat.so and libgnarl.so lack symbol versioning support and a defined ABI. Currently, they use libgnat-4.5.so and libgnarl-4.5.so SONAMEs, what libtool calls release versioning. If the libgnat/libgnarl ABI is really that fluent that it changes fro

Re: Defining a libgnat.so, libgnarl.so ABI

2010-02-24 Thread Arnaud Charlet
> As the last of the shared GCC runtime libraries, libgnat.so and > libgnarl.so lack symbol versioning support and a defined ABI. > Currently, they use libgnat-4.5.so and libgnarl-4.5.so SONAMEs, what > libtool calls release versioning. If the libgnat/libgnarl ABI is really > that fluent that it c

Re: Defining a libgnat.so, libgnarl.so ABI

2010-02-24 Thread Florian Weimer
* Rainer Orth: > Since I barely know any Ada, or Ada mangling, Ada subprogram name mangling depends on the order of declarations in the source file. This order is also somewhat constrained by language rules. I think this means that defining a stable ABI is rather difficult.

Re: Defining a libgnat.so, libgnarl.so ABI

2010-02-24 Thread Arnaud Charlet
> > Since I barely know any Ada, or Ada mangling, > > Ada subprogram name mangling depends on the order of declarations in > the source file. This order is also somewhat constrained by language > rules. I think this means that defining a stable ABI is rather > difficult. Not sure what this part

Re: Defining a libgnat.so, libgnarl.so ABI

2010-02-25 Thread Paolo Bonzini
On 02/25/2010 08:51 AM, Arnaud Charlet wrote: The main "mangling" (in Ada parlance, we talk rather about "encoding") that is performed by GNAT is to handle packages ("namespace" in C++) and to differentiate overloaded functions (and there, a simple counter is all that is needed). One of the adv

Re: Defining a libgnat.so, libgnarl.so ABI

2010-02-25 Thread Arnaud Charlet
> One of the advantages of "mangling" overloaded functions C++-style, instead > of using a simple counter is that the latter makes it basically impossible > to define a stable ABI. It actually is not such a problem in Ada, where declarations are first class citizens with specific rules about pla

Re: Defining a libgnat.so, libgnarl.so ABI

2010-02-25 Thread Laurent GUERBY
On Wed, 2010-02-24 at 16:10 +0100, Rainer Orth wrote: > As the last of the shared GCC runtime libraries, libgnat.so and > libgnarl.so lack symbol versioning support and a defined ABI. > Currently, they use libgnat-4.5.so and libgnarl-4.5.so SONAMEs, what > libtool calls release versioning. If the