Bug 336183 [arm build] undefined reference _PrepareAndDispatch in xpcom_core

This is a GCC3.4 fix over a previous GCC fix it obsoletes the poorlly designed
patch which was written for bug 307418

moa=timeless
This commit is contained in:
timeless%mozdev.org 2006-11-27 07:48:46 +00:00
Родитель 5c0e7cfe21
Коммит a64042385b
1 изменённых файлов: 13 добавлений и 1 удалений

Просмотреть файл

@ -44,9 +44,21 @@
#error "This code is for Linux ARM only. Please check if it works for you, too.\nDepends strongly on gcc behaviour."
#endif
#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
/* This tells gcc3.4+ not to optimize away symbols.
* @see http://gcc.gnu.org/gcc-3.4/changes.html
*/
#define DONT_DROP_OR_WARN __attribute__(used)
#else
/* This tells older gccs not to warn about unused vairables.
* @see http://docs.freebsd.org/info/gcc/gcc.info.Variable_Attributes.html
*/
#define DONT_DROP_OR_WARN __attribute__(unused)
#endif
/* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */
static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch")
__attribute__((used));
DONT_DROP_OR_WARN;
static nsresult
PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args)