[Bug c++/58678] [4.9 Regression] pykde4-4.11.2 link error (devirtualization too trigger happy)

trippels at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 5 16:48:00 GMT 2014


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58678

--- Comment #27 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to David Kredba from comment #26)
> Hello Markus,
> Could you kindly please write here how are you reducing this?
> 
> (So next time I can try to do it myself.)

Sure.
First thing is to find out which object files contains these
undefined symbols.
 cd /var/tmp/portage/kde-base/korganizer-4.12.3
 for f in **/*.o ; do echo $f && nm $f | c++filt | grep "KParts::Part::~Part()"
; done
This will point to kocore.o. Then lookup how kocore.o was compiled
in the build.log. Add --save-temps to the invocation. Write a check.sh script
for creduce, e.g. something like:

 % cat check.sh
#!/bin/sh
/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.3/g++ -Wall -Wextra -c -O2 -Werror
-Wfatal-errors -c test.ii -pipe
  if ! test $? = 0; then
    exit 1
  fi
nm test.o | grep _ZN6KParts4PartD0Ev 
  if test $? = 0; then
    exit 1
  fi
g++ -Wall -Wextra -c -O2 -Werror -Wfatal-errors test.ii -pipe
  if ! test $? = 0; then
    exit 1
  fi
nm test.o | grep _ZN6KParts4PartD0Ev 
  if ! test $? = 0; then
    exit 1
  fi

And finally run creduce.



More information about the Gcc-bugs mailing list