[Scummvm-cvs-logs] SF.net SVN: scummvm:[54847] scummvm/branches/branch-1-2-0/backends/platform /dc/plugin.x

marcus_c at users.sourceforge.net marcus_c at users.sourceforge.net
Thu Dec 9 22:59:07 CET 2010


Revision: 54847
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54847&view=rev
Author:   marcus_c
Date:     2010-12-09 21:59:06 +0000 (Thu, 09 Dec 2010)

Log Message:
-----------
DC: Workaround for bug 3096694 (DRASCULA.PLG not loading)

If a plugin has no statically allocated data at all, and no static
constructors/destructors, then __plugin_ctors et al will end up inside
a debug section, because the .ctors section and those following it
will be removed by ld for being empty.  This has the side effect of
those symbols being deleted completely when using strip -g to remove
debug info, causing loading of the plugin to fail.

This workaround just makes sure that the .bss section is never empty,
so that it will never be removed.  That way the symbols will be sure to end up in that section if all sections before are removed.

Modified Paths:
--------------
    scummvm/branches/branch-1-2-0/backends/platform/dc/plugin.x

Modified: scummvm/branches/branch-1-2-0/backends/platform/dc/plugin.x
===================================================================
--- scummvm/branches/branch-1-2-0/backends/platform/dc/plugin.x	2010-12-09 21:25:21 UTC (rev 54846)
+++ scummvm/branches/branch-1-2-0/backends/platform/dc/plugin.x	2010-12-09 21:59:06 UTC (rev 54847)
@@ -55,5 +55,6 @@
    *(.dynbss)
    *(.bss .bss.* .gnu.linkonce.b.*)
    *(COMMON)
+   . = . + 4;
   }
 }


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list