On 07/26/2013 09:04 AM, David Malcolm wrote:
With the conversion of passes to C++ classes, plugins that add custom
passes must create them by creating their own derived classes of the
relevant subclass of opt_pass.  gcc itself is built with -fno-rtti,
hence there is no RTTI available for the opt_pass class hierarchy.

Hence plugins that create passes will need to be built with RTTI
disabled in order to link against gcc, or they will fail to load, with
an error like:
       cc1: error: cannot load plugin ./selfassign.so
       ./selfassign.so: undefined symbol: _ZTI8opt_pass
(aka "typeinfo for opt_pass").

gcc/testsuite

        * lib/plugin-support.exp (plugin-test-execute): Add -fno-rtti
        to optstr when building plugins.
Approved for the trunk.

jeff

Reply via email to