﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
137	emxomf: Don't truncate symbols twice.	Yuri Dario	bird	"Very long c++ symbols, already hashed after .o generation, are re-hashed when a '''.a import library''' is converted to .lib. The new symbol has the same length of previous one, so this is not necessary, and triggers a bug, since import library has different names.

Fix: do not truncate if the symbol is already hashed:

{{{
Index: emxomf.c
===================================================================
--- emxomf.c	(revision 2893)
+++ emxomf.c	(working copy)
@@ -808,6 +808,7 @@
 static void put_nstr(const char *pszName, size_t cch)
 {
     if (    cch > SYMBOL_MAX_LENGTH
+        &&  !strstr(pszName + SYMBOL_MAX_LENGTH - SYMBOL_HASH_LENGTH, ""!_"")
         &&  !strstr(pszName + SYMBOL_MAX_LENGTH - SYMBOL_WEAK_LENGTH, ""$w$""))
     {
         /* Hash the symbol to help making it unique.

}}}

Maybe strncmp can be used to check exactly for the initial two bytes of hash."	defect	closed	normal	libc-0.6.2	emx	0.6.1	normal	fixed		
