On Saturday 07 April 2012 13:23:39 Jonas Maebe wrote: > On 07 Apr 2012, at 13:15, Martin Schreiber wrote: > > Thanks, where can I get that "nm utility" for win32? > > Any distribution of the GNU binutils for win32 should include it. I don't > have Windows myself, but I suppose the mingw site would be a good place to > look for it. > Thanks. The normally 711KB MSEgui win32 minimal program is 694KB after strip with -OWall/-Owall. There is an EAbstractError at startup. Without symbolliveness it is 697KB, there is an EAbstractError too.
> > It is the MSEgui minimal program not the example. > > Then that looks like a bug in the optimization (unless you e.g. use pointer > hacks to directly read the addresses of virtual methods from the VMT, in > which case there is nothing the compiler can do about this). > AFAIK there is no direct VMT access in MSEgui. I assume gdb debugging with symbolinfo is not possible after whole program optimization? gdb shows: " (gdb) run Starting program: /home/mse/proj/msegui/testcase/mse/minimal/minimal [Thread debugging using libthread_db enabled] An unhandled exception occurred at $08075595 : EAbstractError : Abstract method called $08075595 line 1875 of main.pas $08070455 line 1875 of main.pas $0806FA7B line 1875 of main.pas $080F4389 TWIDGET__HASOVERLAPPINGSIBLINGS, line 8588 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/msegui.pas $08087711 LOADMODULE, line 1974 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/mseclasses.pas $080867EC DOLOAD, line 2499 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/mseclasses.pas $0808663E INITMSECOMPONENT, line 2521 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/mseclasses.pas $0808504A LOADMSEMODULE, line 2636 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/mseclasses.pas $080A15D0 TMSEDATAMODULE__CREATE, line 136 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/msedatamodules.pas $080A77F4 INIT, line 293 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/msestockobjects.pas $0807BC64 INIT, line 1661 of /home/mse/packs/standard/git/mseide-msegui/lib/common/graphics/msegraphics.pas $0805EC5F TGUIAPPLICATION__INTERNALINITIALIZE, line 16396 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/msegui.pas $08082AF1 TCUSTOMAPPLICATION__INITIALIZE, line 1615 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/mseapplication.pas $08081FD3 TCUSTOMAPPLICATION__CREATE, line 1046 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/mseapplication.pas $0804E23F TGUIAPPLICATION__CREATE, line 16387 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/msegui.pas $0804DF36 TINTERNALAPPLICATION__CREATE, line 14518 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/msegui.pas $0804DD25 APPLICATION, line 3423 of /home/mse/packs/standard/git/mseide-msegui/lib/common/kernel/msegui.pas " main.pas has 16 lines only, hasoverlappingsiblings is never called in minimal program. Martin _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel