On 02/08/2016 02:59 PM, David Edelsohn wrote: > Runtime linking is disabled by default on AIX, and I disabled it for > libstdc++.
For large applications mainly developed on/for Linux I do prefer/need runtime linking even on AIX. Still I do believe there is no AIX-based reason to leave runtime linking disabled, but build-/linktime issues instead that cause things to fail with runtime linking enabled. > There are two remaining issues: > > 1) FDEs with overlapping ranges causing problems with exceptions. I'm > not sure of the best way to work around this. Your patch is one > possible solution. This patch is not meant as a final solution, but to improve current situation with broken build systems exporting even _GLOBAL__ symbols. I'm about to prepare another libtool patch to fix that one. > 2) AIX linker garbage collection conflicting with scanning for > symbols. collect2 scanning needs to better emulate SVR4 linker > semantics for object files and archives. Probably collect2 should filter the symbol list originating in either an explicit -bexport:file or the -bexpall/-bexpfull flags and pass the resulting symbol list as explicit -bexport:file only to the AIX linker? /haubi/ > > Thanks, David > > > On Mon, Feb 8, 2016 at 7:14 AM, Michael Haubenwallner > <michael.haubenwall...@ssi-schaefer.com> wrote: >> Hi David, >> >> still experiencing exception-not-caught problems with gcc-4.2.4 on AIX >> leads me to some patch proposed in http://gcc.gnu.org/PR13878 back in >> 2004 already, ought to be fixed by some different commit since 3.4.0. >> >> As long as build systems (even libtool right now) on AIX do export these >> _GLOBAL__* symbols from shared libraries, overlapping frame-base address >> ranges may become registered, even if newer gcc (seen with 4.8) does name >> the FDE symbols more complex to reduce these chances. >> >> But still, just think of linking some static library into multiple shared >> libraries and/or the main executable. Or sometimes there is just need for >> some hackery to override a shared object's implementation detail and rely >> on runtime linking to do the override at runtime. >> >> Agreed both is "wrong" to some degree, but the larger an application is, >> the higher is the chance for this to happen. >> >> Thoughts? >> >> Thanks! >> /haubi/