https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89096

--- Comment #10 from David Edelsohn <dje at gcc dot gnu.org> ---
Protobufs didn't used to work on AIX.  If it does, great.

CMake on AIX is broken.  AIX behaves differently for export of global symbols,
yes, but -bexpall -- exporting all symbols -- is completely wrong. Also, I
strongly doubt that Protobufs or the application requires runtime linking
(-brtl). And this likely is the reason that -bbigtoc is added because rtl is
pulling in all global functions for symbolic overriding which overflows the
TOC. This is layer upon layer of incompetence.

-bexpall likely is exporting symbols that should not be exported, causing
collisions and/or forcing symbols into the a conflicting section.

If one looks at libtool support for AIX (and GCC build), it explicitly builds
an export file from a shell pipeline that utilizes "nm".  It's not perfect, but
a lot better and safer than exporting everything and hoping that nothing bad
happens.  Guess what? Something bad happened.

Reply via email to